Recently I had both Google and Facebook interviews, and I loved anxiously reading these while prepping, so why not give back?
3YOE
Before google I did ~250 LCs, and before FB about 20 more
Not gonna go into too many specifics due to NDAs and such
All interviews done in cpp
Google :
Phone
The phone interview was pretty easy, a problem about using a given random function to fill out a 2D array. Lots of open endedness and was asked to defend solution. If you program professionally, this should not be an issue
Onsite
Round 1:
The first round was an extremely open-ended question that ended up being about given text recomendations when a user begins typing. Lots of back-and-forth, ended up using a modified prefix tree. The interviwer was not super familiar with C++, so I had to explain some quirks, but went OK, if a little time limited. Felt odd that I only barely got to the end of ths problem and didn't get another. Self assesment- Hire ?
Round 2:
Question that ended up beign about traversing a graph that kept getting more and more complications. Went super well, the interviewer told me I gave off a good signal, felt good. Self assesment- Hire
Round 3:
Googlyness - I'm a more sociable person, so this wasn't too much of a big deal. Guy who interviewed me didn't speak great english but was still a pretty chill dude
Round 4:
At this point I am tired. A string manipulation question, not too hard, but I was tired. I got the O(n) space solution pretty quickly, and struggled through to the O(1) space with a tiny bit of guidance. Self assesment- lean no hire
Round 5:
2 Problems, both String manipulaiton. Interviewer was a little less formal or organized but a super cool person. First was pretty simple, got solution in ~3 min. Second was a massive increase in difficulty, did that thing where I started programming and hoped I would figure out something by the time I finished typing. There was a DP solution I pointed out, but also pointed out that the constraints of the problem probably made the DP solution not a fast solution. Somehow it worked, and I got a solution that worked, but admitedly one part of the algorithm had off-by-one errors. I pointed them out, and basically said "I'm sorry, I know this algo works, but I am tired, and my brain cannot fix the off by one errors right now". She laughed, and we spent about 10 min a the end just talking about programming and shooting the shit about C++ and that stuff. Self assessment- Hire
Result - L4 approved
Facebook
Phone
An easy warmup question, then a medium to medium-hard tree question. Solved both very quickly, the interviwer actually asked if I was a competitive programmer (lol, I am not)
Onsite
Round 1:
Easy string manipulation question and a matrix traversal question. Did well, interviwer said "you crushed it man"
self assesment -Strong hire
Round 2:
System design. I have no idea how I did
Round 3:
Behavioral- Went ok, sometimes hard to judge if the interviewer likes your answers
Self assesment- lean hire
Round 4:
Behavioral again- The interviwer had a strong accent, so it made communication harder, but still think it went OK, but not as good as round 3. Self assessment -neutral
Round 5:
Coding- Two problems that I got the O(n) space solutions for easily, but really, really, struggled getting the space complexity down. Feel less comfortable than I did for the other coding round, Probably a No Hire /Lean No Hire here
Result: E4 approved.
Overall I think I did better on G than FB, but funnily enough G asked harder questions
Overal tip: Clearly these companies care about space complexity, but hardly ever do we practice it.
One thing thats always hard for me is judging what the expected bar actually is. Sometimes you see posts like "I did perfect and did not get an offer", but I have to wonder if its just a lack of ability to self-assess. As far as I can tell, they cared a lot more about where my mind went to solve these problems than actually solving the problems. In addition, I wonder if a lot of candidates come in and struggle hard to even program in their chosen language, due to some comments by interviewers that my relatively-sloppy cpp was well written.