Preparing for an interview? Check out Cracking the Coding Interview
Published on

Microsoft | Software Engineer | L60 | Bengaluru | Hyderabad | India | [Offer]

Author
  • Shared Anonymously

Position: Software Engineer I (L60) at Microsoft
Location: Bengaluru, India
Date: August 2024


Interview Process

Initial Recruiter Contact

  • Date: 30th July 2024
  • Received an email and call from the recruiter asking if I was interested in a specific job ID for Microsoft.

Online Assessment (4th August 2024)

  • Completed the test: 4th August 2024
  • Cleared the assessment: Received an email on 6th August 2024 confirming I had cleared the online assessment and to be available for technical interviews on 14th August 2024.

Round 1 (14th August 2024)

Interviewers: Two interviewers were present.
Problem: Median of Two Sorted Arrays (O(log(m+n)) complexity)

Follow-up Questions:

  • What if one of the arrays is empty?
  • How do you handle arrays of unequal sizes?
  • Can you prove that a linear solution (O(m+n)) would not be efficient for larger datasets?
  • Explain the conditions for finding the correct partition during binary search.
  • Was asked a lot of edge cases by the 2nd interviewer (senior guy but was doing shadow).

Round 2 (14th August 2024)

Interviewers: Two interviewers were present.
Problem: Supermarket Promotion (Total Prize Money Calculation)

Follow-up Questions:

  • How would you optimize the solution for time and space complexity?
  • What if all receipts on some days were the same?
  • Can you suggest alternate data structures for handling max/min extraction?
  • How would you handle days with very few receipts (e.g., k=0)?
  • Was asked a lot of edge cases .

Round 3 (14th August 2024)

Scenario: Policy Management Service Design

Follow-up Questions:

  • Design the database schema for storing policies.
  • How would you index the database to efficiently handle GET requests?
  • How would you manage policies that are frequently updated or queried?
  • Additional follow-up questions related to design and optimization.

Round 4 (19th August 2024)

  • Interviewed by a senior engineer with 20 years of experience.
  • Discussion of high-level project details, reasons for wanting to join Microsoft, and why I wanted to leave my current company.

Questions:

  • Explain the high-level design (HLD) of projects on your resume.
  • REST API Question: How to debug a 401 error from the client?
  • Performance Question: Page load time is too long; what steps would you take to find the root cause?
  • JavaScript Performance: The first request is slow because the JavaScript is taking time to load—how would you resolve this?
  • Monotonic Stack Design:
    • Design a stack where values only increase or decrease.
    • Push elements greater than or equal to the current top element and ensure pop operations return expected results.
    • Discuss the push and pop operations and potential issues with element loss.

Behavioral Questions:

  • How do you approach a feature with limited context, particularly when tasked with improving efficiency by 15%?
  • How do you coordinate with other teams when needed for context?
  • If there is little opportunity for improvement, how would you communicate this to your team lead?

Selection and Offer

  • Selection Confirmation: Received confirmation on 20th August 2024, the day after my AA round.

HR & Offer

  • HR BGV Mail: 22nd August 2024. Requested Bengaluru location instead of Hyderabad.
  • Offer Letter Received: 27th August 2024.

Decision

  • I had two offers in hand at the time, with the other company offering a Software Development Engineer II (SDE II) role and a higher base salary compared to Microsoft's offer. However, considering the prestige, growth potential, and long-term career opportunities at Microsoft, I decided to move forward with their offer, despite the lower base salary as the ctc was higher due to stocks.

YOE at the time of Interview: 1.11 years of experience

ReportMark as Helpful