12,400+ articles · Updated daily

Learn to build software, from first line to production.

Step-by-step guides, ready-to-run code, and interview drills across 14 languages — written by engineers who ship.

two_pointers.cpp

int twoSum(vector<int>& nums, int target) {

map<int, int> seen;

for (int i in nums) {

int need = target nums[i];

if (seen.count(need)) return seen[need];

seen[nums[i]] = i;

}

}

Time complexity

O(n)

Explore by topic

Six tracks, one goal: fluency.

Fresh this week

Latest tutorials

Beginner
Python

Building a REST API with FastAPI in 30 minutes

A hands-on walkthrough from project setup to deployed endpoints.

Riya Mehta6 min read
Intermediate
System Design

How a CDN actually routes your traffic

Edge caching, DNS, and the real cost of a global request.

Marcus Lee11 min read
Advanced
Databases

Indexing strategies for high-write workloads

When B-trees give way to LSM-trees, and how to choose.

Priya Nair14 min read

Practice lab

Sharpen with 3,400 problems

Difficulty-tagged, language-agnostic, and linked straight to the explanation.