Guía de Entrevistas para Facebook
Guía de Entrevistas para Facebook
Technical Screen
Interview Guide
What You’ll Find Welcome to your preparation guide for your initial interview at Facebook. Our
in This Guide engineers and recruiters have put this guide together so that you know what to
expect and how to prepare for your interview; it will help you to be successful in
Interview Overview your application for a senior software engineering position at Facebook.
What We Look For
How to Prepare
Interview Overview
How to Approach Coding
Problems During Your Facebook looks for engineers who have the intellectual capacity and technical expertise to solve
Interview deep, challenging problems. In addition to technical expertise, we also expect Facebook engineers to
What to Practice: An
be compelling communicators and be able to discuss ideas across diverse teams and a wide variety
Example Tech Screen Study of stakeholders. This interview is designed for you to give us an understanding of your senior
List engineering / technical leadership experience, as well as demonstrate your coding and problem
solving skills.
Additional Resources
Technical skills aren’t the same as interview skills, so even the most experienced engineers need to
prepare and practice to do well in an interview. For example, it’s difficult for interviewers to get a
clear signal on coding ability from someone who hasn’t practiced solving new problems under time
constraints. This can make someone who’s simply under-prepared look under-qualified.
This guide can help you plan, practice, and prepare for your initial 60 minute technical screening
interview at Facebook.
1
• Setting technical direction
• Designing and/or implementing a technical process, either within a team or more broadly
across a wider organization
• Metric and goal setting
• Road-map planning
• Working cross-functionally to drive projects across a platform, organization, or team
• Managing and aligning stakeholders
• Resolving cross-functional conflict
• Communication. Are you asking for requirements and clarity when necessary, or are you just
diving into the code? Your initial tech screen should be a conversation, so don’t forget to ask
questions.
• Problem solving. We’re evaluating how you comprehend and explain complex ideas. Are you
providing the reasoning behind a particular solution? Developing and comparing multiple
solutions? Using appropriate data structures? Speaking about space and time complexity?
Optimizing your solution?
• Coding. Can you convert solutions to executable code? Is the code organized and does it
capture the right logical structure?
• Verification. Are you considering a reasonable number of test cases or coming up with a
good argument for why your code is correct? If your solution has bugs, are you able to walk
through your own logic to find them and explain what the code is doing?
How to Prepare
The first part of your interview will focus on behavioral questions to assess the scope of your
technical leadership experience. For example, your interviewer will ask questions like, “Can you
provide an example of...?” or “Tell me about a time that...?”. Your interviewer will seek to
understand the scope of your technical leadership experience and breadth and depth of your
responsibilities. Your interviewer will also seek to understand how you handle challenging
relationships and stakeholders.
2
The second part of your interview will focus on technical coding questions. In addition to the
preparation guidance below, this video (password: fbprep) will give you an example of what to
expect during your technical screen.
Schedule time to study and practice. Block out time every day to write code. Target medium
and hard problems.
Prioritize breadth over depth. It’s much better to practice solving fewer example problems of
many problem types than to become very familiar with one type at the expense of the others.
Set aside time to review what you’ve practiced. As you solve problems, make cheat sheets or
flash cards to review later. Revision and repetition will strengthen your understanding of core
concepts.
Remember your goal. Aim for confidently solving two questions—while thinking aloud—in
about 35 minutes.
Practice coding the way you’ll code during your tech screen. Use CoderPad.io if your
interview is via phone or video call, or use a whiteboard or pen and paper if your interview will be
in person. Check with your recruiter if you’re not sure which format you’ll use.
Set a time constraint when you practice problems. In your tech screen, you’ll be asked
two problems in roughly 35 minutes. Practice coding solutions to medium and hard problems in
less than 15 minutes each to help you be ready for the constraints during the interview.
Code in your strongest language. Provide the most efficient solution, and find and fix the bugs
yourself.
Practice talking through the problem space and possible solutions before you dive in, and
talk through your decisions out loud as you code. Interviewers will be evaluating your thought
process as well as your coding abilities. Explaining your decisions as you code is crucial to helping
them understand your choices. The more you practice this, the more natural it will feel during the
interview.
Don’t be surprised if the questions sound contrived. Problems may be different than what
you’re probably tackling in a day-to-day job. We won’t ask a “puzzle” question, but questions may
be different than real-world questions because they need to be described and solved in 10-20
minutes.
3
How to Approach Problems During Your Interview
• Let us know if you’ve seen the problem previously. That will help us understand
your context.
• Present multiple potential solutions, if possible. Talk through which solution you’re
choosing and why.
• Be flexible. Some problems have elegant solutions, and some must be brute forced.
If you get stuck, just describe your best approach and ask the interviewer if you should
go that route. It’s much better to have non-optimal but working code than just an idea
with nothing written down.
• Iterate rather than immediately trying to jump to the clever solution. If you
can’t explain your concept clearly in five minutes, it’s probably too complex.
• Generally, avoid solutions with lots of edge cases or huge if/else if/else blocks,
in most cases. Deciding between iteration and recursion can be an important step.
• Take the interviewer’s hints to improve your code. If the interviewer makes a suggestion
or asks a question, listen fully so you can incorporate any hints they may provide.
• Ask yourself if you would approve your solution as part of your codebase. Explain
your answer to your interviewer. Make sure your solution is correct and efficient, that you’ve
taken into account edge cases, and that it clearly reflects the ideas you’re trying to express
in your code.
4
What to Practice: An Example Tech Screen Study List
Everyone could use a refresher in at least one core area! Before your initial tech screen, brush up on
CS fundamentals— especially algorithms, data structures, object-oriented design, and design patterns
in general. Review foundational techniques—recursion, graph theory, tree traversal, combinatorial
problems, and so on.
Looking for more detailed guidance on what to review for your tech screen? The exercises below have
been helpful for many engineers preparing for a Facebook tech screen and can assist you in solidifying
your understanding of data structures and algorithms. Feel free to use this list as a starting point and
tailor it to suit your areas of need.
1. Overview
• Each exercise could take you up to one hour.
• These solutions are written in Java, but you will be able to use your language of preference
in an interview.
• Remember how to analyze how “good” your solution is: how long does it take for
your solution to complete? Watch this video to get familiar with Big O Notation.
2. Exercises
Note: These exercises assume you have knowledge in coding but not necessarily knowledge of
binary trees, sorting algorithms, or related concepts.
• Topic 2 | Lists
• Pre-work: If you need to familiarize yourself with how lists work, watch this video.
• Exercises
» Insert a Node at a Position Given in a List
» Cycle Detection
5
• Topic 5 | Sorting Algorithms
• Pre-work: If you need a refresher take a look at these videos: Merge Sort
• Exercises
» Insertion Sort part 2
» Quicksort part 2
• Topic 6 | Trees
• Theory: If you need a refresher, take a look at this video
• Exercises
» Binary Tree Insertion
» Height of a Binary Tree
» QHeap1
• Topic 8 | Recursion
• Theory: Watch this video to review concepts on recursion
• Exercises
• Fibonacci Numbers
Appendix / Resources
Links to exercises, information and guides to help you prepare
Here are some resources to learn more about Facebook.
• About Facebook
• Facebook News
• Facebook Careers
• Facebook Values
www.facebook.com/careers
6