← Interview experiences
Got the offer

Staff Software Engineer at Linkedin

Difficulty
Process took
3-4 Weeks
Rounds
6
Format
Remote
Applied via
Referral

How it went

  • The best way to prepare is through mock interviews. Practice system design problems, and think about how you’d scale systems like internal notification services or real-time caching. The more you practice, the more natural it will feel when you're in the hot seat.
  • When working on system design problems, always ask yourself, "How will this grow?" Think about future scalability and how the design will evolve as the system scales. Show that you’re not just solving for today, but building something that will stand the test of time.

What they would tell you

  • The best way to prepare is through mock interviews. Practice system design problems, and think about how you’d scale systems like internal notification services or real-time caching. The more you practice, the more natural it will feel when you're in the hot seat.
  • When working on system design problems, always ask yourself, "How will this grow?" Think about future scalability and how the design will evolve as the system scales. Show that you’re not just solving for today, but building something that will stand the test of time.

How to prepare

  • Max Stack problem might seem tricky, but once you break it down and understand the various approaches, it becomes manageable. Similarly, with the Minimum Window Substring, you’ll need to get creative, especially when handling the wrap-around condition. Spend time on LeetCode practicing these problems so you can approach them with confidence, explaining the time and space complexities along the way.
  • The Craftsmanship round is your chance to show why you do what you do, not just what you’ve done. Be ready to discuss your approach to mentoring, handling technical debt, and your strategies for improving legacy systems.

Round by round

  1. 1

    Screening Call (Intro + DSA)60 min

    The first round was a screening call with the recruiter. We talked about my background, leadership experience, and why I was interested in LinkedIn. Then came the technical part: Max Stack (LeetCode Hard)

    • I explained multiple approaches, discussed space and time complexity, and implemented the solution live with the recruiter. It was a great way to show my problem-solving process. The recruiter seemed happy with the result and passed me to the next round.
  2. 2

    DSA 160 min

    Next, I jumped into a live-coding round with two problems. It was a bit challenging but not overwhelming. Problem 1: Minimum Window Substring

    • This one required some creative thinking, especially when considering the wrap-around condition. I started with a straightforward approach, but after discussing some edge cases with the interviewer, I realized I needed to optimize the solution. Problem 2: Shortest Path Between LinkedIn Connections

    • The problem involved graph traversal. The interviewer encouraged me to use Bi-directional BFS for efficiency, which I implemented.

  3. 3

    DSA 2 (Advanced Algorithms)60 min

    The problems were a bit more algorithm-heavy. It was really about testing how well I could optimize solutions while under time pressure. Problem 1: Word Ladder

    • For this one, I went with the O(M*N) approach, and the interviewer seemed pretty happy with the optimization. It felt good to see the solution come together smoothly. Problem 2: Shortest Word Distance II

    • I used a two-pointer approach and binary search for better performance in cases where one string’s occurrences were fewer than the other. The interviewer was impressed with my thought process.

  4. 4

    System Design90 min

    The round kicked off with a few project and leadership-related questions. Honestly, I don't recall the exact ones, apologies for that! But the conversation quickly moved into discussing the most complex project I recently led.There were a lot of follow-up questions to better understand my role and responsibilities. After that, we moved on to the system design problem. Problem: Design a Flexible In-Memory Cache I was tasked with designing a flexible in-memory cache that could be customized for things like capacity and eviction policies. The cache needed to let users specify:

    • Capacity: How much data the cache can hold, considering both memory resources and data size.
    • Eviction Policy: Different strategies for removing data when the cache reaches its limit, like Least Recently Used (LRU) or Lowest Priority. The idea was to make the cache flexible enough to be tailored to different needs, balancing performance with resource usage.
  5. 5

    Craftsmanship (Behavioral)60 min

    The craftsmanship round was mostly behavioral. It’s one of the rounds I enjoyed the most because it wasn’t just about “what” I did, but “why” I did it. Questions:

    • How do you define a quality product?
    • Describe your strategy for code reviews.
    • How do you deal with technical debt in growing teams?
    • If you joined LinkedIn’s legacy app, and it had no tests or monitoring, how would you go about improving it? The interviewer focused on my ability to handle team dynamics, mentorship, and scalability. They also probed into how I prioritize tasks and balance trade-offs.
  6. 6

    Hiring Manager60 min

    This round was with the hiring manager (VP-level). The interviewer asked about my leadership experiences and my approach to handling large-scale systems. They were very focused on problem-solving abilities and strategic thinking. Questions:

    • Talk about a complex project I led recently. What were the architectural decisions made?
    • How do I approach operational excellence?
    • Why do I want to join LinkedIn, and what excites me about their mission?
    • Design an internal notification system that can handle millions of users at scale. We also discussed my project experience in microservices and distributed systems. The interviewer asked a lot of follow-up questions to gauge how well I could think critically under pressure.

What came up

HardRemote5+ years

A candidate-reported account, lightly edited. Interview processes change by team and date.

Sources