System Design: Designing a URL Shortener
A step-by-step system design walkthrough for building a URL shortener like bit.ly, covering requirements, encoding strategies, database schema, and scaling c...
Explore our complete library of practical programming and computer science guides.
50 articles
A step-by-step system design walkthrough for building a URL shortener like bit.ly, covering requirements, encoding strategies, database schema, and scaling c...
Understand how hash tables achieve near-constant time lookups, how hash functions and collision handling work, and common interview patterns that rely on them.
A practical explanation of core sorting algorithms including bubble sort, merge sort, and quicksort, with time complexity comparisons and when to use each.
An introduction to binary trees covering traversal methods, binary search trees, common operations, and recursive patterns every beginner should understand.
A clear introduction to linked lists covering singly and doubly linked lists, common operations, and classic interview patterns like cycle detection and reve...
Master arrays and strings for coding interviews with core patterns like two pointers, sliding window, and prefix sums, explained with complexity analysis and...
Learn the basics of GitHub Actions for CI/CD, including workflow syntax, jobs, steps, triggers, and building a simple pipeline that tests and deploys code au...
A practical walkthrough of the GitHub pull request workflow, covering opening PRs, requesting reviews, resolving conversations, and merge strategies in depth.
Understand the difference between git merge and git rebase, when to use each one, and how rebasing rewrites commit history compared to a regular merge commit.
Compare popular Git branching strategies including Git Flow, GitHub Flow, and trunk-based development, with guidance on choosing the right one for your team.
Practical responsive design patterns in CSS, including mobile-first media queries, fluid typography, responsive images, and container queries for modern layo...
Learn CSS Grid layout from the ground up, covering grid-template-columns, fr units, grid areas, and how Grid compares to Flexbox for two-dimensional layouts.