Amazon| Snapchat | Apple | MS | Bloomberg | Google | Onsites | USA | 2022
Anonymous User
6656

Want to share my interviewing experience with various companies, many failied interviews and Google offer at the end. I have 5yoe, Master's degree in CS, this was my second time looking for a job(not counting looking for internsips.)

I was refered to Google by a friend. Recruiter contacted me and I scheduled an onsite at two months from that time in the future. Started leetcoding vigorously. Tried to have as many onsites with others companies as i can, before the Google one. I decided to reply to every recruiter that contacted me and started scheduling phone screens and onsites. First one was Amazon, for me as for an ex-Amazonian it didnt seem like it would be hard to pass it, but i failed it anyway, feel like it was due to bad behavioral part of the interviews.

Also had phone screens with Stripe, Snapchat and a couple of startups. Passed only Snapchat phone screen. Realised i need more time to be ready for Google, so asked recruiter to move interviews to 6 more weeks. During these weeks i also had two Microsoft onsite interviews, Bloomberg, Snapchat, two Apple, more startups. All failed except one MS. Due to all these failures, I started to feel dissapointed and tired. What was the worst is that sometimes i felt like i passed, i literally memorised some of the the most commonly asked questions and i was lucky to be asked some of them, i behaved the nicest and answered the best to all the tricky behavioral questions, and still no success. I wasnt sure what was wrong, why did they reject me ? But Google was coming closer and i had to get together and be as ready as i can.

For Google I redone all the Leetcode Exprole cards and most commonly asked questions again. I tried to memorize and understand all the main algorithmic approaches in their essence. When I was doing a question which i did before, I tried to do it quickly and optimal from the first glance to practice speed and bug free coding. Some of the questions, such as for dynamic programming, i was failing constantly, especially the hard ones, so i decided to just forget about it, and hope i wont be asked any, and i was lucky i wasnt.

For design, I draw pictures and put notes to each of them. I used https://excalidraw.com for all my practices. From all the onsites i had before, i knew what is expected (most of the times). I had a standart diagram i could fit into almost every design questions - a queue and workers grouped in a cluster(autoscaling group for ex.) + different datastores options(rdbm vs. key-value and their tradeoffs), write-through and read-throught cache; mention about security!, etc.

Snapchat onsite interview was 2 days before a Google one. Coding questions were from the snapchat section here. Design question - design a push service for snaps. I was 75% sure i passed it, but design part of the interview was horrible, at the end i forgot how to speak English. Interviewers were not supportive and very pushy. I failed it, IMO, because of the design and absense of normal feedback from interviewers.

Apple was weird, interviewers were kind of arrogant. I kept hearing - "no one does security better than us", or "our rate is insane, you wont find such a loaded service as ours" (i worked at aws, speaking about load). Coding questions were okay, medium level difficulty. But one of them was a very non suitable for coding IMO. I was given an interface in java and was expected to implement a json parsing function using it. This was the first time i did json parsing - it took me some time to understand all the json related terms: object, array of objects, element, json string, etc. and what's the difference btw them. What is the purpose of such question ? And it was for 20 mins.

And then i had a Google onsite. Unfortunately i can't share much about the questions, but all i can say is that they were easier then some of the previous my onsites, and very details oriented. Interviewers kept asking me to implement every appoarch i came up with. I may have provided at least a couple of solutions for each of the coding questions i was asked. I had to code quickly and come up with ideas on the fly. I feel like if it was more about the speed and writing bug free code then about crasy solutions ideas. If it was not for my constant coding practice i probably would not pass. For Google I suggest to know all the common algorithmic templates - bfs, dfs, sliding windows, etc. and code it quickly! Design question was about scanning many software packages(like rpms) for some metrics. How to make this process regular? What if new packages arrive every other time? Etc.

In two long weeks i received an email from my recruiter, saying that i passed.

Also i had to do one more onsite after Google, as I forgot to cancel it :D. Still waiting for the results on it ....

My feeling right now is that I can pass any interview :D I stopped being scared of them and that's probably the best lesson from this interview period i had.

Also a note to all the people(men) who were crying about not passing because they are males. I am a girl, i failed almost all the interviews i had, despite the market being hot, despite the "need to hire females" etc, so relax, i am a living proof that the bar is not different for us, we have to work hard, same as you guys, if you havent passed your interview, it's not because you are boy, it's probably because of the bad luck, you not being ready, stars didnt match on that day, etc., just keep trying and stop crying.

Comments (24)