脸书机器学习职位

The day breaks down into 5, 45-minute sessions:

1 – Behavior Interview

1 – Machine Learning Research

1 – Machine Learning Practical Design and Architecture

1 – General Algorithmic Coding

1 – General Algorithmic Coding

 

Here’s the link to the curated list of our interview questions (must click):

http://popsnip.com/topic/294/Facebook-Technical-Interview

 

Here’s the link to the newsfeed design article:

https://hashnode.com/post/architecture-how-would-you-go-about-building-an-activity-feed-like-facebook-cioe6ea7q017aru53phul68t1/answer/ciol0lbaa02q52s530vfqea0t

 

Below you’ll find a list of helpful miscellaneous links:

 

What to Expect During the Recruiting Process: https://www.facebook.com/video.php?v=10152735806862200

How to Crush Your Coding Interview: https://www.facebook.com/video.php?v=10152735777427200

Interview advice from a Facebook engineer: https://www.facebook.com/notes/facebook-engineering/get-that-job-at-facebook/10150964382448920

Team selection & Bootcamp training: https://www.facebook.com/note.php?note_id=177577963919 

Bootcamp Video: https://www.facebook.com/Engineering/videos/10150411360573109/

Engineering Tech Talks: https://code.facebook.com/videos/

Facebook Engineering Page: http://www.facebook.com/Engineering  

Engineering Blog: https://code.facebook.com/posts

Research Publications: https://www.facebook.com/publications 

Open Source at Facebook: https://code.facebook.com/projects/

Important Statistics: http://www.facebook.com/press/info.php?statistics 

 

ML Practical Design Interviews at Facebook
The ML Practical Design interview focuses on your ability to building ML systems at
Facebook scale. A strong performance in this interview indicates that would be
successful in most applied ML problems here at Facebook.
What we ask
Some sample questions we ask are:
 Design newsfeed ranking
 Design local search ranking
 Design evaluation framework for ads ranking
The idea is to pick any product feature and understand how to model it using machine
learning. We are not looking for you to know and memorize every ML algorithm out
there. You should be able to use existing toolsets to model the problem and breakdown
the components involved in building a large-scale ML system.
Expectations
What we’re looking for:
 Can you visualize the entire problem and solution space?
 Are you good at feature engineering?
 Can you detect flaws in machine learning systems and suggest improvements?
 Can you design consistent evaluation and deployment techniques?
 Do you understand architecture requirements (storage, perf etc.) of your system?
 Can you model product requirements into your ML system?
A good design will touch on the following different components:
 Problem formulation
o Optimization function
o Supervision signal
 Feature engineering
o Data source
o Representation
 Model architecture
 Evaluation metrics
 Deployment (A/B testing)

How to study

To practice, take any well-known app and pick a system that can benefit from machine
learning. Consider that system is built using a handful of rules for a small set of people.
Now, consider you want to deprecate those rules and want to take advantage of
machine learning, so you can easily extend that functionality to millions of people.
Brush up basic ML theory and be comfortable with concepts like overfitting and
regularization.
Practice ability to convert intuitive ideas to concrete features. For example: number of
likes is a good idea but a better feature would use involves normalization, smoothing
and bucketing.
Think about the problem end to end. What will you do after you train the model and the
model does not perform well? How do you go about debugging an ML model? How do
you evaluate and continuously deploy an ML model?
Be ready to analyze your approach. Having a good toolset of several different
algorithms and understanding the tradeoffs is helpful. For example, be able to example
advantages of logistic regression compared to SVM.
Work out the above problems on a paper and just think about the ways to break them
down. It also helps to read up on common large-scale ML systems. Watch the public
videos and learn how google search ranking works.

 

ML Research Interviews at Facebook
This is an interview that tests your theoretical understanding of Machine Learning algorithms and best
practices. The aim of this session is to better gauge your level of expertise in the fundamental aspects of
Machine Learning as it is applied at Facebook.
What we ask
The questions in this interview may cover:
 What dataset and what algorithm we should use to model a specific problem
 The implementation details of a class of ML algorithms
 A comparison of ML algorithms’ strength and weaknesses
 Best practices for applying ML techniques and common pitfalls
The questions are likely to cover areas in which you have prior experience or that you touch upon in
your resume. For example, if your background is in NLP, you may be asked to discuss some common text
processing tasks. Such topical questions may be coupled with broader questions to understand not just
the depth, but also the breadth of your expertise. One interview is likely to cover many topics, so be
prepared to change mental tracks.
What we look for
We’re looking for:
 Do you understand the fundamentals of ML?
 Do you understand how ML tools behave when applied to real world data?
 Can you arrive at an answer in the face of unusual constraints?
 Can you make trade-offs for precision, recall, interpretability, speed, coverage, and scalability?
 How much have you thought about Facebook and some of the unique problems we face?
A good design shows that you:
 can come up with creative solutions to real world problems
 clearly understand the algorithms
 have given thought to how you might collect any necessary data for training
 are prepared to evaluate the performance of your model
 will be able to productionize your solution
How to study
This interview probes your knowledge of fundamental ML understanding. If it has been a while since you
thought about your favorite ML algorithm’s loss function, it is likely a good idea to re-read a textbook on
the topic. However, do not expect this to be like a university exam; it is much better to be able to
generalize your understanding than to recite definitions verbatim.
If you have mentioned any specific modeling techniques or projects in your resume, be prepared to
discuss the class of algorithms that they belong to. Spend some time re-thinking your design decisions,
how you might have taken a different approach, and what other insights you have gained from your
experiences.

 

posted @ 2018-02-09 07:48  jxr041100  阅读(534)  评论(0编辑  收藏  举报