The interviews consists 5 rounds of the following:
- Recruiter Phone Call (30 minutes)
- Code Design (1 hr)
- Data Structure (1 hr)
- System Design (1 hr)
- Lead Recruiter catchup (30 minutes / catchup, not part of interview rounds)
- Values (1 hr)
- Meet Manager (1 hr)
Recruiter Phone Call (30 minutes)
I got contacted by one of the recruiters via a Linkedin direct message. The recruiter is very polite and nice through the whole interview process. Even though I saw some negative reviews regarding their recruiter manner, it didn't happen to me. I really did enjoy their interviews and the feedback is very prompt for each round.
The First Two Coding Rounds (1 hr)
The first two coding parts are pair programming and they were scheduled at the same date for me with 20 mins break in between. The coding questions are not algorithm heavy, it's very practical and you do them almost everyday in your code, e.g. use HashMap to store things. So no need to practice too many LC hard questions. However, I still recommend that you need to understand data structures as they may ask you some details on them e.g. Time Complexity, Sorting etc.
They focus on practical things like how you approach the solutions and how you demonstrate the thinking process. Do remember that you better keep sharing thoughts while you are coding, also remember following TDD practice.
The interviews went really well for me and interviewers are very cool guys.
The first coding round - Code Design (1 hr)
The question itself is fairly easy. I was asked to code in any language and any IDE in which I used PHP/PHPstorm as my preferences. Remember to start with TDD approach and write code based on your test case. Tips: Test Case, IDE, basic design pattern, HashMap, unit test etc.
The sound coding round - Data Structure (1 hr)
Thank God, they don’t test Dynamic Programming as I haven’t practiced it for a while after university. The question was a LC easy question even with many follow-ups. Tips: understand sorting algorithms and array manipulation with HashMap.
System Design (1 hr)
The system design is focused on designing a feature request on an existing Atlassian product. You will be required to analyse your system design skills including Scalability, Reliability, API Design, Database design, Concurrency and etc. There is no correct answer to it. You need to talk as much as possible in detail, so don’t worry if you say something wrong to the question, just ensure that you have clear evidence that supports your decisions.
Lead Recruiter interview (~30 minutes)
I received the meeting request with one of the lead recruiters after the System Design round. Technically, this is not part of the official interview process. The meeting is helping you prepare for the final interviews (value/manager). You will get more clear ideas of which team you may like to work with.
Values Interview (1 hr)
Read their website and understand what their values are. Prepare some examples to show you are the fit to their culture. Remember to demonstrate your teamwork and work style.
Manager Interview (1 hr)
Similar values interview but with my future managers.