0% found this document useful (0 votes)
36 views

Meta Guide

Uploaded by

Kobe Bryant
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Meta Guide

Uploaded by

Kobe Bryant
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Software Engineer

Initial
Interview Guide

Welcome to your preparation guide for your interview at Meta! Use the
What You’ll Find in
This Guide sidebar to quickly jump to the section you are looking for. Our engineering
Interview Process Overview
leaders and recruiters put together this guide, so you know what to expect
and how to prepare. We recognize that interviewing can be stressful, so we
What We Look For
hope this guide provides the information and resources you need.
How To Prepare
Remember, your recruiter is there to support you, so please reach out to
How To Approach Coding them with any questions.
What To Practice
Accommodations Process
Final Tips and Post Interview

Appendix / Resources Before you get started, it's important to note that Meta is
committed to providing reasonable support (called
accommodations) in our recruiting processes for candidates with
disabilities, long term conditions, mental health conditions or
sincerely held religious beliefs, or who are neurodivergent or require
pregnancy-related support. If you need support, please reach out to
[email protected] or your recruiter.

Interview Process Overview


The initial tech screen is a 45-minute conversation with an engineer and is
designed to assess your technical skills. The screen will include 3 parts:

Introductions (5 minutes)
We want to know more about you and how your experiences and interests align
with our mission! Prepare a concise, interesting description of who you are, where
you've trained and worked, and what your areas of expertise are.
Coding (35 minutes)

1
You'll solve two coding problems focused on CS fundamentals like algorithms,
data structures, recursions, and binary trees. If your tech screen is by phone, the
engineer will send you a collaborative editor (such as coderpad.io). If your tech
screen is in person, you'll use a whiteboard.

Answering Your Questions (5 minutes)


Take this brief opportunity to learn more about working at Meta from an
engineer's point of view. Think about what you find interesting and challenging
about the work you'd be doing here or what challenges you're most interested in
solving.

Video Conference interview best practices

• Most important: if you'll be coding remotely on Coderpad.io, make sure you've


practiced using it to code!

• Make sure you're in a quiet environment.

• Double check that you have a reliable internet/phone connection.

• It's okay to ask the person you're speaking with to speak slowly if you can't
catch what they're saying.

• You'll need a laptop with a webcam, speaker, and mic. We recommend using a
headset or headphones with a mic for better quality audio, but this is optional.

Interview Dress Code

As you're probably aware, we promote a casual environment at Meta so that


everyone can be their authentic selves. Formal dress is not required (jeans are ok)!
Dress comfortably. We care about what you can do, not what you wear.

What We Look For


Your interviewer will be thinking about how your skills and experience might help
their teams. Help them understand the value you could bring by focusing on these
traits and abilities.

• 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

2
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
Interviewers can only assess your skills and abilities based on what you show
them during your interview, so it’s important to plan and prepare to best
showcase your strengths. In addition to the preparation guidance below, this
video will give you an example of what to expect during your technical screen.

1. Before you practice, plan!

Be honest with yourself—only you know how much prep time you’ll need. Make
the most of your prep time by following these steps to plan your approach before
you start practicing.

• 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.

2. Use key practice strategies to practice effectively

Reading through sample questions, recognizing concepts, and having a vague


understanding of these concepts won’t be enough to help you shine. You need to
practice! Make sure you’re setting your practice sessions up for success by
following these tips from engineers who’ve been through the process.

3
• 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 to solve one or two problems in under 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. There
are resources available in the Preparation Hub within your Career Profile
such as coding puzzles and practice interviews.

• 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.

3. Understand the types of problems you may encounter

Practice a variety of different problems—and understand why we ask them—so


you’re prepared to solve them during your 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.

• Problems may assess the depth of your knowledge and your versatility.
For example, your interviewer might ask you to solve a problem any way
you want. Then, they could add constraints on the running or space
characteristics and ask you to solve it again.

• Problems may focus on edge cases. You might be asked to parse some
data format or mini language. Your answers demonstrate your ability to
handle multiple states in your head.

• Problems may test how well you know how things work under the hood.
For example, you might be asked to implement well-known library
functions.

4
4. Decide what resources you’ll use to prepare

It’s easy to be overwhelmed by the number of online resources or the detail in an


entire theoretical algorithms book. Here are some sites that our engineers found
helpful when preparing for their coding interviews.

Top sites for practice problems from Meta:

• Meta Sample Interview Problems and Solutions


• InterviewBit

Other websites:

• LeetCode
• HackerRank

Video prep guides for tech interviews:

• Cracking the Meta Coding Interview: The Approach


• Cracking the Meta Coding Interview: Problem Walk-through

The password for the two videos above is "FB_IPS". Portions of the videos that
cover soft skills tips may be more relevant for preparing for your onsite interview
than for preparing for your initial tech screen.

Example tech screen study list:

