LinkedIn Phone Screen Senior Software Engineer - Systems Infrastructure
Summary
I recently completed a phone screen for a Senior Software Engineer - Systems Infrastructure role at LinkedIn, where the primary focus was on a challenging graph traversal problem related to determining connection distances between users in a social network.
Full Experience
My phone screen at LinkedIn started with a brief introduction, after which the interviewer presented a fascinating problem. The core task was to calculate the connection distance, essentially the shortest path, between any two users in a hypothetical LinkedIn network. They provided clear examples, like Bob-Alice-Frank having a distance of 2, which immediately cued me into thinking about graph algorithms. I spent some time clarifying the constraints and edge cases, then proposed a Breadth-First Search (BFS) approach. I walked through the algorithm step-by-step, discussing how I would represent the network (adjacency list), manage visited nodes to prevent cycles, and efficiently find the shortest path. We also talked about the time and space complexity of my solution. I felt confident in my explanation and approach.
Interview Questions (1)
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
Preparation Tips
My preparation primarily involved consistent practice on LeetCode, focusing heavily on graph algorithms, especially BFS and DFS, as these are common in system-level problems. I also reviewed common data structures and their appropriate use cases. Additionally, I spent time on behavioral questions to ensure I could articulate my experiences effectively.