Applied directly via portal for Senior Software Engineer role (L63)

The interviewes were scheduled to be conducted within a single day itself. The recruiter shared initially the invite for first two interviews. Upon clearing those I got the invite for the remaining ones.


Round 1:
Problem link: https://leetcode.com/problems/course-schedule-ii/

Given a list of packages with dependency on other packages. You need to provide the order in which you would install these packages.

The list of package was such that dependancy[i] = [a, b], which meant that package a requires package b to be installed before it.

Additional Discussion:
Since we finished early, the interviewer moved on to some open-ended system design discussions, focusing on:

  • How to reduce system latency

  • How to handle high throughput

  • Techniques to improve scalability and fault tolerance


Round 2:

Interviewer spent the first 15 mins discussing a complex problem that I had solved and how did I indentify the issue and came up with the solution.

Problem link (this problem is similar but not same): https://leetcode.com/problems/implement-trie-prefix-tree/

Implement two functions:

  • addWord(string word) → adds the word to the dictionary

  • getWords(string pattern) → returns the three lexicographically smallest words that start with the given pattern.

Follow-up:
If the pattern contains a dot (.), it represents a wildcard where any character (a–z) can appear at that position.
We need to handle this case efficiently and still return the three smallest lexicographical matches.


Round 3:

HLD: Design a Key Value store like Dyanamo DB.

The interviewer in this round was really great. He wasn't interviewing me but was rather a part of the discussion. He would closely listen to my response and ask questions on them. He would also ask about alternatives and in depth questions.

I had fun in this round, although I got extremely nervous with all the questions. The interviewer gave me feedback that I had good knowledge of the system.

This made my day : )


Round 4:
Hiring manager round.

The manager read my resume and saw that I had less experience for the L63 role. They quickly asked if I was open for a downgrade.

They asked me to quickly write my strengths and weaknesses from the perspective of my manager, peers and myself.
Along with this they asked me to draw a detailed diagram for one of the projects that I had mentioned in my resume from current job with it's throughput, latency and other details.

Asked questions about the project and then generic questions like, Diff between thread and process, What is CAP theorem, some network protocals related questions.

I answered all the questions fairly well, but at the end of the interview the hiring manager provided feedback that I might not be able to make the bar for L63 and asked me if I would consider a downgrade.


This feels so bad, having given all the rounds well and then getting low balled due to my years of experience.

YOE: 4.5 Years

Comments (11)