Resources for system design interview preparation
Posted: June 9, 2024 #system-designI was recently looking at prep material for system design interviews. Enumerating the ones I found useful: System Design primer - A condensed introduction to various topics relevant to System Design. This could be your baby steps for system design interview prep. The repo also has resources f...
Various flavors of binary search
Posted: June 8, 2024 #leetcode #algorithmsI was recently griding leetcode. Here, I take a look at binary search implementation. While the overall algorithm is simple, getting its implementation correct can be tricky - there are multiple edge cases to keep track of. We will start with a simple standard binary search problem and iterativel...
Unique games conjecture
Posted: May 13, 2022 #theoryThis post was published way back in 2015 when this was in news. Mirroring it here from my old page. Very recently, Subhash Khot won the Rolf Nevanlinna Prize, considered one of the top honours in the field of mathematics, for his contribution to computational complexity theory. The conjecture ha...
Transactions in distributed databases
Posted: September 29, 2021 #database #distributedAs a follow up to this post on replication, I’ll discuss transactions in distributed databases. A transaction is a group of reads and writes lumped together into a logical unit. Our aim is the entire should transaction should succeed. If it fails, we rollback the whole transaction and let client...
Clocks in distributed systems
Posted: September 29, 2021 #distributedClocks and time are ubiquitous on computers. However, on a distributed system with multiple nodes, things get tricky: time on different nodes might be out of sync. Possible causes include (but not limited to) not perfectly accurate hardware and network delays while trying to sync time. Some degr...
Replication in distributed databases
Posted: September 20, 2021 #database #distributedI’ve been recently been reading Designing Data-Intensive Applications, a treasure to learn more about distributed systems. In this post, I will discuss about replication issues while designing/using a distributed databases. While this post by no means is meant to be exhaustive, we will touch upon...