LinkedIn | SSE | Systems Infra | Bengaluru | Offer

linkedin logo
linkedin
SSE | Systems InfraBengaluru5 yearsOffer
October 3, 202512 reads

Summary

I successfully interviewed for a Staff Software Engineer position in Systems Infra at LinkedIn, Bengaluru, and received an offer after completing seven rounds of interviews, including multiple coding challenges, system design, and a hiring manager discussion.

Full Experience

My interview journey at LinkedIn for the Staff Software Engineer role in Systems Infra, Bengaluru, involved a total of seven rounds, including two re-do rounds for coding and system design. My background is B-Tech CSE from a Tier-1 college, with 5 years of experience.

Round 1: Phone Screening

This round started with a 20-minute discussion about my past projects and resume. Following that, I was given a Data Structures & Algorithms problem. We also touched upon basics of Java, OS, and Computer Networks. I received strong hire feedback as I completed the problem optimally and answered all CS basics.

Round 2: Coding-1

I faced two coding problems in this round. I was able to solve both problems, but my approach for the second problem differed from the standard LeetCode solution, and the panel was not entirely satisfied. This resulted in a weak hire feedback.

Round 3: Coding-2

This round also had two coding problems. I was able to complete both problems with 15 minutes remaining and received strong hire feedback.

Round 4: High-Level Design (HLD)

The problem presented was about designing a system for "Top n articles shared". It was a highly interactive discussion where I explained concepts like Count-Min Sketch, using maps and heaps, and how MapReduce and Spark jobs could be utilized. I received strong hire feedback.

Round 5: Hiring Manager (HM)

This round involved a detailed discussion on one of my past projects, where significant technical depth, product, and business impact were explored. I also answered standard behavioral questions, including "Why LinkedIn?". The feedback was strong hire.

After a week, HR informed me that I needed to redo a coding round and an HLD round onsite. HR explained that the HLD redo was requested by the HM, who wanted a more senior panel from the system's infra team to conduct it.

Round 6: Coding (Redo)

In this redo coding round, I was given two problems. I successfully completed both within 10 minutes to spare, earning strong hire feedback again.

Round 7: High-Level Design (Redo)

The second HLD redo round focused on designing a key-value storage system with get(), put(), and delete() operations. This was a deep infra-level discussion, covering B-trees, LSM trees, SSD writes, internal fragmentations, write amplification in disks, compactions in LSM, layered Bloom filters, and database recovery using WAL. I received strong hire feedback.

A week later, HR contacted me with the good news of an offer!

Interview Questions (8)

Q1
Nested List Weight Sum
Data Structures & AlgorithmsMedium

Given a nested list of integers, return the sum of all integers in the list weighted by their depth. Each element is either an integer or a list (whose elements may also be integers or other lists).

Q2
All O(1) Data Structure
Data Structures & AlgorithmsHard

Design a data structure that supports increment, decrement, getMaxKey, and getMinKey operations, all in O(1) time.

Q3
Binary Tree Upside Down
Data Structures & AlgorithmsMedium

Given the root of a binary tree, turn it upside down and return the new root. You can only flip a binary tree if it is a 'left-only' tree where every node either has no children or only a left child. In the upside down tree, the original right siblings of a node become the new left children, and the original parents become the new right children.

Q4
Max Consecutive Ones III
Data Structures & AlgorithmsMedium

Given a binary array nums and an integer k, return the maximum number of consecutive 1's in the array if you can flip at most k 0's.

Q5
Design Top N Articles Shared
System Design

Design a system to efficiently find the top N most shared articles.

Q6
Insert Delete GetRandom O(1) - Duplicates allowed
Data Structures & AlgorithmsHard

Implement the RandomizedCollection class with insert, remove, and getRandom operations, all averaging O(1) time. Duplicates are allowed.

Q7
Find the Celebrity
Data Structures & AlgorithmsMedium

Suppose you are at a party with n people labeled from 0 to n - 1 and among them, there may exist one celebrity. A celebrity is someone who is known by everybody else but does not know anybody else. You are given a helper function knows(a, b) which returns true if a knows b, and false otherwise. You need to find the celebrity.

Q8
Design Key-Value Storage
System Design

Design a key-value storage system supporting get(), put(), and delete() operations.

Preparation Tips

My preparation largely leveraged the LeetCode community, which was instrumental in helping me get ready for the interviews. I hope sharing my experience can now give back to the community.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!