• See page 8 for an example list of exercises from Meta’s engineering team
you can use as a starting point to help you prepare. Feel free to tailor it to
your specific practice needs.

*It’s not necessary to review these resources when preparing for your initial tech
screen, but engineers recommend them to understand the entire technical
interview process.

5
How to Approach Coding Problems During Your
Interview
Before you code

• Ask clarifying questions. Talk through the problem and ask follow-up
questions to make sure you understand the exact problem you’re trying to
solve before you jump into building the solution.

• 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.

While you code

• Don’t forget to talk! While your tech screen will focus heavily on coding,
the engineer you’re interviewing with will also be evaluating your thought
process. Explaining your decisions and actions as you go will help the
interviewer understand your choices.

• 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.

• Consider (and be prepared to talk about):

o Different algorithms and algorithmic techniques, such as sorting,


Divide-and-conquer, recursion, etc.
o Data structures, particularly those used most often (array,
stack/queue, hashset/hashmap/hashtable/dictionary, tree/binary
tree, heap, graph, etc.)
o O memory constraints on the complexity of the algorithm you’re
writing and its running time as expressed by big-O notation.

• 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.

6
After you code

• Expect questions. The interviewer may tweak the problem a bit to test
your knowledge and see if you can come up with another answer and/or
further optimize your solution.

• 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.

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 Meta 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.

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.

Exercises:

Note: These exercises assume you have knowledge in coding but not necessarily
knowledge of binary trees, sorting algorithms, or related concepts.

7
• Topic 1 | Arrays & Strings
o A very Big Sum (Warm-up, learning how to use HackerRank)
o Designer PDF Viewer
o Left Rotation

• Topic 2 | Lists
Pre-work: If you need to familiarize yourself with how lists work,
watch this video
Exercises:
o Insert a Node at a Position Given in a List
o Cycle Detection

• Topic 3 | Stacks & Queues

Pre-work: If you need a refresher, take a look at this video.


Exercises

o Balanced Brackets
o Queue Using Two Stacks

• Topic 4 | Hash & Maps

Pre-work: If you need a refresher, take a look at this video.

Exercises
o Ice Cream Parlor
o Colorful Number (This one might be challenging. Remember, if
you get stuck, refer to our proposed solution).

• Topic 5 | Sorting Algorithms

Pre-work: If you need a refresher take a look at this video: Merge


Sort
Exercises

o Insertion Sort part 2


o Quicksort part 2

• Topic 6 | Trees
Theory: If you need a refresher, take a look at this video.

Exercises

8
o Binary Tree Insertion
o Height of a Binary Tree
o QHeap1

• Topic 7 | Graphs (BFS & DFS)


Theory: Watch this video to understand what a graph is and how to
traverse it.
Exercises

o Breath First Search


o Snakes and Ladders
• Topic 8 | Recursion
Theory: Watch this video to review concepts on recursion

Exercises
o Fibonacci Numbers

All solutions are available in this public repository: Solutions

Final Tips for your Interview

• Be yourself. This means being open and honest about your successes and
ways you’ve improved throughout your career. Also, be sure to call out how
you have specifically added value to your team or projects you’ve contributed
to. We value teamwork and what each individual member brings to the table.

• Carefully review and familiarize yourself with the job description and
perform research on Meta and the role. Be prepared to answer why you are
interested in this specific role and in working at Meta.

• Please take the time to review our mission statement and core values. These
values influence how we work together to fulfill our mission of bringing the
world closer together. We also encourage you to take time using our products
such as Facebook, Instagram, Messenger, and WhatsApp.

• Prepare thoughtful questions for the interviewer(s). Your interviewer may


challenge your ideas, and you should be ready to speak not only to what you
recommend or have experienced but the why as well. It is important to think
outside the box and to approach problems from creative and different
perspectives.

Post Interview – What to Expect


You can expect your recruiter to provide a specific timeline or updates along the
way. Your recruiter will inform you of next steps after your interview as soon as
they are available. Feel free to follow up with them if you have not heard within a

9
week of your interviews.

Appendix / Resources
Below is a curated list of resources to get started and help you prepare.

Meta’s Technical Environment

• Engineering at Meta - FB page


• Meta Code videos
• Meta Opensource website
• Engineering Leadership at Meta blog

Connect with Meta Employees

• Once you’ve made it to the onsite interview stage, request to interact with an
employee and learn what it's like to work at Meta through the Meta
Connections Program.

Meta Resources

• About Meta website

• Meta Newsroom website

• Meta Careers website

• Meta Life website

• Meta Diversity website

• Meta Employee Benefits website

• Interviewing at Meta: The keys to success blog

Update personal information, track interview progress, and send


thank you notes.

At any time during the interview process, you can track your progress, send
thank-you notes and update your personal information all via the Career Profile. If
you do not receive a link from recruiting, you may create one.

10
Thank you for taking the time to review this guide!

11

You might also like