Submitted resume online. I think it said there were so many people who apply that I could a multi-hour programming challenge online and if it was successful I'd get a phone screen call. Reviewing the sample problem, it might have been an NP-Hard problem or at least one that would require several hundred lines of mind-breaking code. I program all day for a living and even off hours for other projects. Resumes should qualify one for a phone screen. I submitted just that and got a canned rejection email a couple days later, presumably for not doing the quiz.
A couple weeks later I was contacted by a FB recruiter. We spoke approximate 30 minutes and emphasis was placed on how fun a place it is to work. They do a single 45-minute in person technical interview, and if that goes well they do 4, 45-min technical interviews in a single visit.
The single 45-min session started with about 3 minutes of initial talk about my resume and what I work on now. I don't get the sense they cared at all about experience or what I was or have worked on. After that charade was done, we jumped right to the whiteboard.
Two programming questions were asked. The first was an array reordering one that was almost trivially easy but I worked through it cleanly. He seemed quite happy with that. The second was significantly harder than the first, a complex array algorithm. I worked my way through it on the board but my solution was non-ideal in time complexity after analysis. He suggested we rework it. While I was able to and understood the logic, I relied on his feedback a bit much to come to the final solution in the last minutes.
Got rejection email the next morning from recruiter. Apparently others in their interview pool for the position had got a more optimal answer faster.
Interview questions [1]
Question 1
Max sum of non-adjacent value combination in an array.
Unexpectedly, the first question in the technical round felt familiar. It was about finding a subset of strings with unique character concatenation — same problem I had worked through on PracHub a few days earlier. The interview included a recruiter screen followed by a rigorous pair of technical interviews where I tackled data structures and algorithms alongside system design concepts. After successfully answering a few more challenging DSA questions, I received an offer. The entire experience was intense but ultimately rewarding, and I happily accepted the position.
Interview questions [1]
Question 1
Given an array of strings, pick a subset whose concatenation contains no duplicate characters, and return the maximum possible length of that concatenation.
Standard cookie cutter interview with a coding interview, a system design interview and culture interview. The coding part is basically leetcode. The system design is what you can find on many youtube videos. The culture one is more tricky as they want to see that you fit Meta's culture, not that you were doing great at your existing company. So skills like dealing with conflict without calling in managers is sought after.
Interview questions [1]
Question 1
coding: I forgot, sorry
system design: design ticketmaster
culture: talk about past project; when you disagreed with a peer; how I resolved dissagreements, etc.
The interview felt more straightforward than I anticipated for a well-known tech giant. After a recruiter screen, I faced a technical round that included a DSA question about finding the lowest common ancestor in a binary tree. I was pleasantly surprised when I realized the exact problem had popped up in the algorithm practice section on PracHub during my prep. Ultimately, the experience was decent, but I chose to decline the offer as it didn’t align with my current goals.
Interview questions [1]
Question 1
Given a binary tree, find the lowest common ancestor of two given nodes in the tree.