Back to Course
Ace Your Software Engineer Interview at Facebook
Lesson 2, Topic 2
How to Prepare
- Invest time in preparing: It’s important for any engineer, even senior ones, to brush up on their interview skills, coding skills and algorithms. An interview is typically different from your day-to-day job. This is the first technical interview in the process, so any preparation for this interview will be beneficial for the next ones.
- Practice answering many different coding questions: Practice answering a coding question with the most efficient bug-free solution without using a compiler. A few resources that offer coding questions to use for practice: Careercup, Topcoder, or Project Euler.
- Write code in a simple text editor: In the interview you will write your code in a similar environment (like CoderPad) without syntax highlighting or auto-completion.
- Practice by coding by hand: Coding interviews will be done on a whiteboard. Practice some of the questions with a whiteboard or pen and paper to help prepare.
- Practice under time pressure: You will have a limited time for the coding question, so it will be important to finish it in time. If possible, have a mock interview with a friend to simulate the interview experience.
- Go over data structures, algorithms and complexity: Be able to discuss the big-O complexity of your approaches. Don’t forget to brush up on your data structures like lists, arrays, hash tables, hash maps, stacks, queues, graphs, trees, heaps. Also sorts, searches, and traversals (BFS, DFS). Also review recursion and iterative approaches.
- Think about your 2-5 years career aspirations: You will be asked to talk about your interest and your strengths as an engineer.
- Prepare 1-2 questions to ask your interviewer: There is 5 minutes at the end of the interview for this.
- Suggested reading resources: Cracking the Coding Interview, Introduction to Algorithms, Algorithms in C.