← Interview experiences
Got the offer

Sr. Software Engineer at Meta

Difficulty
Process took
1-2 Weeks
Rounds
6
Format
Remote
Applied via
Other

How it went

  • Stay Organized, the process moves fast, sometimes from recruiter chat to onsite in less than a week. Keep a dedicated calendar, take clear notes after each round, and follow up promptly with the recruiter if you have questions.
  • Recruiters often share non-negotiable details (location, team, commitment period) before you commit. Make sure you read and fully accept these. Asking later can create confusion and frustration.

What they would tell you

  • Stay Organized, the process moves fast, sometimes from recruiter chat to onsite in less than a week. Keep a dedicated calendar, take clear notes after each round, and follow up promptly with the recruiter if you have questions.
  • Recruiters often share non-negotiable details (location, team, commitment period) before you commit. Make sure you read and fully accept these. Asking later can create confusion and frustration.

How to prepare

  • Have your behavioral stories ready, especially if you're from a non-FAANG background. They want to see how you handle situations common in large companies.
  • For system design, don't just memorize patterns. Be ready to explain why each component exists and how it contributes to the overall architecture.

Their background

I've spent the last six years of my career deep in the startup world, which has been an incredible ride. It taught me how to wear multiple hats, build systems from the ground up with limited resources, and thrive in a fast-paced environment.

Round by round

  1. 1

    Phone Screen45 min

    It all started when a recruiter found my profile from an application I’d submitted five months ago. During the call, I was asked two questions. The first was a tree problem, Binary Tree Right Side View. The interviewer was keen on understanding why I chose DFS over BFS. The second problem was about sorting a nearly sorted array. I felt pretty confident in my solutions and explanations, and the follow-up questions went smoothly. The very next morning, I got an email saying I was through to the onsite rounds.

  2. 2

    System Design 145 min

    This was my first "onsite" round. The question was a classic: design a system to get the top 10 most viewed videos from the last 7 days. I walked through a pretty standard approach, breaking down the components for ingestion, processing, and aggregation. The interesting part was the interviewer's style; he was very quiet and didn't ask many follow-up questions. He mostly just listened to my design and then asked me to explain the specific role of each component I had laid out.

  3. 3

    Coding Round 160 min

    This coding round was a bit of a mixed bag for me. The first question, "Buildings With an Ocean View," went smoothly, and I did a full dry run of my solution as requested. The second one, about finding the capacity to ship packages within D days, was where I stumbled a bit. I had the right approach and got the optimal complexity, but I made a small calculation mistake during my dry run. I corrected it, but it was one of those moments that sticks with you. I just had to shake it off and focus on the next round.

  4. 4

    System Design 260 min

    The second system design round was much more interactive. The task was to design the privacy functionality for Facebook posts, and the interviewer really dug into the practical implementation details. We spent a lot of time discussing the GET and POST API designs, and how the database schema would work to handle different privacy options like Only Me, Friends, Friends of Friends, and Public. The real challenge came when we explored the complexities of updating a user's timeline in real-time if they changed the privacy settings on a post. It was a really engaging and in-depth conversation where we went through multiple scenarios and how the system would need to scale.

  5. 5

    Coding Round 260 min

    I was extra careful going into this final coding round, knowing it would be a key one. The first problem was to find the maximum sum of two non-adjacent elements in an array that could include negative numbers and duplicates. I made sure to do a thorough dry run this time to avoid any mistakes. The second question was pretty interesting, it involved two linked lists, where each node contained a string. The task was to check if the concatenated strings from both lists were identical. I first gave a brute-force solution, then followed it up with an optimized approach. The interviewer really pushed me to think through edge cases, and he even pointed out one I missed during the dry run. Instead of having me write the code to fix it, he just asked me to verbally explain how I would handle it, which I appreciated.

  6. 6

    Behavioral45 min

    The last round was the behavioral interview, and coming from a startup, I had plenty of stories to share. The interviewer asked about times when I had to take initiative, situations where a suggestion I made improved a project, and how I handled the challenges of starting a project from scratch with little to no documentation. We also touched on how I handle criticism. I kept things honest and tried to structure my answers clearly, breaking down each situation, explaining what actions I took, and sharing the results of each scenario.

What came up

MediumRemote5+ years

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

Sources