Tech Concepts Compared

Clear, interview ready breakdowns of the concepts that get confused most often. Each page gives you a straight verdict, a full comparison table, and exactly when to reach for each option.

21 comparisons and growing
Networking
TCP vs UDP

TCP sets up a connection and guarantees your data arrives in order, so use it when correctness matters more than speed. UDP fires packets with no handshake and no guarantee, so use it when speed matters more than the odd lost packet.

Operating Systems
Process vs Thread

A process is an independent running program with its own memory space. A thread is a lighter unit of execution that runs inside a process and shares that memory with other threads in the same process.

Git and Version Control
Merge vs Rebase

Merge combines two branches by creating a new merge commit and keeps the full history exactly as it happened. Rebase replays your commits on top of another branch, producing a clean straight line but rewriting commit history.

System Design
Monolith vs Microservices

A monolith ships as one deployable unit and is simpler to build and run early on. Microservices split the system into independent services that scale and deploy separately, at the cost of more operational complexity.

Security
Authentication vs Authorization

Authentication answers who you are, usually through a password or token. Authorization answers what you are allowed to do, usually checked after authentication succeeds.

DevOps and Cloud
Docker vs Virtual Machine

A container shares the host operating system kernel and only packages the application and its dependencies, so it starts in seconds. A virtual machine includes a full guest operating system, so it is heavier but more isolated.

Programming Fundamentals
Compiler vs Interpreter

A compiler translates your entire source code into machine code before running it, producing a fast standalone program. An interpreter reads and executes your code line by line, which is more flexible but usually slower.

Programming Fundamentals
Synchronous vs Asynchronous

Synchronous code runs one step at a time and blocks until each step finishes. Asynchronous code can start a task and move on, coming back to handle the result once it is ready.

Networking
HTTP vs HTTPS

HTTP sends data in plain text that anyone on the network can read. HTTPS wraps the same HTTP traffic in TLS encryption, so the data cannot be read or tampered with in transit.

API Design
REST vs SOAP

REST is an architectural style built on standard HTTP methods and typically uses JSON, making it simple and widely used. SOAP is a stricter protocol with its own messaging format and built in standards for security and reliability, still common in enterprise and financial systems.

Programming Fundamentals
Library vs Framework

A library is a tool you call when you need it, so your code stays in control. A framework provides the overall structure and calls your code at the right moments, so it stays in control.

Security
Cookie and Session vs Token

Session based auth stores the user's login state on the server and uses a cookie just to reference it. Token based auth puts the user's identity directly inside a signed token, so the server does not need to store anything.

Databases
Normalization vs Denormalization

Normalization organizes data to remove duplication, keeping each fact in exactly one place. Denormalization intentionally reintroduces some duplication to make reads faster, at the cost of extra work to keep copies in sync.

Programming Fundamentals
Static Typing vs Dynamic Typing

Static typing checks types before the program runs, catching type errors early. Dynamic typing checks types while the program runs, which is more flexible but can let type errors slip through until that exact line executes.

Data Structures and Algorithms
Recursion vs Iteration

Recursion solves a problem by having a function call itself on smaller inputs until it reaches a base case. Iteration solves the same kind of problem using a loop. Recursion is often cleaner for problems that are naturally recursive, while iteration usually uses less memory.

Data Structures and Algorithms
Binary Search vs Linear Search

Linear search checks every element one by one and works on any data. Binary search repeatedly cuts the search space in half, which is far faster, but only works if the data is already sorted.

Git and Version Control
git fetch vs git pull

git fetch downloads new commits from the remote but does not touch your working files. git pull does the same download and then immediately merges those changes into your current branch.

System Design
Horizontal Scaling vs Vertical Scaling

Vertical scaling adds more power, like CPU or RAM, to a single existing machine. Horizontal scaling adds more machines and spreads the load across them. Horizontal scaling is what most large systems eventually rely on.

System Design
Load Balancer vs Reverse Proxy

A reverse proxy sits in front of one or more servers and forwards client requests to them, often adding caching or security. A load balancer is a specific type of reverse proxy whose main job is distributing traffic across multiple servers to keep load even.

API Design
REST vs gRPC

REST sends human readable JSON over standard HTTP and is easy for anyone to consume. gRPC sends compact binary Protobuf messages over HTTP/2, which is faster and more efficient, but harder to read directly and less friendly for public facing APIs.

System Design
Cache vs Database

A cache stores data in memory for very fast access but can lose that data if it restarts, and is meant to be temporary. A database stores data on disk so it survives restarts and is the durable source of truth, but reading from disk is slower than reading from memory.