Gave interviews for infra track at LinkedIn Bangalore for SWE role.
Applied via LinkedIn easy apply.
Prior Experience: 1 YoE FTE at FAANG
Total 7 rounds:
1. Phone Screen
- https://leetcode.com/problems/paint-house-ii/. Discussed multiple approaches, interviewer kept asking for optimizations and finally settled for O(n) space and O(n^2) time although O(1) space is possible.
- Questions on semaphores, multithreading
- Round went well, was able to complete code and answer all questions properly. Difficulty: Hard
Recruiter called in a week with positive feedback. I asked for a month prep for onsites as I did not have much prep on system design and concurrency rounds.
2. Onsite 1 [Coding]
3. Onsite 2 [System Design]
- Asked to design a metric publishing system such that you can visualize service metrics of a distributed system [CPU/memory usage] etc and certain query patterns were given to optimise such as query by time range or host. No right or wrong solution but discussed trade-offs with interviewer constantly and came up with a design. Multiple questions on partitioning, sharding etc.
- Stretch goal was to implement alarm system on these metrics. For example: send email if CPU usage crossed 90%. Designed this as well.
- Reading DDIA helped a lot for this round.
- Round went decent, could have been better. Difficulty: Medium-Hard (need proper design prep)
4. Onsite 3 [Coding]
- Number of times a string k appears in string s. I think this is a common question but can't find the link. Suggested and coded O(n^2) 2 pointer approach. Was asked for optimizations, I told them KMP but don't remember implementation. Interviewer was satisfied.
- https://leetcode.com/problems/accounts-merge/ Needed a small hint and then was able to code completely
- Round was good. Difficulty: Medium
5. Onsite 4 [Concurrency]
- Implement bounded blocking queue with producer-consumer approach. Had practised similar question and was able to do it quickly.
- Interviewers probed deeply on multithreading concepts and asked what would happen if certain parts of my code were changed, edge cases etc. Was able to satisfactorily answer all.
- Required good knowledge of multithreading concepts such as semaphores, locks and JAVA constructs for multithreading.
- Round was good. Difficulty: Medium-Hard
Was exhaused after so many technical rounds.
6. Onsite 5 [HM]
- Discussion about past projects, why looking to switch etc
- Discuss any challenge that you faced
- How did you resolve a technical conflict among the team
Had prepared answers for these common questions and was able to sell well.
Recruiter reached out 2 weeks later saying interview feedback is positive but vacancies are over in the team I was interviewing for and another HM wants to take my profile.
7. Onsite 6 [HM]
- Similar as previous round however this HM seemed much more technically sound and I enjoyed my discussion with him.
- Discussed technical challenges, pain points, long term vision of my current team.
Received feedback from recruiter in a week that everything is positive and they will be rolling out the offer.
Offer details:
https://leetcode.com/discuss/compensation/2147619/LinkedIn-or-SWE-or-Bangalore-or-2022