Interview Experience
I promised to make a post if I got more than 1 offer.... so here goes nothing.
Amazon:
5 rounds.
1 System Design problem. Was a little difficult considering it was my first real system design interview. I had a lot of difficulty because it was virtual. Interviewer was decently friendly so it helped calm me down a little. I think my performance on this round was average.
Coding round 1: Problem was related to Tries. I was opting for a different approach, but then the interviewer nudged me into considering data structures that might help. I did well in this round imo.
Coding round 2: Common top 75 problem (LC Hard). This may have been the bar raiser as the interviewer kept adding to the problem by asking to further optimize and provide more functionality. I did very well here.
Coding round 3: Another common top 75 problem (LC Hard). I was very familiar with this problem, so I absolutely shined in this round.
Final Hiring Manager round: Just lp questions.
Leadership principles: Each coding round had a leadership principle for 30mins. In general, I think I did very well in the leadership principles section. I have not had much problem with behavioral questions in interviews. I watch the Dan Croiter videos on youtube (helped a little -mostly for confidence that I covered much ground). If you are a people person and you have actually done a few cool things at work, you will be fine. If not, practice, practice, practice.
Recrutier reached out in an email and I almost had a panic attack when I saw it was from amazon. She wanted to follow up on a later date, so I thought it was a reject or donwlevel. Turns out it was an offer.
Google:
4 Coding rounds and 1 Behavioral round.
Round 1: Required a topological sort approach. You would need a deep understanding of topo sort to solve this. Similar topo sort problems can be found in top 75 list. I did really well here imo.
Round 2: BFS type of problem. I over engineered this a little, but it was okay.
Round 3: Made up problem. I hadn't seen anything like it. Interviewer had me build up a few functions to tie together to a final solution.
Round 4. Common LC Hard problem. I struggled remebering how to approach but then I got it. Interviewer wanted production level code (Not sure what this really means sometimes haha).
Behavioral round: Normal behavioral problems. As I mentioned ealier, I tend to do well in these rounds, but it was kinda hard to tell what the interviewer was thinking. Interviewer's facial expression seemed like they were thinking "what the hell is he talking abt".
Recruiter reached out through email too. We talked and I got the offer. They wanted to downlevel, but I think having competing offers helps you make a case for a higher level.
Facebook:
4 rounds.
Round 1: String problem. Interviewer wanted me to solve with brute force method, but I said I would be comfortable with the optimal solution. He let me go ahead, and I was able to solve. Second problem was common top 75. I did well in this round.
Round 2: Problem I haven't seen before, but can be solved with backtracking. I didn't do too well on this problem. I also messed up the time complexity of this. I solved the second problem with a lot of ease, and interviewer asked how I cam up with the solution, and I explained in more detail.
Round 3. Behavioral interview. Went pretty good. Gave a quick problem at the end. It could easily be solved with a greedy algorithm.
Round 4 was system design. Problem was a little difficult, but at this point I had done a few system design interviews. I did well in this round imo. Interviewer was very friendly too; that helped.
Offer came in 3 days later.
Overall preparation:
MUST DO ALL Top 75 link: https://leetcode.com/list/xoqag3yj/ shoutout to @dps22
Leetcode: appx 270 problems done.
Groking the system design interview: Read all chapters
system design primer: Read the whole thing: https://github.com/donnemartin/system-design-primer
DP: https://leetcode.com/discuss/general-discussion/458695/dynamic-programming-patterns/544912
Back-to-Back SWE on Youtube
Tushar roy
I have 4yoe. I realised that the TC in FAANG was worth it so I spent 2.5 months prepping every night and weekend. If you set your mind to it, you can achieve it.
Also important to note. I am not perfect by any means.
Failures:
LinkedIn Onsite: Honeslty, it was unecessarily hard. It was that kind of interview that made you feel like they wanted you to fail haha. Maybe I'm just salty.
Microsoft OA(I had only done about 10 leetcode problems, so fair enough).
Citadel Phone Screen (Abt 100 LC problems in). This was a near miss.
Moral of the story here is I failed a few at the beginning, got much better over time, and started excelling.