Most engineers may want to join Facebook. It’s better to prepare before your interview so you can have bigger chance to get offer. Also I want to let you know Google and Facebook interviews are not as difficult as you think. Don’t be scared by someone’s idea, such like “how to get google offer”. Of course you have bigger possibility to get offer if you can know everything including the much complex data structure and algorithms, like B tree, B+ tree, A* algorithm … But you must know Graph or Tree DFS/BFS.
Check my question list
Top 10 Algorithms for Coding interview
http://www.programcreek.com/2012/11/top-10-algorithms-for-coding-interview/ This site provides implementation and analytics for LeetCode.
Most interview questions are from LeetCode or just have a little change. If you can finish and understand all LeetCode questions, I think it’s 80% or 90% you can get FB offer. Even you cannot find the exactly same problem from LeetCode, you can also find similar question from LeetCode. In conclusion, just spend 3 months to finish all LeetCode problems.
Do you think it’s too naive or too simple to have interview like this? Yes, someone think so, someone had comments on Top 10 Algorithms for Coding interview to show it. Me too! Why? Because in usual people don’t know a good way to check if candidate is a good engineer. But this kind of interview is used everywhere, so why not to use this, at least nobody will critical you are stupid. If someone say it, you can be confident to answer him, “so most of the software engineers are stupid”.
Before you enter to FB or other you dreamed company, please be stumble and try you best to do more practices to make sure you can join them. Later if you have chance to be interviewer, I guess you will do the same thing. Interview is hard. I like one way provided by a LinkedIn staff engineer, who cares about the candidate’s patential and how the candidate to solve problem, not how many problems he practiced.