Writing on software design, engineering, and technology.

All of my long-form thoughts on programming, system design, and more — collected from my blog and Medium, in chronological order.

Medium

Design a News Aggregator

What is a News Aggregator?A news aggregator is a digital platform that collects, organizes, and displays news articles from thousands of publishers worldwide. Users can browse a continuously updated...

software-developmentsoftware-architecturesoftware-engineeringsystem-design-interview
Read on Medium
Medium

Unlock the secrets behind Redis’ lightning speed, real-world patterns, and the “hot key” trap every

Redis Explained: The Lean, Lightning-Fast Backbone of Great ArchitectureRedis: The Secret Weapon for System Design InterviewsEver wondered if there’s a single tool that can instantly level up your...

software-engineeringredissoftware-developmentsoftware-architecture
Read on Medium
Medium

How a DNS Failure in AWS’s us-east-1 Region Shook the Internet

Monday was anything but ordinary. Signal stopped connecting, Slack lagged, Zoom calls dropped, and countless websites around the world went dark. Even major Amazon Web Services (AWS) offerings...

software-engineeringdesign-systemssystems-thinkingaws
Read on Medium
Medium

How to Design Dropbox

Dropbox is a cloud-based file storage and sharing service that allows users to store, share, and access files securely from any device, anywhere in the world. At its core, Dropbox simplifies the...

cloud-storagesystem-design-interviewdistributed-systemssoftware-engineering
Read on Medium
Medium

How to Design a Scalable URL Shortener Like bit.ly

Designing a URL shortener is a classic system design interview question that tests your ability to balance functionality, scalability, and performance. Below is a step-by-step breakdown of how to...

url-shortenershldsoftware-developmentsystem-design-interview
Read on Medium
Medium

Exploring Java String: Immutability, String Pool, and Differences with StringBuffer and…

Exploring Java String: Immutability, String Pool, and Differences with StringBuffer and StringBuilderMemoryStructure of StringThe String class in Java is unique among data types, primarily due to its...

web-developmentspring-bootsoftware-engineeringsoftware-development
Read on Medium
Medium

Spring Boot MVC : HTTP request control flow from start to end

Spring Boot MVC : HTTP request control flow from start to endDispatcherServlet Request Processing FlowSpring MVC is a tool for building web applications using Java. It separates the application into...

web-developmentjavaspring-bootservlet-lifecycle
Read on Medium
Medium

Microsoft/Amazon/Oracle — 199. Binary Tree Right/Left Side View

Microsoft/Amazon/Oracle — 199. Binary Tree Right Side ViewGiven the root of a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from...

amazonalgorithmsleetcodemicrosoft
Read on Medium
Medium

Microsoft/Amazon/Oracle — 78. Subsets

Microsoft/Amazon/Oracle — 78. SubsetsGiven an integer array nums of unique elements, return all possible subsets (the power set).The solution set must not contain duplicate subsets. Return the...

interviewalgorithmsmicrosoftleetcode
Read on Medium
Medium

Microsoft/Amazon/Oracle — 300. Longest Increasing Subsequence

Microsoft/Amazon/Oracle — 300. Longest Increasing SubsequenceGiven an integer array nums, return the length of the longest strictly increasing subsequence.Example 1:Input: nums =...

leetcodeamzonoracleinterview
Read on Medium