Background: Embedded software engineer, 10+ YOE. I am an SME in the domain I work.
Preperation: It had been a while I interviewed for a job. Also my first with FAANG companies. The following covered the basics:
The above took ~40% of my time.
Revised concepts in my domain of expertise and did sample coding - took considerable time ~40% - but covered a good portion of my coding and design rounds.
Leetcode Google, Meta, Amazon top lists for ~20% of my time. This helped me mainly to get acquainted with FAANG style of questions, coding agility and speed.
Google Team matched for 3 in the 1st week of the process. I selected one team. This was done way before virtual on-site process (seemed strange, but my referal assured me that this is common these days). I took 4 months of prep time for the on-site rounds as I was no way ready to take any interviews (forget Google). Recruiter skipped phone screen (may be because I have a referal?)
Round - 1: Embedded focused coding question touching prioritization, ordering, data pipelines Hire
Round - 2: Embedded focused coding question touching Interrupts, timers, ordering Hire
Round - 3: System design focusing on hardware controllers, interrupts, preemption, debouncing, producer-consumer (the works). Strong-Hire
Round - 4: Graph based question on islands, bridges, shortest distance. I was completely out of depth here and could not give optimal solution. Disaster! Requested the recruiter for a redo. Strong No-Hire
Round - 5: Domain specific questions covering typical features, pain points etc. Generic (leedcode) coding question focusing on pre-computing and indexing. Hire
Round - 6: Domain specific end-to-end stack structuring and high-level implementation (pretty exhaustive and covering a lot of vertical knowledge in the domain). I stumbled on couple of aspects which I shouldn't have honestly. Disappointed with myself. Lean-Hire (fair rating)
Round - 7: Standard behavioral questions Hire
Overall: The process is slow - longest by far compared to other companies. I enjoyed the interview questions from Google the most - challenging, tests the expertise and its limits. I felt its not something one can prepare easily outside of real experience. Recruiters are knowledgable and helpful when needed.
Hiring committee approved L5. Having counter offers from Amazon and Meta helped in negotiations.
Meta Recruiter approached me same time as Google. Passed the phone screening which was based primarily on my experience, technical and behavioral. I was interviewed for a specific position in RL teams.
Round - 1: Leetcode Meta Top50 based questions: (1) Easy (2) Medium. Hire
Round - 2: Domain based question that cannot be fond in leetcode. Lean-Hire (I thought I did this good but guess not)
Round - 3: Domain specific System design. I did very well in this. Strong Hire
Round - 4: Domain specific System design. I did very well in this as well. Strong Hire
Round - 5: Standard behavioral questions Hire
Round - 6: Got a redo due to one lean hire. Leetcode Meta Top50 based questions: (1) Medium (2) Medium. I did well in this round. Hire
Overall: One of the best recruiters I came across. Fast, agile, shared timely information. Last to interview but first to give offer - approved for E6. Overall a good experience. I got the offer just before the hiring freeze.
Amazon Lab126
After a friends referal, the recruiter got in touch in April. Skipped phone screening.
Round - 1: Domain specific coding question. Hire
Round - 2: Domain specific coding question focusing on logic and maitainability. Hire
Round - 3: Domain specific coding question Hire
Round - 4: Domain specific system design Hire
Round - 5: Standard leadership principles. Hire
Overall: Excellent experience with recruiters, interviewers. Got an offer in a week after concluding the on-site.
Conclusion: Interview preperation took ~4 months and interviews ~2 months. Got all three offers. Meta came first with offer, followed by Amazon and eventually Google.
Retrospection: