<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>PrepCommons: Tech interview prep for short attention spans</title><description>Struggling to stay focused while preparing for software engineering interviews? PrepCommons is an experiment to address this problem using AI.</description><link>https://prepcommons.com/</link><item><title>1. Clarify the requirements</title><link>https://prepcommons.com/blog/design-twitter/01-clarify-requirements/</link><guid isPermaLink="true">https://prepcommons.com/blog/design-twitter/01-clarify-requirements/</guid><description>Scope down &quot;design Twitter&quot; into something you can actually build in 45 minutes.</description><pubDate>Thu, 30 Apr 2026 23:00:00 GMT</pubDate></item><item><title>2. Capacity estimation</title><link>https://prepcommons.com/blog/design-twitter/02-capacity-estimation/</link><guid isPermaLink="true">https://prepcommons.com/blog/design-twitter/02-capacity-estimation/</guid><description>Back-of-envelope numbers for QPS, storage, and bandwidth — and why they matter.</description><pubDate>Fri, 01 May 2026 23:00:00 GMT</pubDate></item><item><title>3. API design</title><link>https://prepcommons.com/blog/design-twitter/03-api-design/</link><guid isPermaLink="true">https://prepcommons.com/blog/design-twitter/03-api-design/</guid><description>A minimal REST surface for Twitter, with the design choices that matter.</description><pubDate>Sat, 02 May 2026 23:00:00 GMT</pubDate></item><item><title>4. Data model</title><link>https://prepcommons.com/blog/design-twitter/04-data-model/</link><guid isPermaLink="true">https://prepcommons.com/blog/design-twitter/04-data-model/</guid><description>Tables, IDs, and the social graph — what to store and where.</description><pubDate>Sun, 03 May 2026 23:00:00 GMT</pubDate></item><item><title>5. High-level architecture</title><link>https://prepcommons.com/blog/design-twitter/05-high-level-architecture/</link><guid isPermaLink="true">https://prepcommons.com/blog/design-twitter/05-high-level-architecture/</guid><description>The components, the request paths, and what each one is responsible for.</description><pubDate>Mon, 04 May 2026 23:00:00 GMT</pubDate></item><item><title>6. Timeline fanout — push, pull, or hybrid</title><link>https://prepcommons.com/blog/design-twitter/06-timeline-fanout/</link><guid isPermaLink="true">https://prepcommons.com/blog/design-twitter/06-timeline-fanout/</guid><description>The single most important design decision in Twitter system design.</description><pubDate>Tue, 05 May 2026 23:00:00 GMT</pubDate></item><item><title>7. Storage and media</title><link>https://prepcommons.com/blog/design-twitter/07-storage-and-media/</link><guid isPermaLink="true">https://prepcommons.com/blog/design-twitter/07-storage-and-media/</guid><description>Where tweets live, how media is uploaded, and why your DB never touches a JPEG.</description><pubDate>Wed, 06 May 2026 23:00:00 GMT</pubDate></item><item><title>8. Caching strategy</title><link>https://prepcommons.com/blog/design-twitter/08-caching/</link><guid isPermaLink="true">https://prepcommons.com/blog/design-twitter/08-caching/</guid><description>What to cache, how to lay it out in Redis, and how to handle cold caches.</description><pubDate>Thu, 07 May 2026 23:00:00 GMT</pubDate></item><item><title>9. Search</title><link>https://prepcommons.com/blog/design-twitter/09-search/</link><guid isPermaLink="true">https://prepcommons.com/blog/design-twitter/09-search/</guid><description>Inverted indexes, real-time indexing, and why search is its own service.</description><pubDate>Fri, 08 May 2026 23:00:00 GMT</pubDate></item><item><title>10. Trending topics and the bottlenecks worth naming</title><link>https://prepcommons.com/blog/design-twitter/10-trending-and-bottlenecks/</link><guid isPermaLink="true">https://prepcommons.com/blog/design-twitter/10-trending-and-bottlenecks/</guid><description>Heavy-hitter algorithms, the celebrity problem revisited, and what to bring up before time runs out.</description><pubDate>Sat, 09 May 2026 23:00:00 GMT</pubDate></item></channel></rss>