Hi Leetcoders, I am posting my interview experience with LinkedIn India for the Staff Software Engineer role. For the Staff role, they have total of 6 rounds: 1 Screening and 5 online rounds
Here is the breakdown of all the rounds:
Round 1: Screening
In this round, Firstly, I was asked to give my detailed career intro along with leadership/project related questions:
Few follow-ups were there and this discussion lasted for around 20 mins
Then, I got a LC Hard DSA question : https://leetcode.com/problems/max-stack/
I discussed 2-3 most optimal approaches and the interviewer agreed on one of the approaches to code it for all the helper methods along with discussion on Space and Time Complexity. Also, I was asked to dry run on a pre-written TC.
Rating : Strong Hire
Round 2: DSA 1: Staff Coding - Apps
Q1: https://leetcode.com/problems/minimum-window-substring
The problem was extended to a condition when the source string is wrapped around.
Q2: Shortest path between LinkedIn connections. An adjacency list is given, a source and a target. Find the connection distance between source and target. Print the path as well.
I discussed the optimal solution : Bi-directional BFS and coded for the same.
Rating : Strong Hire
Round 3: DSA 2: Staff Coding & Algorithms 2
Q1: https://leetcode.com/problems/word-ladder
I gave the most optimized O(M*N) approach inspired by the below link:
https://leetcode.com/problems/word-ladder/submissions/1595132398
Q2: https://leetcode.com/problems/shortest-word-distance-ii
Gave the optimal 2-pointer approach.
Extension: For the scenario if one string's occurences are less than other, used binary search for the more frequent string.
Rating : Strong Hire
Round 4: System Design
Initially, this round started with project and leadership based questions. Don't remember the exact questions, Apologies.
Next, the interviewer covered the most complex project I recently led and covered about the security aspects and challenges faced. There were multiple follow-ups to understand my roles and responsibilities working as a tech lead.
Next, I was given the below system design problem:
Design a flexible in-memory cache with customizable capacity and eviction policies.
The cache should allow users to define:
This flexibility ensures the cache can be tailored to meet specific requirements, balancing resource usage and performance.
Once the LLD created was agreed with the interviewer, it was extended from HLD perspective for multiple nodes in distributed system setup covering all the challenges and other adhoc scenarios like hot key issue for a write-heavy setup. Also, discussion went around few Redis related internals.
Rating : Hire
Round 5: Craftsmanship
This is mostly a behavioral based round for Staff role. It covered 8-10 scenario questions with internal follow ups. Questions were as follows:
-> How do you define a quality product/system?
-> Describe your strategy regarding code reviews
-> Talk about a project that had many junior engineers and how I kept the project quality high/ If your team keeps growing and you get more junior engineers, what do you do?
-> As a hypothetical situation, Imagine you join LinkedIn on a massive team that owns a legacy application. The application lacks adequate testing and monitoring and has slow response times. Consumers complain about this. Deployment of the application often contains bugs. What efforts would you do as a Staff SWE?
-> Rank the following in terms of priority: bugs, no testing, no monitoring, slowness. What do you tackle first? How do you eventually turn this into micro services?
-> What do you look for when determining the success of a service?
-> What are your principles of mentorship? How do you manage technical and non-technical mentorship?
-> Talk about a time where you helped grow engineers
-> Few questions which were aligning with the LinkedIn values. Don't remember the exact questions.
Note: Please be well-versed about Linkedin values.
Rating : Strong Hire
Round 6: Host Manager
This round started with an elaborate introduction of both me and the interviewer.
Questions were as follows:
Talk in detail about the most complex and challenging project I led in the recent times which had a very large scale. I framed my answer step-by-step as follows (along with few follow-ups from the HM):
-> Team and My role
-> Customer Problem & Business impact
-> Key architectural decisions led/taken by me
-> Biggest challenges faced and how did I overcome
-> How did I maintain timely execution of the project
-> Changes in reqs/unexpected blockers
-> Ensuring alignment with stakeholders
Why looking for change? Why LinkedIn?
Describe a situation where you showed operational excellence.
Describe a situation where you suggested improvements in the project which other engineers in the team could leverage from.
Then at the end, he threw a HLD problem for designing a LinkedIn internal notification system which can handle a very large scale.
There were few cross-questions regarding the different internal microservices and Kafka being used for async handling.
This just had 10-15 mins at the end. Luckily, I was able to create the HLD diagram covering all the components.
Verdict : Selected for the staff role after a week.
Compensation details :
Base salary: 88 LPA
Target bonus : 13.2 LPA (min 15%)
PF : 4.25 LPA
RSU: 350k for 4 years (75.5 LPA)
Relocation bonus/services: ~ 5-7 L
Net CTC per year : 1.85 Cr PA (++ unlimited LinkedIn Perks)
YOE : 10
Current CTC : 63 LPA (Microsoft : Senior SWE)
Had another competing offers from Salesforce and Atlassian (~1.4 Cr PA), but finally I accepted the LinkedIn offer due to a better role and compensation.
Thanks to the Leetcode community for helping during my preparation and it's my time to give back to the community. Cheers!