Screening Interview Prep - RNE
Screening Interview Prep - RNE
Interview Preparation
Team Overview
Who we are
The Network Engineering team at Meta builds the end-to-end distributed network system of
software and hardware to support our global community. Network Engineering is a diverse
organization with different focus areas that require a variety of talent and experiences.
What we do
Our team is responsible for the deployment and support of all network infrastructure across the
globe at Meta. We have entered into a new era of unprecedented opportunities to re-think
traditional networking and iterate quickly in an area that was previously very closed to
innovation.
As a member of the team, you will work alongside experienced Backbone, Data Center,
Production Engineers (Network) on a large-scale global network. You will help ensure that the
network and its related services are reliable, robust and can scale to meet the challenges that
serving over a billion users presents. Automation and continuous improvement are the keys to
meeting our demands; you will be responsible for developing and deploying network designs,
automation systems and network performance improvements into our production network.
Coding Interview
● Coverage Area(s):
○ Experience coding in at least one higher-level language (e.g., Python, C++, Go,
etc.)
What to expect
● The interview will take about 45 minutes to complete.
● You'll be asked to answer technical questions involving algorithms & data structures
and possibly more specific questions to your background/resume.
● Feel free to code in the language you are most comfortable with. Don't select a
language based on industry popularity. Choose your strongest language and if you know
multiple languages then pick a high-level one that provides good abstractions and
libraries for quick problem solving.
● You are encouraged to adjust and work through the problems with the interviewer to
show your thought process and problem-solving ability, so be sure to communicate
your thought process throughout the interview.
● The coding interview will be done on CoderPad (make sure you visit the link and
familiarize yourself with the tool).
How to prepare
Invest time in preparing. It’s important for any engineer, even senior ones, to brush up on their
interviewing skills, coding skills, and algorithms. You can practice by answering different kinds of
coding questions. For example, practice answering a coding question with the most efficient bug
free solution without using a computer.
● Practice under time pressure. You’ll 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.
● Understand the basic data structures in your chosen language
Data Structures
● Array
● Linked List
● Stack / Queue
● Trees (Tree, Binary Tree, Binary Search Tree, Red-Black Tree, etc.)
● Heap
● Hash Table
● Directed / Undirected / Weighted Graphs
● Trie (pronounced “tree”)
● Linked Hash Map
You should know the Big-O for insert, delete, lookup, etc. for each of these. Know how the
mechanics work. Ensure you’re able to code every single one of these. Then, prepare real-world
examples of when you’d want to use each of these and explain why it’s the best choice. Data
structures come up in technical interviews in two ways. The first is in coding questions where
you’re expected to use the right one at the right time. The second is on a comparison question -
not connected to code - “why would you use X over Y in situation Z.”
Algorithms
Make sure you actually code when practicing. Simply reading code will not be as effective. Open
up your favorite IDE and start typing. This is critical as you can have a gap in your knowledge
without realizing it. The only way to find these gaps is by writing code. Know all of the Big-O for
this and how it’s derived.
Practice applying this knowledge. Find a source of practice interview questions and code
answers to these questions. We recommend pretending you’re in an interview setting. Before
you write a single line of code, organize your thoughts and figure out the entire solution, then
start coding. In the actual interview, do the same. Before writing a single line of code, make sure
that you validate with the interviewer that your approach is a good one. Practice, practice,
practice!
Resources
Here are a few sites that you can use to prepare for the coding portions of the interview. If you
are using practice problems from sites like Leetcode, we recommend that you practice so that
you can solve most easy problems and some medium-difficulty problems within 10-15 minutes.
Remember that we’ll be looking for you to communicate your thought process throughout the
interview.
● Top 10 Algorithms for Coding Interviews from Program Creek
● Leetcode
● InterviewBit
● HackerRank
● Advent of Code 2020
● CareerCup
● CodeFights
● Interview Cake
● Pramp
● Book: Cracking the Coding Interview
● Book: Elements of Programming Interviews
Network Interview
● Coverage Area(s):
○ Experience with troubleshooting problems as relates to at least one networking
system or platform (IP, Optical, Web servers, load balancers, storage systems
etc).
○ Working knowledge of TCP/IP, IPv6 and any of BGP, OSPF, ISIS or similar
routing protocols
○ Knowledge of Optical layer (ROADM, Transponders and long-haul optical
networks)
What to expect
● This 45 minute interview will be with a Meta engineer and is primarily a network
interview.
● You’ll be asked to answer technical questions involving Network Engineering
concepts. Be prepared to speak about at least two protocols in depth, the pros/cons
and comparison to other protocols.
● Based on your CV/ background, the interview will focus on networking fundamentals for
either Optical (such as ROADM, WSS, Modulation Formats, C/CD/CDC etc.) OR IP
(such as ARP, DNS, DHCP, NAT, IPv4, IPv6), TCP (fundamentals, troubleshooting,
packet loss on the network), and BGP (or other routing protocols). . We encourage you
to prepare fundamentals for both areas.
● You are encouraged to adjust and work through the problems with the interviewer to
show your thought process and problem-solving ability, so be sure to communicate
your thought process throughout the interview.
● If you are unsure of the answer to a specific question, let the interviewer know. You are
also welcome to share an educated guess and your thought process behind it.
How to prepare
Here are a few sites that you can use to prepare for the network portion of the interview.
Remember that we’ll be looking for you to communicate your thought process throughout the
interview.
Open-Sourced projects
Articles / Videos
Tech talks
● Facebook Engineering
● Internet.org
● Open Compute