LinkedIn | SSE | Infrastructure Team | Rejected
Summary
I interviewed for a Senior Software Engineer (SSE) role at LinkedIn in February 2026. The interview process spanned a phone screen, HLD, DSA, and a hiring manager round, ultimately resulting in a rejection.
Full Experience
Month of Interview : Feb 2026
YOE : 4 years
I recently got the opportunity to interview for a SSE role at LinkedIn and felt like sharing the interview experience.
Phone Screen Round
- Past projects
- How does Garbage Collector work?
- How does a Garbage Collector know which object to delete?
- Identify a case where the object has no references, but still the Garbage Collector does not delete the object
- ACID properties of Database
- https://leetcode.com/problems/find-leaves-of-binary-tree/description/
Round 1 : HLD
We have a big deployment with hundreds of machines each of which is exposing thousands of statistics. You can think that each statistic is represented by the tuple [source, metric-name, value]. We want to be able to collect and aggregate those tuples in a scalable manner. The main consumers for this system are:
- A graphing system - For a certain metric-name, plot a set of sources from time t1 to t2
e.g. Memory usage of host-1, host-2, host-3 for the past week - An alerting system- Issue an alert (email, etc) when a certain metric-name goes above/below a certain threshold
e.g. Memory usage goes above 70%
Round 2
First Question :
Tree has keys and values, values represent sum of this and child node values
NOTE: This is not a binary tree
When merging - absent branches should be created, and values for existing branches are summed
Keys are unique among child nodes of a single parent
Merging is only done of keys that have the same path of keys to the root. E.g. in example given if source has 'M' node under 'C' it doesn't get merged with the 'M' under 'W'.
Child nodes could be stored in any order
Source: Target: Result:
ROOT:22 ROOT:20 ROOT:42
/ | \ / | \ / / \ \
W:2 K:16 C:4 W:5 K:2 R:13 W:7 K:18 C:4 R:13
/ | \ | | \ / / | \ \ |
V:3 E:6 F:7 M:5 M:2 P:13 M:5 V:3 E:6 F:7 M:2 P:13
struct TreeNode {
Implement this
};
class MergeTwoTrees {
public:
MergeTwoTrees() {
implement if needed
}
void merge(const TreeNode& source, TreeNode& target) {
implement
}
}
Second Question : https://leetcode.com/problems/max-stack/description/
Round 3 : DSA and Problem Solving
First Question : https://leetcode.com/problems/find-leaves-of-binary-tree/description/
Second Question :
LinkedIn is designed to connect people together, so that in people search and other related areas and LinkedIn will show a connection distance between two users.
E.g., Bob connects with Alice, and Alice connects with Frank, assuming there is no other connections, then Bob and Frank's connection distance is 2.
Examples:
Bob: ["Alice", "John"]
Alice: ["Bob", "Frank", "Lucy"]
Frank: ["Alice"]
John: ["Bob", "Jenny"]
Jenny: ["John", "Lucy"]
Lucy: ["Jenny", "Alice"]
The connection distance between Bob and Frank is 2
the connection distance between Lucy and Bob is 2, although there is a connection chain for Bob → John → Jenny → Lucy, but Bob → Alice → Lucy is shorter
Round 4 : Hiring Manager Round
Typical Behavioral Questions
Design a distributed job scheduler. Follow up questions were asked as well on the design choices and I was asked if I had to lead the project then how would I go about it.
Verdict : Rejected
Interview Questions (8)
Garbage Collector Internals
How does Garbage Collector work? How does a Garbage Collector know which object to delete? Identify a case where the object has no references, but still the Garbage Collector does not delete the object
ACID Properties of Database
ACID properties of Database
Find Leaves of Binary Tree
Scalable Statistics Collection and Aggregation System Design
We have a big deployment with hundreds of machines each of which is exposing thousands of statistics. You can think that each statistic is represented by the tuple [source, metric-name, value]. We want to be able to collect and aggregate those tuples in a scalable manner. The main consumers for this system are:
- A graphing system - For a certain metric-name, plot a set of sources from time t1 to t2
e.g. Memory usage of host-1, host-2, host-3 for the past week - An alerting system- Issue an alert (email, etc) when a certain metric-name goes above/below a certain threshold
e.g. Memory usage goes above 70%
Merge Two Trees with Summed Values
Tree has keys and values, values represent sum of this and child node values
NOTE: This is not a binary tree
When merging - absent branches should be created, and values for existing branches are summed
Keys are unique among child nodes of a single parent
Merging is only done of keys that have the same path of keys to the root. E.g. in example given if source has 'M' node under 'C' it doesn't get merged with the 'M' under 'W'.
Child nodes could be stored in any order
Source: Target: Result:
ROOT:22 ROOT:20 ROOT:42
/ | \ / | \ / / \ \
W:2 K:16 C:4 W:5 K:2 R:13 W:7 K:18 C:4 R:13
/ | \ | | \ / / | \ \ |
V:3 E:6 F:7 M:5 M:2 P:13 M:5 V:3 E:6 F:7 M:2 P:13
struct TreeNode {
Implement this
};
class MergeTwoTrees {
public:
MergeTwoTrees() {
implement if needed
}
void merge(const TreeNode& source, TreeNode& target) {
implement
}
}
Max Stack
Find Connection Distance Between Users
LinkedIn is designed to connect people together, so that in people search and other related areas and LinkedIn will show a connection distance between two users.
E.g., Bob connects with Alice, and Alice connects with Frank, assuming there is no other connections, then Bob and Frank's connection distance is 2.
Examples:
Bob: ["Alice", "John"]
Alice: ["Bob", "Frank", "Lucy"]
Frank: ["Alice"]
John: ["Bob", "Jenny"]
Jenny: ["John", "Lucy"]
Lucy: ["Jenny", "Alice"]
The connection distance between Bob and Frank is 2
the connection distance between Lucy and Bob is 2, although there is a connection chain for Bob → John → Jenny → Lucy, but Bob → Alice → Lucy is shorter
Design a Distributed Job Scheduler
Design a distributed job scheduler. Follow up questions were asked as well on the design choices and I was asked if I had to lead the project then how would I go about it.