Top Facebook System Design Interview Questions (Part 2)

Top Facebook System Design Interview Questions (Part 2)

Hi Everyone, in our previous HackerNoon post, we discussed five of the most frequent Facebook system design interview questions that we have collected by browsing through multiple websites like LeetCode, Blind, 1point3acre, etc. To recap, we discussed the following:

  1. What are the System Design Interviews at Facebook?
  2. Design Facebook NewsFeed
  3. Design Facebook Status Search
  4. Design Live Commenting at Facebook
  5. Design Facebook Messenger or WhatsApp
  6. Design Instagram

In this post, we are summarizing another five of the frequent Facebook system design interview questions. We hope this post will benefit everyone in their interview preparation.

Design Proximity Server

On Facebook, the proximity servers are used to discover nearby attractions such as places and events, which are then recommended to its users. In this question, develop the backend of the service with the following features:

  1. Users can add, update, and delete places.
  2. Given a location expressed as latitude and longitude, users can query all the nearby places within a given distance.
  3. One optional follow-up to this question is to also query events near a given place around a particular time. This basically adds the third dimension of time to the problem.

Video Explanation. Additional Resource: Educative article on designing the proximity server

Design Typeahead Suggestions

Google predicts and suggests a list of autocomplete queries based on the characters that we have already typed in the search box. These suggestions are called typeahead suggestions, and they help enhance the user experience and better articulate their search queries. Thus, in this question:

  1. Develop a service that suggests the top ten search queries based on the characters already typed by the user in the search box.
  2. For simplicity, assume that the query's popularity can be determined by the frequency of the query being searched in the past.

Video Explanation. Additional Resource: Educative article on designing typeahead suggestions

Design Privacy Settings at Facebook

On Facebook, we can set different privacy levels for the posts we publish to be only visible to a specific set of users like public, friends, friends of friends, etc.

  1. Develop a service that will enable a user to specify the different levels of privacy for a post so that it is only visible to a particular set of users on Facebook.
  2. To keep the discussion simple, implement two levels of privacy, Public and Friends, for this question.
  3. More complex levels like friends of friends and custom groups can be discussed towards the end of the interview if the time remains.

Video Explanation.

Design Top N Songs

This question is very similar to designing the system for Top N Trending topics. In this question:

  1. Develop the backend of the service to get the top N songs for a user over the past X days.
  2. For simplicity, assume that the popularity of a song can be determined by the frequency of the song being listened to in the past.

Video Explanation.

Design Web Crawler

Like many search engines, Google uses a software program named Web Crawler to scan the world wide web. It downloads and indexes all the web pages to be made available for the search queries submitted by the users.

  1. Design the backend of a web crawler. Given a list of seed web pages, it should download all the web pages and index them for future retrieval.
  2. The service should handle duplicate web pages so that unique URLs are stored.

Video Explanation. Additional Resource: Educative article on designing the web crawler

Preparation Material for the above questions

Learn more about the design goals, scale estimations, high-level design overview, and detailed architecture diagram of these problems in this video.

Useful Links

👩‍💻Best System Design Interview Course

💻Grokking the Coding Interview

👩‍🏫Free Behavioral Interview Guide

🤖Best Machine Learning Interview Course

📚Recommended Interview Preparation Book

❤️Support us in creating free high-quality educational content, and avail services like 📝Detailed Resume Review, 🎉Early Access to our content, and 📣Shout-out in our videos. ☕️Buy us a coffee: https://www.buymeacoffee.com/InterviewSage 🔗Patreon: https://www.patreon.com/TheInterviewSage

🖥Our Setup + 📚Interview Prep Books & Courses: https://kit.co/theinterviewsage

Disclosure & Disclaimer