Status: Experienced
Position (current): SSE at a Finacial Institution
Position (interview): SDE 2
Location: Sydney, Australia
Date: Oct-Dec 2020Hi folks,
I wanted to share my experience interviewing with Amazon in Sydney. I'm a Software Developer by trade (mid level) and have been preparing for LC-style interviews since August 2020.
Spoiler alert - I signed an NDA, so won't be sharing exact questions.
Here's how it went -
Sep 2020 (Application) -
Oct 2020 (Online Assessment) -
Nov 2020 (Phone Screen) -
Dec 2020 (Amazon Loop) -
Round 1 (Bar Raiser) - The interviewer was kinda cool, and had a keen interest in what I was speaking. 30 mins of LP questions with loads of follow-ups. We then moved onto the coding challenge - 2 LC medium questions - I coded solutions to both and spoke about how I would optimize the code for certain scenarios. He pointed a small bug (< vs <=) in my code, but seemed happy with my approach.
Round 2 (LLD) - There were two interviewers, one of them was shadowing the other. Started with LP questions (the interviewer asked the same question like the ones asked by the bar raiser - and I wasn't expecting that). 30 mins later, we proceeded to the coding challenge - and here is where I think things didn't go great. The question was very vague, and until now I don't know what was asked. I tried to dig deeper and deeper by asking clarifying questions, but I'm not sure what was being assessed. I wrote modular code and I was asked to write unit tests for the same - which I did. Later they twisted the question and added some more complexity, but my code (with the test case) was able to handle that easily.
Round 3 (Coding) - There were two interviewers, one of them was shadowing the other. Typical LP questions first (20 mins) before we jumped onto the coding question. It was an LC hard type question, and I hadn't seen it before (it isn't listed here though :)). I asked a lot of clarifying questions and eventually settled on an approach that seemed to work. Halfway through I thought I was trying to over-optimize (the interviewer pointed it out) and I immediately took that as a cue to do something simpler (recursion). I coded it out and it seemed to work (verified later that it certainly did). The interviewer asked me to clean up the code to remove redundant if checks, and I was very close to doing that before we ran out of time.
Round 4 (System Design) - This was the hiring manager. He explained the project and what the team is working on - and dare I say - was very very polite/humble/accomodating. 30 mins of intense LP questions (with umpteen follow-ups) - we moved onto system design. Initially, I thought there was more time on my side (since the interviewer mentioned "taking my time") - but I guess I mistook that. 20 mins in and he mentioned that we have 4-5 mins left to complete. I rushed through the design touching on load balancing, caching, DB, redundancy, and service level breakdown. He seemed quite happy with the design - though I thought I could've done much better.
Outcome -
I got a call the next day that the committee wouldn't be moving forward towards an offer. I was gutted and was left wondering where I might have not met the bar. He mentioned that they had concerns about me using multiple if loops (see round 3 - boolean algebra - damn you), and not being able to come up with enough unit tests (see round 2). They were happy with the system design though, and other things in general. You only get a verbal feedback from the recruiter, so this is all that I could remember.
Nevertheless, it was a positive experience (the kind you're not quite used to in Australia with recruiters ghosting you after you spend the entire week doing a USELESS coding assignment - I have been rejected for using double instead of BigDecimal in such stupid assessments). You might code out everything properly (non-brute-force), in some cases optimally but still not get a hire decision to go your way. Anyway, the point is to keep my chin up and prepare better. There's always something better out there, and you can only become better than what you were yesterday!
Some Tips -
Lastly, thanks to the LC community! Y'all have been Good Samaritans, and I wouldn't have envisioned getting this far without the LC fam :)
Abbreviations -