Facebook Recruitment Process
Facebook, Inc. conducts recruitment in a series of 4-5 rounds. The campus recruitment process consists of an online written test, followed by 3-4 rounds of interview. The company hires through campus placements as well as direct applications. Interviews take place through face-to-face interaction or in a telephonic mode. Generally, Facebook holds the following types of interviews:
Facebook Interview Rounds
- Coding Interview
- Design Interview
- Behavioral Interview
Given below are some of the experiences and prospective interview questions for aspiring candidates:
Facebook Interview: Experience 1
Candidate background: final year student of B.Tech (CSE) at IIT
Job Profile: Software Engineer
In the first stage, candidate appeared for an online coding round of 75 minutes. The test comprised of 2 coding questions of moderate difficulty. Meanwhile, candidate’s resume was being looked at by the interview panel.
In the next round, the candidate was called for the coding interview. The interview panel asked the following questions for the first 5-10 minutes:
- Introduce yourself.
- Tell us about your projects.
- Did you face any technical difficulties while handling the projects?
Then, the panel asked the candidate to solve the following 2 algorithm questions in 30 minutes.
- Given the start time and finish time of ‘n’ intervals, write a function that returns boolean value indicating if there was any overlapping interval in the set of existing intervals. (Sort and check, time complexity O(nlogn))
- Given 2 sparse vectors (large number of 0’s), tell us a way to represent and store them, and then find the dot product.
The last 5-10 minutes was given to the candidate to ask questions from the panel, if any. The interview lasted for almost 45 minutes.
The candidate qualified the coding round and was called for the design interview. The candidate was given the following question based on system design:
- Architect the backend for a photo system that has 100 PB of photo data and 500M active daily users.
The interview panel asked detailed questions regarding the exact numbers for CPU usage, memory usage, hardware specifications, bandwidth numbers, etc. The time duration of the interview was 40-45 minutes.
After clearing the design interview, the candidate was called for the final round of selection. The interviewer asked the following set of questions:
- Why do you want to work for Facebook?
- What are Facebook’s challenges in the coming years?
- What would you do if your interviewer failed to show up?
- What do you do to stay motivated?
- What is one project you are proud of? Did you face any challenges in this project?
The interview was over in 30 minutes.
Facebook Interview: Experience 2
Candidate background: B.Tech (CSE), Work Experience of 1 year
Job Profile: Software Engineer
(After an online technical screening, the candidate attended the following onsite interviews.)
Coding Interview Questions
- Given an array of n elements, and a sum. Check if any 2 elements in the array sum to the given sum. (Expected time complexity O(n). Use hashing)
- Given m sorted arrays, find the k-th smallest value.
- Binary search in a sorted, rotated array.
- Write a function that takes a sorted list of integers and a target value ‘k’ and counts the number of occurrences of ‘k’ in the list.
- Find the maximum path sum in a binary tree.
- There is a function that can “compress” strings like FACEBOOK -> F6K or FACEBOOK -> F2E2OK or INTERNATIONALIZATION -> I18N. The compression mechanism can delete arbitrarily many characters and replace them with the deleted character count. Write a function that takes a compressed string and a plaintext string and determines if the compressed string is valid for the plaintext string.
Design Interview Questions
Systems Design Questions:
- Architect a streaming video service like Hulu or Netflix. The system should enforce user subscriptions and limit logins to a fixed number of devices.
- How to manage authentication securely?
- How to architect a data pipeline on the backend?
- How caching should work?
- How to implement sharding?
- Design TinyURL or bitly (a URL shortening service)
- How to generate a unique ID for each URL?
- How would your service handle redirects?
- How to delete expired URLs etc?
- How to track click stats?
Product Design Questions
- What do you think about design at Facebook?
- What kind of projects do you like working on?
- Describe one of your team projects.
- Have you worked with cross-functional teams?
- Who did you work with? What was your role? What was your contribution?
- What are the major problems you sought to solve and how did you do so? How does this align with business goals?
- What kind of prototyping tool did you use?
- What about the visuals: hierarchy, branding, typography. Is it aesthetic? Do the visuals overpower or complement the design?
- Is the displayed information relevant to the time and space it will be used in?
- How did you test it? What were the results?
- How do you think your research phase has influenced your design process?
- How would you measure its success? What changes would you make? Tell us about opportunities for further improvement.
Behavioral Interview Questions
- Tell me about your best collaboration experience.
- What is the biggest compliment you have received during your group project?
- What was the biggest challenge you faced during team work?
- How did you handle disagreement with your team leader?
- Why should we hire you? What can you do for us that someone else can not?
- What have you learned from your mistakes?
- What was the best decision you ever made?
- What would you consider an ideal work environment?
What are your long-range career objectives, and what steps have you taken toward obtaining them?