Skip to main content
0:01est. 4 min

Linkedin

/**

https://leetcode.com/discuss/interview-experience/4326846/senior-software-engineer-linkedin-bangalore-reject

Phone Screen Round:

Find the average of the last N numbers in the infinite stream of integers. Explained, wrote, and tested for this question.\
https://algo.monster/liteproblems/346
https://www.geeksforgeeks.org/average-of-a-stream-of-numbers/
https://leetcode.com/discuss/interview-question/264495/google-onsite-question-mean-of-last-n-integers-in-stream-excluding-k-largest

Follow up: Find the average of the last N numbers excluding the top K numbers (K<N). It was a two-set solution, explained the logic, and wrote the pseudo-code.
https://www.geeksforgeeks.org/average-of-max-k-numbers-in-a-stream/

The recruiter took three weeks to schedule the onsite round. Did lots of preparation during multiple reschedules.\
Coding 1:

1. Given an N-ary tree convert it to a K-ary tree where at most one node can have [0, K] children, rest should have 0 or K children.
2. <https://leetcode.com/problems/insert-delete-getrandom-o1/> with support for random deletion.\
Completed this round on time with all the corner cases and solutions. First problem was tricky it required a solution using a level order tree with multiple queues for the reconstruction of the tree.

Coding 2:

1. LinkedIn connection distance problem
2. <https://leetcode.com/problems/find-leaves-of-binary-tree/>\
The first problem was a BFS-based graph solution, the interviewer wanted better time complexity and explained the bi-directional BFS approach as well. The interviewer was satisfied but did grind a bit over time complexity average case, best case.

Concurrency round:

1. Producer-consumer problem with the follow-up of shutdown mechanism.\
The interviewer was expecting this round in Java, but I was not told about this. I was prepared in Python because of the simpler and cleaner code. Wrote the original problem and the follow-up question code. The interviewer asked lots of multithreading questions on the context switch at various stages of the code. He was not completely convinced on the thread to start the execution by picking the lock first when coming out of the blocking queue. Anyway, this was not the highlight, but scratch to the overall interview.

Design round:

1. Design a system where we can see top third-party articles shared in LinkedIn.\
Explained the design with bucketing logic for maintaining the counter of URLs over a fixed period, this logic was the holy grail rest design was simpler. Explained various components like async execution for better scalability, caching, archival policy, and analytics store. Nailed this round to every last bit within 50 minutes. The interviewer was quite happy and had 1-2 bad design rounds recently so a good morale boost.

HM round:

According to the prep material, it was supposed to be behavioral, but this turned out technical as well. Nothing wrong about that it was just that I was caught off guard. The interviewer started with what current project I am working on. So the current project I am working on is not the most complex or large-scale project I worked on, anyway told while expecting 3-4 minutes of ice breaker conversation. Eventually, it turned out to be a 30-minute discussion on impact, cost, and scale. Few questions on the other 1-2 projects and at the end interview was completed in 45 minutes. Although HM was engaging, he kept his poker face for the whole round which was a little tricky given it was a conversation-based round.

Didn't receive any feedback from HR for a week, so called after that. The recruiter said coding and design were good, but concurrency and HM were not aligned with the expectation. Ignored answering my down-leveling request. This was a process where I could not pinpoint where I was majorly lacking, for this cold email rejection. Anyway, few things I've learned, and would appreciate any comments on those.

1. Will wait for 1 month before applying anywhere else, doing this for 6 months. Was put on hold for 3 months for another MNC, major start-ups do not come back if I get downleveled from Sr. to SDE-2 in any of the rounds, because of my current TC and market condition.
2. Will bloat my resume a bit, I have been very transparent about the scale, impact, and tech stack. I think little lies which I can explain easily should not hurt.
3. Will be blunter to the recruiters about what I am looking for and what they can offer, I've been very submissive during the discussions and accommodated 10s of rescheduling.
4. Will pick up personal projects in Go or Java. I've been working as a backend developer in Python which makes my candidacy a little weak and getting rejected in big places because of this.

Wrote this post just to channel my disappointment to positive cause.\
फैसला होने से पहले हार कैसे मान लूं, जग अभी जीता नहीं और मैं अभी हारा नहीं।

*/