Status: Experienced, Senior SWE, Employed, 10+ YoE Position: E5 SWE @ Meta Location: NYC Date: January 18, 2024
Technical phone screen (1 hour):
Virtual on-site
Standard behavioral interview. I prepped using the guide on Meta careers and had written down detailed bullet points for the prompts on the Meta career website. Unfortunately, not a single one was asked and instead I got the usual "tell me about a conflict, tell me about a tight deadline" that I should have expected but neglected to prepare deeply for. The problems I talked about also didn't resonate with the hiring manager. In hindsight, I should have created some plausible and relevant examples that would resonate better.
Two coding rounds Just like the phone screen, two questions each round, with 40 minutes or less to do both. All the problems were all tagged Meta and are very common. Unfortunately, in my rush, I overcomplicated one problem despite having an optimal verbal solution and writing the algorithm in English. I did mention how I would fix it if I had a bit more time. For two other problems, I wrote correct, optimal code (or so I thought) but perhaps slightly more complicated than what I would have liked. I also used some newer Python syntax. For instance, I referred the interviewer to the Python reference when I said the heapq API doesn't accept a custom comparator (mostly true) which is why I had to add some roundabout code to handle a different comparison criteria.
System design- I will add more detail when I update this post with final results, but it was one of the dozen or so common questions. I spent a lot of time discussing how to handle very high concurrency and contention for a feature that seemingly required it. The interviewer was looking for a specific approach that mitigated this and wanted the exact technique which escaped my mind. I think this interview has the potential to result in a rejection.