Read and Watch from

TODO SSP Description

Create some diagrams.

Behaviour

what’s your motivation

how do i handle conflict

review myself and my CV

45 min each

Email

Primer

$MYGIT/donnemartin/system-design-primer

You’ll be interviewed for 45 minutes on each of 5 focal areas:

  • Coding
You will be asked technical questions which
require code or algorithms, so be prepared to
show your work and be as concise and efficient
as possible with your answers.

Take hints from the interviewer and be open to
other solutions as you go.

Study your strongest coding language,
algorithms, design patterns, core CS concepts
and topics related to the scale of our
environment before the interview.

Efficiency, structure, syntax, bugs and
working code will be the criteria as to how
the interviewer will assess your abilities.

Testing your code is also important.
  • Systems
-    Core concepts

    -   DNS,
    -   web servers,
    -   databases,
    -   security,
    -   storage (RAID types),
    -   troubleshooting.

    The discussions will start off fairly high
    level and progressively get more in depth.

    -    Scenario question

        Something has failed and you need to
        figure out what’s wrong and how to fix it.

        -   Ask the right questions to gather more information
        -   Problem-solving approach.
        -   Solutions must be geared for Facebook scale
        -   Solutions must be geared for Facebook environment
  • Networking
Study up on the tcp/ip stack and make sure you
know it inside and out.

Be prepared to have discussions around load
balancers, protocols, networking tools,
troubleshooting, your favourite networking
protocol etc.

TCP/IP Illustrated Volume 1 is a useful resource for preparation.
  • Design/Architecture
-   Design systems/processes for
    -   scale
    -   Facebook’s environment

The interviewer may give you a system we
currently have in place and have you make
suggestions on how it can be improved.

He/she may also go down another route and have
you design a system completely from scratch on
the whiteboard (i.e. design an infrastructure
that will handle 10M users for our new XXXXXX
system).

Questions can range from "How would you scale
a service from 1 million to 100 million users"
to something general like "Design Facebook."

-    Systems Design Interview

    Grokking the System Design Interview

    <https://www.educative.io/collection/5668639101419520/5649050225344512>

    Coupon (Worth USD79): d9452425-3d36-4581-9eb7-ffc5369d4dcf

    GitHub Systems Design example

    1.  Click the link in the email
    2.  Sign-up to Educative.io with their personal email address
    3.  Select Buy Now
    4.  Select Redeem Code
    5.  You now have access
  • Soft skills:
You will be meeting with one of the
Engineering Managers in London, and they will
be asking you questions about any significant
projects you have worked on to get a feel of
your capabilities and how you work on teams
and with other groups across an organization.

There may also be questions involving how
you’ve dealt with conflicts in the past, or
what a project you are most proud of is, or
what your daily activities are, or what is the
toughest feedback you have received.

Please be prepared to explain why you are
interested in Facebook for your next move.

The question “what is your understanding of production
engineering” will also likely be asked.

Make sure to ask as many questions as you
would like of each of the interviewers,
they’ll be happy to share as much information
about their work here at Facebook as they can.

Here are also some practice coding links if
you would like to check them out:

<http://jsperf.com/fb-interview-question-test/2>

<https://www.hackerrank.com/x/?utm%5Fsource=recruit2&utm%5Fcampaign=rebranding>

<http://codingforinterviews.com/practice>

<http://www.careercup.com/page>

FB Code Lab Portal (this link is geared toward
university students but some of the sample
questions can still be very relevant)

To answer the questions “why Facebook” and
“what is your understanding of production
engineering”, I would also check these links
out:

Quora (What is PE): <http://www.quora.com/Facebook-Engineering/What-is-it-like-to-be-a-Production-Engineer-at-Facebook>

Proygen: <https://code.facebook.com/posts/1503205539947302/introducing-proxygen-facebook-s-c-http-framework/>

HBase: <https://code.facebook.com/posts/321111638043166/hydrabase-the-evolution-of-hbase-facebook/>

The following link will provide information on current Facebook projects: <https://code.facebook.com/>

Tips:

Do not guess questions, if you don’t know the
answer say so, but do try to discuss a
possible answer as opposed to completely
giving up.

Think your answers out loud, the interviewers
will want to get an idea of your thought
process and how you approach a problem.

Ask clarifying questions if you are unsure of
a question.

Be enthusiastic and be yourself – the team
want to hire someone to work with them so it’s
important to show your personality and your
interest in the job.

Have questions prepared for each focal area
and each interviewer.

Read the job spec carefully and have questions prepared on the role involved.

Best of luck!

Christina

Preparation

A production engineer is someone who is going to be working with the production system. Probably fixing/identifying data issues, network issues, OS issues, security, etc. It usually means you won’t be working on new features all that much.