I had a technical interview that was scheduled for an hour and a half. The interviewer, who seemed quite young, started by introducing himself and the company, and then asked me to walk through my previous experience. I presented the architecture of the systems I’ve worked on, and the discussion went very smoothly. He kept asking architectural and design questions, and I was able to answer and propose solutions as the discussion evolved.
After that, he introduced a new architecture problem. For about an hour, he kept adding new constraints and edge cases, and each time I worked through the problem and suggested solutions. At several points, the interviewer actually paused to think about what else to ask next, as if he had run out of follow-up questions. Overall, the conversation felt very positive and productive.
Then, about four minutes before the interview ended — after we had already gone over the scheduled time by around twenty minutes — he suddenly asked a probability question: “You have M balls and N holes; in how many ways can you place the balls into the holes?” At that point, after a long architecture-focused interview, the question felt completely unrelated to the discussion we had been having. I didn’t manage to solve it in the remaining time.
The next day, I received a rejection stating that I lacked sufficient Java knowledge, which honestly felt ironic given that the entire interview had focused on architecture, system design, and problem solving rather than Java-specific topics. disappointing.
I applied through a staffing agency. The process took 4 days. I interviewed at Capitolis (Tel Aviv-Yafo) in Feb 2025
Interview
I interviewed for the Senior Software Engineer position at Capitolis in February 2025. The process consisted of two online stages:
First Stage: A discussion of my work experience, followed by light system design questions. The conversation was engaging and focused on my past projects and approach to problem-solving.
Second Stage: A system design interview for an abstract financial system. The process was iterative—starting with a basic system and gradually adding new requirements at each stage.
The interview was scheduled for two hours but extended to about three hours as we went deep into the details of my proposed system components. The discussion was in-depth, challenging, and highly interactive, making it an educational and enjoyable experience.
Overall, I found the interview to be well-structured and insightful, providing a great opportunity to showcase my expertise in system design while also learning from the process. Candidates should expect a deep dive into technical decisions and architectural discussions.
Interview questions [1]
Question 1
to suggest the components of the system to fulfill the requirements.