Design a Scalable News Feed
Company: Rippling
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Design a large-scale social news feed service.
Users can:
- create posts,
- follow and unfollow other users,
- open the app to see a personalized home feed containing recent posts from accounts they follow.
Discuss:
- functional and non-functional requirements,
- API design,
- data model,
- how posts are written and delivered into feeds,
- fan-out-on-write vs. fan-out-on-read,
- caching and pagination,
- handling very high-fanout users (for example, celebrities),
- ranking vs. pure reverse-chronological ordering,
- consistency, deletion, and reliability concerns.
You may assume the system must serve a very large number of users with low read latency.
Quick Answer: This question evaluates a candidate's competency in large-scale system design, specifically architecture, data modeling, API design, feed delivery strategies, caching and pagination, ranking versus chronological ordering, and consistency and reliability concerns for low-latency social news feeds.