I learnt a lot about interviews from blind community. This is my effort to give back to the community. This thread is not about TC, but for the curious ones, I have multiple offers around 550k and I still negotiating, I will start another thread with comp details. Offers I got - Facebook (E6), Uber (5b), Oracle (IC5), Google (L5), Lyft (L5), Pinterest (L5), Cruise (Sr SDE 2), Compass (Staff), Convoy (Staff) Where I failed - Airbnb (Onsite), Netflix (Phone screen), Dropbox (PS) I am SDE3 in Amazon and YoE: 11 and TC: 355k. My interview preparation - Algo and Coding: I started with https://codesignal.com/. This helped me to kick start the coding prep. After solving 2-3 problems on each topic, I moved onto Leetcode. On Leetcode, I started solving "Top interview questions", after solving 50+ questions, I started mock interviews on http://interviewing.io, I failed the first 2 but I learned from my failures. I succeeded in the next 2 interviews and started attending onsite interviews of companies that I don't mind failing. As of now, I completed 120 questions on Leetcode, Easy/Medium/Hard ratio is 30/75/15. Most of my interview questions were related to Graph, Backtracking, Dynamic programming, HashMap and Arrays. Approximately, 50% of the interview questions were Leetcode (or similar) and other 50% were new. For Staff and higher level interviews, System design and Behavioral/experience interviews play very important role. Hiring panel assesses your level based your interview perf in these interviews. System design: I reviewed all the designs in Grokking the System Design Interview on https://www.educative.io/ and watched most of the system design videos in YouTube playlist https://www.youtube.com/watch?v=mhUQe4BKZXs&list=PLkQkbY7JNJuBoTemzQfjym0sqbOHt5fnV and read https://github.com/donnemartin/system-design-primer. In Amazon I used various AWS applications like Dynamo, S3, SQS, SWF etc and I also watched design videos of these services. That also helped me in doing well in these interviews. My approach for system design interview - 3-5 mins: Clarify requirements and define functional and non-functional (scaling and perf) requirements 5-10 mins: Define APIs including input and output params. Discuss about data model (primary key, 2ndary key etc) 10-15 mins: Define higher level architecture. Talk about various components in the overall architecture, Web client, Load balancer, Application servers, Data bases etc. Take couple of APIs and talk about end to end data flow from user to the storage. Talk about performance issues and how caching can help (sometimes caching is a bad thing). 15-20 mins: Talk about critical use case(s) that is specific to the given problem. For twitter it is about fanning out updates and handling celebrity update issue, for messaging apps it will be maintaining device connection status and taking care of offline use case and read/unread status etc. If there is more time, discuss about scaling bottlenecks and discuss about how to address those issues. Talk about failures and how do you handle failures (retries, exponential back off etc) Behavioral and experience interviews - In behavioral interviews, interviewers expect you to answer following, be prepare with convincing examples from your past experience. * Tell me about a recent project which was very challenging, explain the challenge and tell me how you went about solving it? * Tell me about a project where you had to work with cross functional teams and had difficulty in managing the expectation from one of those teams? How did you handle such scenario? * Tell me about a scenario where you had a conflict with senior/junior in your team, how did you resolve this? * Tell me about a scenario where you couldn't meet your commitments on a project, what was the situation and impact? how did you handle the situation? * Tell me about a scenario where you discovered an issue in your design in the middle of the project and how do you went about resolving it? * What is your process of project prioritization? What do you do, if in the middle of the project requirement changes? Some tips: * I was very nervous before my first onsite as I appeared for an interview after long time. It went well. That game me lot of confidence. * Treat the interviewer as a peer and have an open discussion in design interviews. When an interviewer enters the interview room, greet them with a smile. Interviews can be very nervous, a smile can calm both of you. * When one of the interviews doesn't go as expected in your onsite, you have to quickly forget it and move on positively to the next interview. If you do well in 4 out of 5 interviews, they might still offer you the position. If I missed anything, you can add a comment, I will be happy to answer.
That's super awesome. Congrats! How long were you at Amazon for?
This is fantastic!!
🤩🎉
1. Are you leaving because of tc or you dont see the next level? Other? 2. Can you give example for companies you didn’t care to accept with?
1. It's both. My org have challenges that will make me PE but it will take an year or more. Even after that I will be at lower band of PE with 400k, it's not worth the fight when others are ready to give me next level. 2. That's a personal preference, DM me for more details.
If I were you I will take that PE title first. But anyway, congrats
How do you find at Amzn for so much time? Congrats.
It's very hard to manage between interview prep and your work. My productivity was low for few weeks and team started noticing it. But that's the only way. If things would have gone south, I planned to work my ass off in the next few months. Now I don't care much :P
How do you leetcode in open space sitting ?
hey can i pm you for some questions?
I had to sign few NDAs, I won't be able to share questions from Google, Facebook, Airbnb etc. One thing I can share is, many of the questions were in LC or related to the ones in LC.
yeah coding questions are always random so i look at lc. but what about design questions? are they standard questions coming out from grokking / system design primer? like design facebook feed, url shortening, design fb messenger, design youtube, dropbox, etc?
That’s great achievement! Congrats! How many LCs did you solve? Breakdown by difficulty levels? Did you solve two coding problems per round most of the time?
Thanks. I added it in detail in the summary. Before starting interviews it was 50, current total is 120. Only Facebook had two questions, others had questions with multiple levels or first 15 minutes spent in knowing your background.
How did you end up being offered L5 at Lyft and Pin?
How did you answer question below behavior question? Just want to know how l6 answers that?
Tell me about a recent project which was very challenging, explain the challenge and tell me how you went about solving it?
I had a great personal example for that. Had to launch a new product with very tight deadlines, leading a team of few engineers, I gave that example and they were happy
Congratulations! How long did the entire process take? Also, did you interview for those levels or determined based on your interview performance?
Thanks. Total process took around 3 months. I passively started preparing 3 months back, I started applying for companies 1.5 months back.
I shared my level preference with the recruiter as L6 or equivalent. Some offered me my desired, others didn't. It's decided based on my interview performance.