1st: Recruiter Interview: This is the typical first interview; the recruiter will ask about your experience and salary expectations. Also, the recruiter will explain about the hiring process and the position. If everything is OK, you will receive an email with a code assessment to solve.
Code assessment: It's a PDF with a basic problem description, several example cases, and basic business rules to implement. The critical point is writing high-quality code and making code easy to maintain and extend. This assessment will be your presentation card in the following interviews; use this problem to present all your expertise (architectural decisions, design decisions, clean code, unit testing, integration testing, build tools, good practices, standards, etc.). The assessment is not about your problem, but about "how" you're solving it. You will likely be discarded if you write messy code that only solves the problem.
2nd Tech Interview: This interview is live coding; you will be asked to extend your code assessment.
You will have two interviewers for the interview. The first part is for your presentation and your interviews (10 minutes)
During the interview, you must implement one or two changes in your solution. So, you will need to share your screen. You can use the IDE or editor that you want. Also, since this is a live coding session, you can ask for help with your interviewers. In my case, I asked how to add a "default value" with Newtonsoft, and my interviewer helped me find the solution. You can discuss your solution with your interviewers or not; it depends on you. Be open about your solution and the issues you are having. The same advice as the code assessment is not about what you're solving is about the how; even if the changes are as trivial as a counter variable, think of this change as production code.
Interviewers mentioned that you don't need to solve all the problems; focus on solving one problem at a time.
Finally, you will have 10 minutes to ask questions at the end of the interview. They're looking for people interested in working at Nu, so make your questions wisely reflect your interests.
3rd System Design interview. This is a typical system design interview. You will be asked to solve a problem in a whiteboard application. The format is the same as the second interview: two interviewers, a ten-minute presentation, solving the problem, and a final section for asking questions to the interviewers.
There is no good or bad solution in system design interviews. Try to be open about what you're solving, why you're making the decisions, and finally, what trade-offs you will have. Also, you could talk about possible issues with your current implementation.
I suggest closing the scope of the solution from the beginning. You can do that by clarifying the problem with your interviewers. Your interviewers will be open to helping you, so pay attention to their advice.
4th Culture Fit interview. This one is not a technical interview; it's a behavioral one. Please investigate the core values of Nu and try to answer questions based on your own experience. I asked ChatGPT to make several behavioral questions based on Nu Core Values, which I answered with my own experience, and it worked.
Be aware that since Clojure is the main programming language at Nu, you will be asked about your experience learning stuff by yourself from scratch and how open you are to learning new technologies. You will also need to ask why you want to work at Nu.
Look at Nu's technical blog; it contains information that could be useful in this and the following interview.
5th Technical Manager interview. This one is an interview with a Tech Manager (not a people manager), so you must answer general, behavioral, or technical questions depending on the manager's preferences. This interview is an opportunity to connect with the manager. Look at Nu's tech blog, read the latest news about Nu, and try to make questions that show your genuine interest in working at Nu, learning Clojure, and learning the tools used by Nu.
Also, discuss the hypothetical project and team you will start working with.
I chatted well with the manager and learned a lot about the team and the project during this interview. Prepare your questions for the Tech manager.
6th Feedback call. This one is a small call during which your recruiter will share all the feedback provided by your interviewers for discussion. You can also share your feedback about the interviews or the hiring process with them.
7th Briefing call. This is the final step. The recruiter will share the job offer with you, and you will have two days to accept or reject it.