Anthropic·Software Engineer·Onsite - System Design / Architecture
May 2026
System design round at Anthropic for a software engineer role, focused entirely on designing Instagram's backend. Pretty deep dive covering feed generation, scaling, and recommendations. The kind of interview where you realize halfway through how many moving parts there actually are.
- Design the backend for a photo-sharing app like Instagram, including photo uploads, a home feed, and the follow graph.
- How would you generate a user's home feed? Compare fan-out on write versus fan-out on read and explain which you'd pick for a read-heavy system.
- A celebrity account has 50 million followers and posts something. How do you handle the write storm under fan-out on write?
- How would you partition the feed store and user data across many nodes, and why use consistent hashing instead of a simple modulo approach?
- Walk me through how you'd design a 'people you may want to follow' recommendation feature.
- A user follows 5,000 accounts. How do you keep their feed load fast under fan-out on write, and what does fan-out on read cost them?
- When a user unfollows someone, what happens to posts that were already pushed into their precomputed feed?
- How would you evolve a strictly chronological feed into a ranked feed without rebuilding the whole pipeline?
“Big open-ended opener.” The rest of the author's notes on Software Engineer interview at Anthropic, Onsite - System Design / Architecture round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post