META | Software Engineer (Product) E4 | Full Interview Experience | US
Anonymous User
1538

Hey everyone! Wanted to share my full Meta interview experience, from the recruiter reaching out to the virtual onsite and final decision. Hopefully, this helps anyone preparing!

Recruiter Call (Nov 20, 2024)

Got a LinkedIn message from a Meta recruiter with two job postings—one for Infra and one for Product roles. Since I have a web dev background, the Infra role seemed more systems-focused, so I picked Product. I let him know, and he sent a calendar link to schedule a call. I also attached my resume directly in the LinkedIn chat.

On the call, he asked about my background, location, visa status (OPT), and experience—specifically my projects, technologies, and if I had any mentorship/leadership experience.

Then he explained the process:
🔹 First, a coding screening round (2 LC-style questions)
🔹 If cleared, virtual onsite with coding + system design + behavioral rounds (for E4)

Got an NDA to sign (so technically, I shouldn’t be posting this but I will post whatsoever) and filled out a US work authorization form.

I was in India at that time, so I requested 3 weeks to schedule the screening instead of the usual 2 weeks. He agreed, and I booked it for Dec 23rd.


Screening Round – Dec 23, 2024

Interviewer joined 3 mins late (literally looked like he rolled out of bed lol). Super friendly though. Quick intros, then straight to coding.

First Question: Given a directory path and starting directory, return the final directory after following the path. (Classic stack-based problem with edge cases like /./, ~, etc.)
Went well, dry-run successful. But I was super nervous since it had been a while since I last interviewed. I felt the nervousness

Second Question: Diameter of a binary tree—but return nodes count instead of edges.
I defaulted to returning edges (common LC question). Interviewer hinted at it, but I didn’t realize until the end of dry-running test cases.

Thought I bombed it, but the next day, I got an email I passed!


Virtual Onsite – Scheduled for Jan 24 & Jan 31

Meta prefers splitting 4 rounds in two days, but I requested to combine all of them in a single day due to my current job constraints. My reschedule request was ignored by recruiter coordinating the interviews, so I reached out to my original LinkedIn recruiter, who was super helpful and suggested to take them in two days instead of a single day. Adjusted the interviewes schedule to my comfortable dates and got it done.

Each coding round is 45 mins, and you’re expected to:

  1. Solve two questions optimally
  2. Dry-run with edge cases
  3. Explain time & space complexities
    (Realistically, you have 35-40 mins to do all this.)

Virtual Onsite – Round 1 - Coding (Jan 24, 2025)

Interviewer was stern with a heavy accent (hard to follow, but managed). No small talk, straight into coding.

First Question: Given course prerequisite pairs [[1,0],[2,1],[3,1]], return the max courses you can complete. (Topological sort variation, checking for cycles.)
Completed and dry-ran with multiple test cases. Took ~28 mins.

Second Question: Count subarrays whose sum equals a given target (elements may have negatives included).
Tried explaining the prefix sum + hashmap approach. Interviewer didn’t followed my approach, made me dry-run a lot before coding itself, which ate up my time. Never got to writing the code.


Virtual Onsite – Round 2 (Behavioral)

Interviewer was chill & friendly. Standard Amazon LP-style questions: Examples are below. Was asked 7-10 of these questions.

  • Critical feedback you gave/received
  • Disagreement with a manager
  • A time you were right but had to convince others etc..
    Used the STAR method whereever possible. Went well!

Virtual Onsite – Round 3 - Coding (Jan 31, 2025)

This interviewer was super strict (even stern than the first one). No intros, just straight to coding which makes sense given the time constraint.

First Question: Implement a^b (a power b) using only +,-,/,*.
Used recursio*, handling negative b, edge cases (a=0, b<0, etc.).
Interviewer made me dry-run TWICE before & after coding for this simple questions which consumed lot of my time.

Second Question: Merge three sorted arrays into one sorted, unique array (removing duplicates).
Initially solved in two passes, then optimized to three-pointer approach.
Handled all the logic in arraylists and Time ran out while converting ArrayList → Array before return. Asked for 1 more min to finish, but interviewer denied it (he said it is strictly 40-min only for coding and rest 5 mins for questions).


Virtual Onsite – Round 4 (System Design)

Interviewer was a very senior manager, super serious throughout.

Task: Design a news feed system (like FB/Instagram).
Listed functional & non-functional requirements
Designed HLD and explained edge cases like how fan-out works for celebrity accounts etc
Discussed DB choices for media storage, large video handling
Detailed API design + data models

Ran out of time for non-functional aspects (consistency vs availability, CDN, etc.).


Result – Rejected (Feb 4, 2025)

Got the decision exactly 3 days later. Recruiter said, "Feedback is confidential, but it’s not positive." When I asked which area I needed to improve, she just said, "All rounds need improvement." I felt upset and low but revisited my experience. I am not ashamed. I felt with the coding capability I have at this point I gave my best. All I need to improve is doing it even faster. Fast enough to fit two coding questions covering all requirements, edge cases, followups, time-space complexities and dry runs in 40 mins(sometimes 35-37) mins if you are unlucky and interviewer joins late.


Key Takeaways

  1. Coding rounds are FAST. You need to:

    • Solve two questions optimally
    • Dry-run thoroughly
    • Explain time-space complexity
    • Finish ALL of this in 35-40 mins
  2. System Design (for Product) = API & Data Models focus. Less about distributed systems, more about data flow & API design.

  3. Mock interviews matter. I should’ve practiced timed mocks to improve pacing.

  4. Interviewer styles vary A LOT. Some are friendly, some are super strict, some make you dry-run excessively before coding. Adapt quickly.

  5. Time management is everything. Knowing when to go deep vs. when to move on is a needed skill especially for sys design.


What’s Next?

Cool-down period is 1 year for META, but I’ll come back stronger! In the meantime, onto other companies and back to grinding. Hope this helps someone. I feel I have given something back to the community and it feels good :) If you’re preparing, good luck! Drop any questions, happy to help!

Comments (4)