<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>System Design on Vubon Notes</title><link>https://vubon.me/categories/system-design/</link><description>Recent content in System Design on Vubon Notes</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 04 May 2026 11:00:00 +0000</lastBuildDate><atom:link href="https://vubon.me/categories/system-design/index.xml" rel="self" type="application/rss+xml"/><item><title>System Design Interview: Idempotency</title><link>https://vubon.me/posts/system-design-interview-idempotency/</link><pubDate>Mon, 04 May 2026 11:00:00 +0000</pubDate><guid>https://vubon.me/posts/system-design-interview-idempotency/</guid><description>&lt;p>Almost every candidate faces this question during a system design interview:&lt;/p>
&lt;p>&lt;strong>How do you handle duplicate transactions?&lt;/strong>&lt;/p>
&lt;p>Most people answer: &lt;em>Idempotency key + Cache.&lt;/em>&lt;/p>
&lt;p>To be honest — that&amp;rsquo;s a good start.&lt;/p>
&lt;p>But the real lesson comes when you build an actual payment system.&lt;/p>
&lt;hr>
&lt;h2 class="heading" id="duplicates-are-normal-behavior">
 Duplicates are normal behavior
 &lt;a class="anchor" href="#duplicates-are-normal-behavior">#&lt;/a>
&lt;/h2>
&lt;p>In distributed systems, duplicates are not edge cases. They are normal behavior.&lt;/p>
&lt;p>Duplicates can originate from anywhere:&lt;/p>
&lt;ul>
&lt;li>client double-clicks&lt;/li>
&lt;li>mobile retry on timeout&lt;/li>
&lt;li>API gateway retries&lt;/li>
&lt;li>reverse proxies&lt;/li>
&lt;li>silent network failures&lt;/li>
&lt;li>third-party timeouts&lt;/li>
&lt;/ul>
&lt;p>So the problem is not &lt;em>if&lt;/em> duplicates happen.&lt;/p></description></item><item><title>System Design Interview Prep — Series Introduction</title><link>https://vubon.me/posts/system-design-interview-series/</link><pubDate>Mon, 04 May 2026 10:00:00 +0000</pubDate><guid>https://vubon.me/posts/system-design-interview-series/</guid><description>&lt;p>System design interviews are tough. Not because the questions are impossible - but because they&amp;rsquo;re open-ended, and most people don&amp;rsquo;t know where to start.&lt;/p>
&lt;p>After years of building distributed systems in FinTech, I&amp;rsquo;ve been on both sides of the table. I know what interviewers are actually looking for, and it&amp;rsquo;s not buzzwords. It&amp;rsquo;s trade-offs, real-world thinking, and knowing &lt;em>why&lt;/em> something works, not just &lt;em>that&lt;/em> it works.&lt;/p>
&lt;p>So I&amp;rsquo;m putting together this series — practical write-ups on the topics that come up again and again. No fluff, just the stuff that matters.&lt;/p></description></item></channel></rss>