How to prepare for a software engineer interview at Facebook?

How to prepare for a software engineer interview at Facebook?


From my personal experience, software engineer interviews from Facebook, Google, Linkedin etc. are all very similar, because interviewers will mostly focus on data structure and algorithm questions. Definitely there are certain ways of preparation that can make your life easier, and I’d like to share my experience with you.

Be familiar with basic data structure and algorithm. I can’t emphasize more about this point since it is the most fundamental thing for a software engineer interview. If you fail to get a good grasp of those basic data structures you learnt at school, you just failed the whole interview. I’m not exaggerating, once you’ve been thru several technical interviews, you’ll realize how important it is. Books about data structure and algorithm are everywhere, do make sure you are very clear about basic stuffs like binary tree, queue, stack, linked list and so on.

Practice writing code on whiteboard  This is what most people ignores. It looks quite simple at first glance, right? But it isn’t once you try it. You’ll miss so much about those fancy shortcuts on your favorite text editors and IDEs and what’s more, it’s so inconvenient to modify the code like inserting another piece of codes in between. But you have to get over it as most of the real interviews will ask you to write SOLID code on whiteboard. It doesn’t need to be compiled, but it should be almost there. No pseudo code! This is even true for Facebook interview as during the onside interview you’re gonna be “locked” in a meeting room and keep writing code on whiteboard.

Practice real interview questions for Facebook. Since you already have a target, it isn’t hard for you to get some real questions from past Facebook interviews. In fact, there are tons of them online and it’s almost impossible for you to finish all. The point here is not to expect having the same question in your interview (though it’s possible), but to get an idea about what kind of questions Facebook likes to ask, how difficult it is in general, and find out your weak point. For instance, if you keep failing on binary tree questions, you should go check your textbook and do some google search about it.All in all, practice makes perfect. It’s never too late to start preparing for your interview and it’s always worthwhile to spend time on it.

This question answered by Mark Ali, originally appeared on Quora and the writer was an intern at Google and Facebook