Hello,
Little about me:
I am coming from a different engineering background, so I transitioned my career to software engineering. I have 2+ YOE in programming.
Interview process:
I was reached out by a recruiter. Due to the NDA I cannot discuss specific questions, but I will provide some general guidelines.
To all of you who are working hard, stressing and/or waiting:
I want to say do not underestimate any of the topics in DS/Algorithms. Especially give credit to LC easy questions (for SE1). I learned this the hard way through my only other interview experience with another big tech company. In a matter of month last year, I solved 100 (roughly) LC questions but when I went to the onsite interview all questions were LC easy. I was expecting a lot harder interview. For every question, I thought there might be a point or trick, but they were simply programming questions. Nevertheless, after failing that one, the next day I started preparing for the next one whenever it comes my way.
In addition, as under-preparation is risky, I believe over-preparation could backfire. I solved around 150 LC questions. Well, that is not entirely true. I solved 100 and went to see the solution for the other 50. Hmmm, well that is not honest either. I TRIED to solve roughly 150, ended up solving only 50 on my own, 50 by getting help from the solution, and the last 50 by directly reading the solution as I had no idea where to begin. But here is the catch, I spent most of my time UNDERSTADING the question, solution, finding patterns or strategizing (like when to use recursion and when to take advantage of iteration).
Another important point (that is usually neglected) is that while getting to the final solution code is important, I strongly believe that they are probing different areas such as how you perform under pressure (time crunch) or how you make your way through a vague question.
LeetCode as well as “Cracking the Coding Interview” are amazing resources.
Last but not the least, I think luck or faith or higher power (whatever you want to call it) plays a role in this process. I think there are many awesome programmers far better than me who are unlucky or stressed. Right time, right place and right frame of mind. Thanks for reading this and best of luck to you all.