Message on Whatsapp 8879355057 for DSA(OA + Interview) + Fullstack Dev Training + 1-1 Personalized Mentoring to get 10+LPA Job
0 like 0 dislike
1,710 views
in Interview-Experiences by Expert (30,360 points) | 1,710 views

1 Answer

0 like 0 dislike
Best answer

Hi all, I recently had my SDE2 interviews with Amazon for one of their teams in Dublin. Here's how the process went:

 

  1. OA -- Standard Amazon OA questions. I really don't remember those.

     

  2. Phone Screen -- It had 3 sections
    a. LPs
    b. Coding question on two pointer (LC medium) which I gave a non optimal solution to initially and then told the interviewer about the two pointer solution.
    c. Basic system design questions related to caching, how we can improve a DB's TPS for a read heavy system.
    Self Rating -- Hire

     

    After my phone screen, I wasn't too confident since I hadn't studied much for system design and the solution that I initially gave to the coding question wasn't optimal either. But I got the reply from the recruiter on the same day of my interview that they're proceeding me to the onsites and asked for my availability. I decided to take 4 weeks of time for preparation for the onsites.

     

  3. Onsites -- The recruiter scheduled a total of 5 onsite interviews spanning over 2 days.

     

  • Round 1 -- Whole 60 mins, the interviewer grilled me on LPs. Fortunately, I had prepared a bunch of stories beforehand so I feel like this round went well. There were some cross questions which were certainly difficulty to answer but I think I steered through them well.
    I don't remember the exact questions that were asked.

     

    Self Rating -- Hire

     

  • Round 2 -- Started off with LPs, the interviewer again asked a bunch of follow up questions which I was able to answer well. 20 mins spent in LPs and the rest of the round was coding.

     

    2 LC medium questions. First one, I was able to solve it perfectly.
    For the second one, I mis-read one line in the question and ended up coding it till the end. The interviewer then pointed me to that phrase and a test case which is supposed to be treated differently. I was able to identify the error and fixed it.
    All in all, gave the optimal solutions to both the problems albeit the second one with 1 hint.

     

    Self Rating -- Hire

     

  • Round 3 -- Again, started off with LPs (30 mins) followed by 1 LC hard (Russian doll envelopes).

     

    I gave the top-down recursive and memoization solutions to it which has O(N^2) complexity. Then I told the interviewer that we can elimiate recursion and convert it to bottom up DP.
    Then I asked interviewer if he wants me to improve the TC of the solution, and the rest of the discussion was related to that. I related the given problem to the 1D problem (finding the longest increasing subsequence) in O(N Log N) time. In the end, I was able to explain it to him how I'd be able to improve upon the TC from O(N^2) to O(N logN) but since we had little time left, we only discussed the solution verbally.

     

    Self Rating -- Strong Hire

     

  • Round 4 -- Again, started off with LPs (30 mins) followed by 1 system design problem. I had to design Airbnb.

     

    Correctly discussed most of the functional and non functional requirements with the interviewer. Then proceed onto identify the services and then we discussed what all APIs we'll have and what parameteres will be taken up by them. I told the recruiter that the system would be read heavy post which our discussion moved onto which DB should be chosed. I chose any RDBMS since we had decided on 100:1 read write ratio.

     

    We then discussed upon the search service for finding the homes in a certain radius. I told him about the normal grids approach and how we'll have unique IDs for grids. He asked me one question related to how we'll find out the exact ID of the grid to which I told him we'll be maintaining some cache to optimize fetching these fixed IDs. I'm pretty sure I'm wrong here but the interviewer eased up the situation a bit and asked me another follow up. I told him about the quad trees and how it can help us improve this search speed and about the dense area case.

     

    We then proceeded onto discussing the DBs...he didn't want me to draw schemas for the tables but instead was more interested in how I'll maintain high availability and low latency. I told him about replication first (read heavy) and went into master-slave and master-master replication strategies and also mentioned about CAP theorem and that we'll be fine with having a minor delay b/w writes.

     

    Then I mentioned about sharding, sharding key and consistent hashing and that was pretty much the end of it.

     

    Self Rating -- IDK, this was my first system design interview. Probably a Hire considering I knew most of the concepts?

     

  • Round 5 -- LPs (30 mins) -- He asked me if there was any instance which I hadn't mentioned in any past interviews...I told him about how I was the head of one of the cells in college days and what all I did and its results. I felt like the interviewer was really impressed by what all I had learned in that stint of mine.

     

    After LPs, 30 mins were left for OOD. I was suprised with this since I wasn't expecting an OOD question.

     

    I got asked about how we'll design the Unix File Search API and that it should support different kinds of filters. I told the interviewer about SOLID principles and how we want to keep our filters "Open to extension and closed for modification". I proceeded to write the basic interfaces, classes and an API for the search system.

     

    For applying multiple filters, I used a List<FilterStrategy> and was iterating over it repeatedly to check if a file matches all the fields or not. The interview told me if there was any way to do better than this...I couldn't think of some approach for this post which he told me to complete writing some basic code for it.

     

    I also discussed about the recursive and non recursive searches. I made a little silly bug in the code towards the end since we didn't have much time left but later on corrected it. The interviewer told me that the solution is good enough and that he's more interested in if I can think about abstractions/design patterns or not rather than specific approaches.

     

    Self Rating -- Hire/Strong Hire

     

 

I'm waiting for the results right now...keeping my fingers crossed.

 

TLDR: Self rating for onsites -- 2 Strong hires, 3 hires

by Expert (30,360 points)
selected by