First, a recruiter called to confirm. They asked about salary expectations. (Here's where you shouldn't give a number; look for YouTube videos on "how to negotiate your offer" for why.)
The recruiter provided a precise walkthrough of the entire process, along with a lot of material to study and a timeline.
Next, you create a profile on their recruiting site and confirm your availability for the interview. There's plenty of material to study there, which is even better than LeetCode because you know what to expect.
I didn't hear anything for a week, so I emailed the recruiter. They responded positively, indicating they liked me and my availability for a second round of interviews. I was then passed to another recruiter.
You have to schedule a full day for the next round.
Interview day: 5 x 45-minute interviews.
The recruiter also provided details on how to answer these System Design interviews. Be sure to read those PDFs; they can even give you temporary access to some practice sites.
I interviewed on a Friday. On Monday, the recruiter told me they would review the application during the week and let me know. On Wednesday, they informed me my application was still under review and asked for a day to talk, which we agreed would be Thursday.
On Thursday, I was super ready to employ my negotiation skills, as I was certain I was going to get an offer (otherwise, why wouldn't they have told me on Monday?).
Sadly, the call was to inform me that I wasn't selected and that I could reapply within six months.
Overall Process:
Everybody was super kind and welcoming. 10/10, I will apply again.
The recruiters were excellent and knew their stuff. They were super transparent, telling me what to expect and providing all sorts of resources.
I studied for two weeks, for three hours every day for the coding portion, and it still seems it wasn't enough. A colleague of mine said they studied for six months and got the job.
So, my recommendations:
validate(input) function that does XYZ, and the interviewer is okay with that." Don't waste time typing out how you get a sublist or something; just call "sublist = sublist(arr, i, j, etc)."I see a lot of people complaining about LeetCode-type questions, but they give you a guide with at least 20 problems, they explain thoroughly how to solve them, and they give you a lot of time to practice. If you can't learn that, maybe you'll struggle in the real job.
Signed NDA.
But read the description for an idea.
The following metrics were computed from 171 interview experiences for the Meta Senior Software Engineer role in United States.
Meta's interview process for their Senior Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having good feelings for Meta's Senior Software Engineer interview process in United States.