- CV Screening with recruiter. Asked about experience and what do I know about trading. The recruiter provided useful information.
- Home assessment. Medium assignment (code a simple game) to display your abilities to understand requirements, provide a solution, tests your own code and document decisions. They ask to spend 4hrs, but I did more than that.
- 1hr, 1:1 With an Engineer asking general Java / Technical questions to test your understanding of the platform or see how well you explain yourself e.g. what is a thread?, or what happens when you enter an URL in your browser.
- 2.5hrs - 3hrs Code exercise with 2 higher level engineers. All the previous steps are important but this is the real test in my opinion. You get a problem and 30 mins. to read it by yourself alone, Then 1 hr to discuss your understanding and a solution focusing on performance, alternatives etc. This is similar to what you would have on a day to day meeting with your colleagues in a meeting to discuss how to implement something. Last part of this 3hrs interview is another 1hr session now to actually implement your solution. You are given access to a laptop, that already have the tests and you implement the solution making them pass.
- 1hr Another high level Engineer, this would be behavioural
- 1hr Another high level exec that would make the final decision.
I didn't pass the 3 hrs session. It was doable, but at this point I've been interviewing with multiple companies and doing home assessments and design interviews for over a month, taking weekends to study etc. So, by the time I got to this interview I was really tired, also because I was interviewing from abroad, it was 7 am my time and caffeine hadn't kicked in, so I was slow at understanding the problem and providing a solution. Also I'm used to code in a big screen and having a remote session in a laptop screen wasn't very helpful, too much scrolling and it is easy to get lost. They tell you what environment you're going to use (IDEA) and you can ask to setup your Keybinding (e.g. OSX, WIN or IDEA Classic) so if you practice on a laptop screen that would be very helpful.
I accept the result, the problem wasn't difficult at all, it is basically implement 1 method following the rules described and discussed previously. It is NOT leetcode but something that could be real e.g. "Lets implement this method in one of our systems, these are the 20 test cases it has to pass" so, again, I could have totally do them if I was more rested and or focused on just interviewing for IMC instead of applying everywhere.
Unlike everywhere else, they give you a very thorough explanation of where you failed: "Candidate asked this question but failed to understand the answer" or "Candidate tried to implement XYZ but XYZ was already defined earlier", so I really appreciate the complete feedback.
I don't know what would the rest of the other two interviews would've been but I can tell the most test you have in green for this one the better.
I would definitely apply again.