TLDR; Had 4 onsite interviews at Facebook. Felt really good about the coding rounds and answered 2+ questions for both of them while thoroughly going through inputs and outputs and walking through code to show it was correct. Behavior round we had a good genuine discussion (at least to me it felt that way) but not sure if I answered how they wanted. Product design I did my best to talk about trade offs and explain why I would choose certain design options but, again, not entirely sure how this turned out but felt good after it. I Had an onsite at Facebook/Meta recently and I think things went well but trying to gauge my chances. I know a lot of the times you think you did well, and maybe that wasn't the case. Below is the breakdown. For background, I have had interviews at other FAANG companies in the past and this one I felt the most confident walking away from after the entire process. Obviously that is relative and feeling good doesn't always equate to an offer so just wanted to throw this out there to help with anxiousness and see what others think. Interview 1 - Behavior Round - Interviewer wanted to know about a project I was proud of. Went in depth about what I worked on and what specifically I was proud about. Talked about the complexities of building the application and we talked a lot about timeline and how I was able to meet those timelines but also ramifications from managers about getting it done on time. It felt like a good genuine discussion and the interviewer seemed interested in what exactly I was building but never really know here. Interview 2 - Coding - I had three coding questions, two leetcode easy and one leetcode medium. The first two easy questions were sort of related but required a complete re write. I walked through the test cases he provided and proposed a solution in pseudo code then coded it up and went through space and time complexities. He said the answers looked good and we moved on to the third question which was a leetcode medium. This was a binary tree type problem and I talked about different methods to traverse the tree and which one would make sense for this problem. I checked a few test cases to make sure my answer would produce the correct output and then coded it up and walked through some examples producing the correct output. Gave time and space complexity. Interviewer had a question about the space because I said that the space would be the height of the tree, which for a binary tree, could be the number of nodes in the tree in the cases that they were all just left or right tree pointers and he seemed convinced. Overall I felt like the code was clean and I did well here. Interview 3 - Coding - Two coding questions both leetcode mediums. The first question the interviewer had a little bit of trouble transferring the input to the language I was using so I helped figure out exactly what the input type would be. Walked through the code and went through some example cases with space and time complexity. He questioned the space complexity but I made a case as to why it was what I proposed and walked through a test case to prove it (which was correct) and he seemed convinced after that. Second question was another leetcode medium that I spent about 5 minutes walking through the inputs. It is similar to a question I had seen so I wanted to make sure I was doing it correctly and walked through the inputs a few times to make sure my thinking was correct and that my solution would work as intended. I was able to code up a working solution and walk through examples of inputs and outputs through the code. He asked about edge cases and there wasn't a ton for this problem but I thought of a few that would make sense. Gave time and space complexity and there was a follow up to see if I could decrease space complexity. I thought about it for a little and was able to propose an answer but we were out of time so I just added a few lines of comments where those changes would take affect. He said he thought he had enough (and we were at the 40 minute mark) and then I asked him some questions for the remaining time. Again, I felt like I did a good job of going over the inputs and outputs and producing clean code and talking through my algorithm / thought process. Interview 4 - Product Design - This is the round I was most nervous for and didn't quite know what to expect. I start off getting the functional requirements of the system and started talking about non functional requirements (got into scalability, availabiliyt, etc.) and the interview mentioned that I shouldn't focus on the scalability of the system and more about backend APIs and data structure. I prodded a little more to make sure we should just jump into API design and he said that was okay so I started going through the APIs and what information that would be put into them and what would be returned. Eventually got into entity design and I talked about a few trade offs of having information stored certain ways. As we got more into the design portion of it he asked different questions as to how I would handle certain events or what approach would be the best. I always tried to think of all the different ways to handle these and then talk about the pros and cons of each approach, ultimately ending with what approach I thought was best for the system. We didn't get into a high level design and it didn't seem like that was the way the interviewer wanted to go. For not knowing what to expect, this discussion felt good and we talked about a lot of trade offs but not entirely sure here. TC - 105k YOE - 4.5 years Update: got the verbal offer today. #facebook #meta
Was this in-person or virtual?
Virtual Onsite. Will Edit post.
Probably hire. How long did you have to wait after your phone screen to learn you were advancing to onsite?
I think it was something like a week. I have done a Facebook onsite in the past and after the phone they got back to me a few days after. I felt good about the phone interview so I thought I would move on but the long time frame made me think I had messed up somewhere.
Similar story here. Had phone screen Monday of last week, and haven’t heard anything after the recruiter mentioned it should only take a couple days. I solved first question optimally. 2nd question, I got the algorithm jotted down by the end which was correct and he asked runtime for it which I answered correctly, but no time to code it out. Hoping for the best and I get a positive call early this week.
Hire
By the time I finish reading that, OP will have their result 😫
Got a little carried away with details and didn't notice it would be so long. Added TLDR.
Why did you pick product design over system design round? And good luck, I have mine this week.
I don't have experience building scalable systems and the product design seemed to lend itself more towards someone with less experience there. Appreciate the comment and good luck in your interviews!
You sound like you were well prepared. Best of luck.
UK or USA?
US.
Good luck @OP, I hope you get it. Were your coding questions same/similar to FB top 50 on LC? I have onsite coming up as well. Thanks!
Yes. I would go to problems and sort by Facebook frequency and just pump them out.
Hey OP, How much did you prepare for it? Whats ur LC count
I have my onsite next week, can I please PM?
Good luck, you got this!
Of course!
I’m not reading all that but I hope you get it.
I can respect that. Didn't realize the wall of text until I was done. I'll add TLDR.
What’s the point of the post really? You’ll find out when you find out, and people on Blind can only see how the interview went from your point of view when the other point of view is the one that matters. I’ve had interviews where I thought I nailed it and got rejected, and some where I thought I failed and ended up passing. It all depends on the interviewer.