Rejections to Multiple Offers Journey | Experience | Advice
Summary
After two and a half years and over 50 interviews with numerous rejections, I successfully secured and accepted a Software Engineer role at Flipkart, along with an offer from Amazon. This journey involved extensive preparation in DSA, system design, and behavioral aspects, culminating in a significant career advancement.
Full Experience
My Journey from Rejections to Multiple Offers
Hi LeetCode Community,
This post chronicles my journey from numerous rejections to finally securing multiple offers. Starting my full-time career in July 2019 after completing my B.E. in CS, I began looking for a switch after realizing my skills weren't being utilized effectively in my previous role. For 2.5 years, I faced continuous setbacks, undergoing over 50 interviews and countless rejections.
Interview Experiences:
Interview 1: ClearTax - SDE1 (Feb 2019) - Rejected
A recruiter contacted me via Instahyre. The first round was a Machine Coding Round where I had to design and implement Sudoku using Object-Oriented Programming Principles, which I successfully completed. The next round was a review of my approach. In the third round, I was asked two DSA questions: Best Time to Buy and Sell Stock II (which I solved) and Best Time to Buy and Sell Stock IV (which I discussed, but couldn't solve completely). I was rejected after this round.
Interview 2: Udaan - Software Engineer 1 (April 2019) - Rejected
I was shortlisted after participating in a HackerEarth challenge. The first round was a Machine Coding Round where I was asked to implement Splitwise with OOPs Principles, which I was able to solve. After a review, HR informed me they were looking for someone with more experience, leading to another rejection.
Interview 3: Amazon - SDE1 (June 2019) - Rejected
I passed a HackerEarth challenge by solving both questions, which led to onsite rounds in Bengaluru. In a pen/paper round, I was given two questions: Sliding Window Maximum and counting the number of Binary Search Trees present in a given binary tree. I was able to solve both of them. Despite this, I was rejected, with HR stating I did not pass this round, without further explanation.
Interview 4: GE HealthCare - Software Developer (June 2019) - Rejected
After successfully completing an online HackerEarth test, I received a call for an onsite interview. Interview Round 1 involved questions on networking, OS, DBMS fundamentals, followed by a DP problem. We then had an in-depth discussion about my internship project, and I was asked C++ questions like virtual pointers, virtual destructors, virtual functions, and other OOPS concepts. Overall, this round did not go well, and I was rejected.
Interview 5: DE Shaw - Associate Developer - Life Sciences (June 2019) - Rejected
I applied through their careers website and subsequently received an email for an online assessment on HackerRank. I was able to solve all 3 coding questions and almost all 15 MCQs. A week later, I got a call for onsite interviews. Round 1 involved one coding question based on DP and questions on design patterns (factory, singleton, builder). Round 2 was a DSA round with two interviewers, where I was asked Trapping Rain Water II (couldn't solve) and Move Zeroes (solved). I was rejected after this round.
Interview 6: Amazon - SDE1 (October 2019) - Rejected
I applied through an employee referral and received an online assessment link. The online assessment had 2 medium-hard questions based on DP and graphs, which I solved, leading to an onsite invitation after 2 weeks. Round 1 was with an SDE-2, who asked me two coding problems: Rotting Oranges and Kth Largest Element in an Array. I solved both. Round 2, also a DSA round with an SDE-2, involved two coding problems: finding the minimum number of platforms required for a railway station given arrival/departure times, and Jump Game II. I was able to solve both. Round 3 was with an SDM, focusing on my projects and Amazon Leadership Principles. Round 4, also with an SDM, covered my internship projects, Amazon Leadership Principles, and one coding question on Trees. I solved the coding question. Overall, this round went well. I was told they would contact me within a week, but I never received any email or feedback.
Interview 7: Unacademy - SDE1 (October 2019) - Rejected
A recruiter contacted me after seeing my profile on Naukri, and I was called for an onsite interview the following week. Round 1 was a test link with 3 easy-medium questions, which I solved. Round 2 was a DSA round with one backtracking question and one graph question, both medium-hard, which I solved. Round 3 was a mix of coding and technical knowledge, covering my projects, C++, REST architecture, and two coding questions (one on trees, one on DP), which I solved. Round 4 was purely theoretical, with many questions on networking, OS, DBMS, and my projects. Round 5 was a normal, more behavioral discussion with one of the co-founders. HR informed me the next day that I was not selected.
Interview 8: PharmEasy - SDE1 (October 2019) - Rejected
I received an interview request from HR at PharmEasy on TopHire. Round 1 was a DSA round with two questions: reverse a stack using recursion, and reverse a linked list in groups of a given size. I solved both. Round 2 was also a DSA round, where a backtracking question (a variation on the N-Queens Problem) was asked. I was not able to solve this question, and consequently, I was rejected after this round.
After these interviews, my profile struggled to get shortlisted, and I didn't receive calls after online assessments for about 4-5 months.
Interview 10: Amazon - SDE1 (December 2020) - Rejected
I applied again through an employee referral and received an online assessment link after two weeks. The online assessment had two questions, one related to custom sorting and the other a priority queue-based question, which I solved. I was called for a virtual onsite after three weeks. Round 1 involved two coding questions, one based on DP and Sort Colors; I solved both. Round 2, another DSA round, had two questions: Flatten a Multilevel Doubly Linked List and Integer to Roman; I solved both. Round 3 was with an SDM from Seattle, focusing on Amazon Leadership Principles and ending with one coding problem. After these rounds, I was told one more round would be taken, but I never received any feedback.
Interview 11: Grab - SDE1 (February 2021) - Rejected
I applied via the career portal for a Software Engineer backend role and received a test link to complete within 3 days. The online assessment had 3 medium-hard questions, all of which I solved, leading to an onsite call after 3 weeks. Round 1 had two coding questions: Next Permutation and LRU Cache, both of which I solved. Round 2, another PS/DSA Round, had two coding questions: House Robber and a graph-based problem, which I also solved. Round 3 was a system design round, where I was asked to design a Restaurant booking system that handles concurrency. We had a discussion, but this round did not go well. I was rejected after this round.
Interview 25: Turvo - Associate Software Engineer (March 2021) - Offer :)
I completed a HackerRank test with 3 easy-medium questions. Round 2 was a DSA round with two questions, one DP-based and the other related to Trees. Round 3 was a mixture of DSA and discussions about my past projects. Round 4 was the Hiring Manager round, which involved a normal discussion based on my experience, OOPS, and some behavioral questions. I received an offer!
Interview 26: Goldman Sachs - Software Engineer (April 2021) - Rejected
I applied via an employee referral and received an online assessment link two weeks later. The online assessment had 2 easy-medium questions, which I solved, leading to an onsite call three weeks after this round. Round 1 was a DSA round with two questions: one a variation of the Trapping Rain Water Problem, and the second based on Trees. I was able to solve both. Round 2 was also a DSA round with two questions: Minimum Add to Make Parentheses Valid (solved) and Word Ladder (I came up with an approach but couldn't complete the code due to time restrictions). I was rejected after this round.
Interview 27: Google - Software Engineer (March 2021) - Rejected
I applied via an employee referral and was rejected after a phone interview.
Interview 28: Housing - Software Engineer (April 2021) - Rejected
A consulting company contacted me regarding an opportunity after finding my profile on Naukri. I was called for an onsite interview after two weeks. Round 1 was a DSA round with two medium-hard DP problems. Round 2 was a mix of technical, databases, projects, and coding problems. Round 3 was the Hiring Manager round, where he asked me about my projects, in-depth questions on indexing in DBMS, and some MySQL queries. After that, he asked me two coding questions: Excel Sheet Column Number and Valid Parentheses. This round did not go well as I struggled to answer the in-depth questions on indexing, although I was able to solve both coding problems. I was rejected after this round.
Interview 29: Flipkart - SDE1 (April-May 2021) - Offer - Accepted :)
I applied via an employee referral and received a call after three weeks from HR regarding onsite rounds. Round 1 was a Machine Coding round, where the question was to design a Covid-19 Vaccination Center Booking system. This was followed by a review round regarding my approach and cross-questions based on my implementation. Round 2 was a DSA Round with two questions: Number of Islands and a modification of the Coin Change problem. I was able to solve both of them. Round 3 was the Hiring Manager Round, where he asked me in-depth questions about my current projects and some behavioral questions. One week later, HR called me to extend an offer, stating that my interview feedback was positive. Finally, after two years of persistent effort, I received an offer!
Interview 30: Amazon - SDE1 (May 2021) - Offer :)
This was my fifth time interviewing with Amazon. This time, after completing four rounds, I was informed that they would be extending an offer to me.
I will be joining Flipkart next week :)
Interview Questions (30)
Design and implement Sudoku with Object-Oriented Programming Principles.
Implement Splitwise with OOPs Principles.
Given a binary tree, the task is to count the number of Binary Search Trees present in it.
Given the arrival and departure times of all trains that reach a railway station, the task is to find the minimum number of platforms required for the railway station so that no train waits.
Reverse a stack using recursion.
Reverse a linked list in groups of a given size.
A backtracking question that was a variation of the N-Queens Problem.
Design a Restaurant booking system that handles concurrency.
A variation of the Trapping Rain Water Problem.
Design a Covid-19 Vaccination Center Booking System (Machine Coding Round).
Preparation Tips
Takeaways and Advice for Interviews
My preparation largely revolved around consistent practice and strategic thinking during interviews. Based on my experience, here are some key pieces of advice:
- Always Talk Out Loud: It's crucial to verbalize your thought process during an interview. Interviewers want to understand your approach and problem-solving methodology. Engaging in discussions with them is incredibly helpful, as they often provide hints if you get stuck.
- Focus on Time and Space Complexity: Most companies emphasize these aspects. Having a solid understanding and being able to articulate the time and space complexity of your solutions is vital. Aim to write production-level code; avoid pseudo-code unless explicitly permitted.
- Handle Rejections Gracefully: Rejections, especially from big companies, are a part of the process. Don't get disheartened. Focus on daily improvement in Data Structures and Algorithms by practicing consistently on LeetCode. Never give up on your goals.
- Combat Burnout: There will be times you feel burned out, but remember that you only need one success for all your hard work to pay off. Patience and consistent practice are key to eventually achieving your desired outcome.
I'm open to suggestions and thoughts for improvement from the community. Keep hustling and learn from your failures!