Thank you to the leetcode and the Blind community. This is my time to give back and share my experience and learnings.
Background : I am currently doing my masters from an average university. Prior to that I had 4 years of experience working mostly as a backend developer from one of the top product company. I did leetcode easy and got an internship which later got revoked due to Covid, that's when my serious leetcode journey started with the target of getting in one of the company from Uber/Facebook/Apple/Netflix, I was regular on leetcode for around a year and did more than 750+ problems. I started job hunting in nov of 2020 and finished in april '21 with offers from Amazon, tesla, Apple, Jpmorgan and HBO max.
OCI | AUSTIN| IC3| Oct 2020 [Reject]
Phone screen 1. Level Order Traversal. 2.Number of islands
Virtual Onsite:
Round 1: print-all-jumping-numbers-smaller-than-or-equal-to-a-given-value/
Round 2: Data Stream as Disjointset
Round 3: Bartender round (Behavioral round)
Round 4: Add two Strings (with decimals)
Round 5: Manager round (Behavioral)
Thoughts: Phone interviewer was very rude, overall onsite was decent. I was expecting a 2 algo 1 system design round but rather got 3 algo rounds. It was my first interview in the process, i definitely lacked confidence and I took manager round very lightly, definitely the reason behind my reject.
BLOOMBERG | NYC | NEW GRAD| Nov 2020 [Reject]
Phone screen : Min stack
Virtual Onsite:
Round 1 : 1) Valid anagram 2)Valid parentheses
Round 2: 1) LRU cache 2) Evaluate division.
Thoughts: All the questions were variants of these problems, I did pretty well in round 1, but messed up in evaluate division, Also LRU cache and evaluate division in 45 mins was hard luck. I feel clearing bloomberg is very easy, all the variants of questions which they ask are present in the leetcode discuss section, just go through them and practise the most optimised solution and you will clear it.
MICROSOFT | SUNNYVALE | L60 | Feb 2021 [Reject]
Phone screen: Kth ancestor of a Tree Node (Discussed couple of approach and with hints Binary lifting method as well)
Virtual Onsite:
Round 1
like [3, 13,] ,[4,5]
3 + 13 = 16
4 + 5 = 9
I asked for other input, he said he just knows this input. I have to use all numbers and each number once. group can have multiple numbers like [1,3,4,5,12] is also valid
Round 2:
JPMorgan | Senior associate| Jersey City| Feb 2021 [Offer]:
Round 1: 1) FizzBuzz 2) Fibonacci Number
Round 2: 1) Kth highest element in BST
Round 3: Reverse Interview with manager about team
Thoughts: The interview was not at all intense, the interviewer was very nice, they spoke a lot about different distributed systems concepts like Bloom filter, consistent hashing and basic questions about multithreading as well. Overall It was a smooth process.
UBER | L4| Seattle| March 2021 [Reject]
Codesignal OA: 2 questions, 6 MCQs
Round 1: Rate limiter
Round 2: With manager, behavioral questions
Round 3: K points from origin
Round 4: Design question which I don't remember
Thoughts: Uber was one of my dream company and this interview made me feel super bad, I heard everywhere about how hard uber interviews are, but my questions were pretty decent. For K points of origin, I gave her all 3 solutions and i got stuck implementing quick select. My bad luck was that it was my machine code round and I had to run the code anyhow. I asked her if I could implement a priorityQueue solution which she disagreed with. I still feel I was way too close to get uber but hard luck. I stopped doing leetcode after this.
Tesla | P3| Fremond| March 2021 [Reject - Offer]
Online assessment
Phone screen - Multiply two String numbers
Round 1 - meeting rooms, longest palindromic substring
Round 2- merge k sorted list, number of island, system design - auto complete feature
Round 3- min steps to reach destination for knight on chessboard
Round 4 behavioural
Thoughts - This was a shock reject for me, My interview was way too perfect and I was 100% sure about the positive result. This broke my heart and I was accepting my fare of joining JP morgan, I had 5 interviews more lined up but I lost courage to give them and get rejected again. Made couple of blind posts, people suggested me to apply for new grad position and keep pushing. After 20 days when I had other offers as well, HR called and mentioned about the position in different team and if I was still interested in Tesla. Basically I had cleared the interviews but position was filled.
Amazon| SDE2 | Seattle| April 2021 [Offer]
Online Assessment
Phone screen - K points from origin
Round 1 - easy problem using hashmap, follow up on top of that
Round 2 - next element in binary tree, followup- without space
Round 3 - OOAD with priorityqueue as main logic, couple of follow ups
Round 4 - twitter system design
Thoughts - After tesla's rejection, I had lost all hope, I was just trying to wrap up the interviews and move to JPMorgan and try again after a year. My amazon Interview split interview and multiple org were taking it. Questions were pretty easy and not from leetcode, I struggled in LP a bit but overall It was decent. AWS said they can just give me L4 but another org offered me an L5(sde2) position. This was a pretty good confidence booster for me and helped me alot in later interviews.
HBO MAX| SDE2 | Seattle/NYC| April 2021 [Offer]
Phone screen - BFS based minimum steps to reach type of question
Round 1: LRU cache
Round 2: Largest palindromic substring
Round 3: Bike rental System
Round 4: Merge K sorted list
Thoughts : There is not much experience about hbo online, so I was not sure what to expect but they asked basic leetcode questions. Asked me about the O(n) solution of longest substring. Round 4 was pretty intense, there were 3 follow ups of the question, whose solution I was able to come up with. I was sure about the result after the interview.
Apple| ICT3| Cupertino| April 2021 [Offer]
Apple interviews vary from team to team so I can't share the questions without getting noticed but the format was 2 phone screens , 3 onsite rounds, 2 rounds after clearing onsite.
Thoughts - This is one of the dream company again. I was very calm after Amazon's offer and each of my rounds apart from my phone screen went pretty well. I will be accepting the offer soon.
Companies where my process stopped at phone screen.
Zillow | P3 | California [Halted]
Phone round - It was a Non-LC problem can be tagged as medium.
Problem was to find the median price of the house based on the numbers of rooms and kitchen and square feet. If you use HashMap and can find median of numbers, this problem can be done easily.
Thoughts - It was with HM, I was able to solve the problem and HM looked satisfied and said this is the solution she was looking for. But while conversing she realized I was graduating later and she wanted someone immediately. Hr sent same email saying you cleared the phone screen but we can start process later in april for other positions.
Roku| Senior Engineer| Bay Area [Rejected]
Asked me rate limiter LC question. I misunderstood the question and answered Time based key value store solution. Later I realized and changed my approach but interviewer was pissed thinking I made many assumptions.
Salesforce| SMTS| Bay area [Rejected]
This was pretty bad experience, Felt like interviewer had made decision even before talking to me. He asked me 2 simple traversal questions which I answered and shared time complexity. He was overall very dry to communicate with and got pissed pissed when I asked any questions
Google| L4| Open [Withdrawn]
Asked me https://leetcode.com/discuss/interview-question/915485/Google-or-Onsite-or-Highest-Peak
Thoughts - It was good chat, coding was on Google docs. I have read what google interviewers look for in interviews and followed the same pattern of giving brute force way and then improving the solution. He was happy but I withdrew the application after recieveing apple's offer.
Takeaways:
I feel leetcode is very important for interviews but it is not the only important skill you need to clear interviews. I lacked confidence in start and use to fail interviews even when I was well aware of the solution. I wish I had done some mock interviews, I would have had 2-3 more offers. System design for my level was basic, nobody apart from Apple drilled me in system design round. Gro-king is more than enough for mid senior level interviews. Overall I would suggest you to stay connected with the community. I was very active on leetcode, blind and multiple discord channels. Discord channels helped me solve and approach different problems and motivated me as well to keep pushing myself for a year. Blind helped me set my goals, looking at different Tc of blind I just felt like why can i not get it and kept pushing myself.
I am really happy to help anyone with any questions they have in comments.
Edit1:
There are few questions about how i got calls from these companies: My story is different from "Applied to 600 places, got call from 20". I didnt apply to single application unless I was asked to by HR. I just kept messaging people on LinkedIn. I did not ask for referrals, I pinged the managers, senior managers, VP of engineering, and even CTO (for mid stage startups) obviosuly based on the company structure. I got 6 months LinkedIn premium for free from Blind by a LinkedIn employee and I kept sending requests. I might have messaged around 400+ people, most of them managers and senior managers. I added everyone who had "Hiring developers" in bio or made any post regarding hiring in their team.
After them accepting request, my first message was like this
`` I am xyz have xyz experiebnec, I notice you are hiring for xyz position i feel I am good fit.
About my past experience and impact which my work made
Lets talk on phone more if you are still hiring``
It was 3 para long message, which had everything. All my interviews apart from Bloomberg were from LinkedIn messages.