Design Facebook Status Search is a very popular system design interview question.
Facebook provides a search bar at the top of its page to enable its users to search posts, statuses, videos, and other forms of content posted by their friends and the pages they follow.
Key Features
Given that it will be a 45-minute interview round, you will be designing a system with a lower feature set. In this question, you will be asked to develop the backend of a system with the following key features:
- Enable the users to search the statuses that their friends and the pages they follow have posted on Facebook.
- For simplicity, consider that these statuses will only contain text for this particular question.
Detailed Framework
You can use the following framework to better answer the Design Facebook Status Search question in the interview. It will help you to maintain focus and answer it better.
- Key Features
- As discussed above
- Design Goals
- Minimum Latency
- High Availability
- Partition Tolerance
- Eventual Consistency (CAP Theorem)
- Read vs. Write Heavy
- Scale Estimation
- Daily Active Users (DAUs)
- Read QPS
- Write QPS
- Data generated each day and over 10 years (Storage Utilization)
- Approximate number of servers required
- REST APIs
- /statusSearch (Read API)
- /postStatus (Write API)
- High-Level Design
- How to build the Search Index for fast retrieval on a large scale?
- Application Layer
- Multiple Stateless Servers with Load Balancer (Round-Robin)
- Database + Search Index Design (Data Layer)
- Schema design
- SQL vs. No-SQL
- Sharding
- Hash-based sharding
- Consistent Hashing
- Replication (for Fault Tolerance)
- Quorum
- Read + Write Consistency
- Caching for Fast Retrieval
- Eviction Policy - LRU
- Detailed Architecture Diagram
Optional
If time permits, you can also discuss the following towards the end of the interview:
- Security, for example, ACL (Access Control List)
- Statuses which can also contain media (photo & video) along with text
Preparation Material for this question
Learn more about the Key Features, Design Goals, Scale Estimations, REST APIs, High-Level Design, and Detailed Architecture Diagram of this problem inΒ this video.
Cracking the Facebook Behavioral Interview
If you have not read our first article on Top Facebook Behavioral Interview Questions, we recommend reading it by clicking the below link:
β Top Facebook Behavioral Interview Questions (Part 1) | Facebook Jedi Interview Round π₯
The Interview Sage γ» May 15 '21
Cracking the Facebook System Design Interview
In case if you have not read our series on Cracking the Facebook System Design Interview, we recommend reading it by clicking the below link:
Top Facebook System Design Interview Questions (Part 1) | Facebook Pirate Interview Round
The Interview Sage γ» Jan 4 '21
Useful Links
β
Educative.io Unlimited Plan [π° 10% off for first 100 users]
β
TryExponent.com Membership [π° Limited Time 10% offer]
π©βπ» Best System Design Interview Course
π Complete SWE Interview Course [π° Limited Time 10% offer]
πββοΈ Behavioral Interview Guide [π° Special Discount]
π Recommended Interview Preparation Book (on Amazon)
This article is part of the series on System Design Interviews at Facebook. So, follow us to get notified when our next article in this series is published. Thanks for reading!
Top comments (0)