# My Preparation for Tech Giants

After four months of strong preparation finally cleared **Microsoft.**

**October'21:** I started my preparation from October Mid Week. I revised my basics in a week or two. During this time I solved tiny problems from [codingbat.com](http://codingbat.com) and hacker rank to buckle up my basic java questions.

\
**November'21:** After two weeks, I started with leetcode questions. I was able to solve 2 medium questions a day. At this point, I realized if I continue at this pace, I cannot solve more problems. I increased my pace to 4-6 questions in a day anyhow topic-wise ( Hard Deadline ).  I marked my calendar to complete the questions from this topic (Try to solve top questions). I reached the end of November. At this stage, I was able to figure out what kind of data structures should I use for a particular problem. At this stage, I have covered the top approaches used to solve the problems and they ask most in the interviews. Then I took leetcode premium and algo expert, system expert premium. and solved 8-10 questions a day.

***Google:***

*In the last week of November, I received a call from **Google** for Backend Engineer. Requested HR for one month Preparation. She gave me time for preparation but I was unable to clear all the rounds.*

\
**December'21:** By the third week of December I was able to solve 80 questions from Algoexpert. I solved easy medium and a few hard problems. There are advanced questions also in that. They have questions segregated by topic-wise, level. Each and every question, I used to solve the problem in two or three approaches. Make a note of all these in an excel sheet. By the End of the week, I used to recap all the questions I have solved till that week. I started with mock interviews in the last week of December.

![Study sheet](/files/fCTdNYQRThz2buYKeJkm)

**Amazon:**

*I received the interview request from **Amazon** and cleared the assessment successfully. Requested HR team for **20 days** for interview preparation. After successful preparation, I was able to clear four rounds of interviews but got rejected in the fifth round.*&#x20;

**Microsoft:**

*By end of December, I received the call from Microsoft HR - I was shortlisted for the interview and as HR said, I received the Codility test link and completed the test in just 30 mins. In the remaining time, I added the comments and checked for performance.*&#x20;

*Codility platform has normal test cases, Hidden test cases, Performance test cases. I was able to solve both the problems in O(n) complexity. One question from Strings and another question is based on DP. -- Cleared the assessment.*&#x20;

![My December'21 calendar](/files/x9pCV0g4A13xbooVI4qT)

\
**January'22:** I revised all the topic-wise notes from the excel sheet and start thinking of new approaches to the problems. and started giving mock interviews. I gave 1 or 2 mock interviews a day to keep my confidence.

**Microsoft:**

*In the first week of January, I received the schedule for the Microsoft Interviews. At this stage, I was not having a lot of confidence in the interviews. Since I have already been rejected by Big Tech giants. All the rounds happened on the same day.*&#x20;

***D-Day:***&#x20;

***10:00 AM -** Interviewer directly started with problem-solving ( Literally my confidence went very low ), after solving the **first problem on trees** with good time complexity, my confidence levels increased. The Interviewer was happy with my solution. Since there is more time left, he gave **another problem on twisted Array**, was able to solve the question with a small hint- The Interviewer liked my approach. He asked to code for both problems ( Production-ready code ) in less time. --- **Self*** ***Feedback**: Hire*

***11:30 AM -** Started with Low-level design round. The Interviewer asked me to design Split wise. First ten minutes, I focused mostly on the problem statement ( Requirements, identify top functionality ).  Then started with identifying Models, Interfaces, Custom Data types, Enums, Services, Custom Exceptions, Driver Codes. The Interviewer Mostly focused on the Models, OO design principles. --- **Self*** ***Feedback**: Strong Hire*

***2:15 PM - \[Most Interesting round]** The* *Interviewer was very cool. He set the agenda of the call in starting three minutes.*&#x20;

*For 10 - 15 min, There was a deep-down project discussion,*

* *Why do you use elastic search?*
* *How do you debug in a production environment?*
* *How do you detect services down / Database Down?*
* *What changes you have done as part of performance optimization?*

*Next, he jumped on to the Problem statement.* \
*Build high scalable, low latency, highly available systems like Amazon or Flipkart, or dunzo Initially, the interviewer asked me to list down the important features then moved to the high-level part. The Interviewer expected me to move from MVP, Staging system requirements, Production requirements.*\
\
\&#xNAN;***Follow up questions:***

1. *Why NoSQL Database but not RDMS?*
2. *Why Microservice architecture why not monolithic?*
3. *Do we need a single load balancer / Multiple load balancers?*
4. *Can you say load balancer can be a single point of failure?*
5. *How can you make sure the system is having highly available and less fault-tolerant?*
6. *How do you handle failure in any of the micro-service?*

*This round lasted for 1:25 min -- **Self Feedback:** Strong Hire*

***6:30 PM - As appropriate - AA Round - Principal Project Manager took this round***

***15 - 20 MIN*** - *Deep Down into project discussion at the architecture level and recent challenges you have faced in the project. I used STAR ( Situation, Task, Action, Result ) format to answer these questions*\
\&#xNAN;***20 - 25 MIN*** - *After that, I had given the task to design Google Pay System - Focus is mostly on how to handle payment failures and database design.*

***10 - 15 MIN*** - *Few behavioral questions, Why Microsoft? Why are you leaving the current company?*

*In just 3 min after completing this round, I received the call from HR, '**Congratulations Sunil, Welcome to Microsoft** '. I didn't believe that I got selected in **Microsft**. After five minutes, again  I called HR and asked for the next steps, then she said you will be receiving an email for document verification then I believed strongly* :smile: :tada:

![My January'22 calendar](/files/4oURUAxc1eL4PHDZpTv9)

**GITHUB:**

*In the third week of January, received the interview request for Github (SDE III ), was able to clear the two rounds. Got rejected in the final round.*<br>

**Daily Strategy: Mon - Fri: ( 3- 5 Hrs per day )** Solved at least 2 or 3 problems before starting your working hours (Mostly Leetcode daily challenge, GFG Problem of the day). During working hours I subscribed to email communications from **DailyByte, AlgoDaily, Daily Coding Problem** from J**AN 2020**. I just used to see the problems and think about approaches but didn't code to the questions. At the end of the week, I used to solve the questions.

![Consistency ](/files/udoHNHSLu2XQ0PTtp8tm)

\
**Sat-Sun: ( 10 -12 Hrs per day)** Spent one hour in the contest and then revise at least one topic, see different approaches one problem can be asked for and revise the excel sheet I have created. Solve the problems from **DailyByte, AlgoDaily, Daily Coding Problem email communications**. Solve at least two to three interview experiences from FAANG.

![Consitency in Geeks For Geeks for three Months](/files/tto6L0hk4xrYXsIHCiNU)

**Resources:**

**Algorithms** - Leetcode, GFG, Algo Expert&#x20;

**Low-level Design** from interview experience&#x73;**,** Head First Design Patterns

**High-Level Design** - Alex Xu - System design, Grokking, Gaurav Sen Youtube videos


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.sunilgudivada.dev/notebook/miscellaneous/my-preparation-for-tech-giants.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
