Programming

From Python syntax to React hooks to production databases — test your coding knowledge across the languages and tools developers use every day.

General
Broad-strokes basics across the most common languages and tools.
Python Basics Quiz
Test your understanding of Python syntax, data types, and core concepts.
Easy
Take quiz →
JavaScript Fundamentals Quiz
Test your knowledge of JavaScript variables, functions, and core language features.
Easy
Take quiz →
HTML & CSS Basics Quiz
Test your knowledge of HTML structure and CSS styling fundamentals.
Easy
Take quiz →
SQL Basics Quiz
Test your knowledge of SQL queries, joins, and database fundamentals.
Easy
Take quiz →
Git Commands Quiz
Test your knowledge of Git version control commands and workflows.
Medium
Take quiz →
Python
Data structures, functions, OOP, and the Python web frameworks.
Python: Data Structures
Lists, tuples, sets, dicts, and when to use each one.
Medium
Take quiz →
Python: Functions & Decorators
args, kwargs, closures, lambdas, and the magic of decorators.
Medium
Take quiz →
Python: Object-Oriented Programming
Classes, inheritance, encapsulation, and Python's OOP model.
Medium
Take quiz →
Python: File I/O
Reading, writing, and managing files safely in Python.
Easy
Take quiz →
Python: List Comprehensions
Write cleaner, faster list-building code with comprehensions.
Easy
Take quiz →
Python: Regular Expressions
Pattern matching, metacharacters, and the re module in Python.
Hard
Take quiz →
Python: Virtual Environments & pip
Isolate dependencies and manage packages like a professional.
Easy
Take quiz →
Python: Django Basics
Models, views, URLs, and the MTV pattern in Django.
Medium
Take quiz →
Python: Flask Basics
Routes, templates, and request handling in Flask.
Easy
Take quiz →
JavaScript
Core language features, TypeScript, and React — from ES6+ syntax to hooks.
JavaScript: ES6+ Features
Arrow functions, destructuring, spread/rest, template literals, and classes.
Medium
Take quiz →
JavaScript: Promises & Async/Await
Promise states, chaining, and async/await error handling.
Hard
Take quiz →
JavaScript: DOM Manipulation
Selecting elements, changing content, and handling events.
Easy
Take quiz →
JavaScript: Closures & Scope
Lexical scope, hoisting, the TDZ, and classic closure gotchas.
Hard
Take quiz →
JavaScript: Array Methods
map, filter, reduce, and which methods mutate the original array.
Medium
Take quiz →
JavaScript: TypeScript Basics
Type annotations, primitive types, and compiling with tsc.
Medium
Take quiz →
JavaScript: TypeScript Interfaces & Generics
Interfaces, generic functions and classes, and type constraints.
Hard
Take quiz →
JavaScript: React Fundamentals
JSX, components, props, and the Virtual DOM.
Medium
Take quiz →
JavaScript: React Hooks
useState, useEffect, custom hooks, and the rules of hooks.
Hard
Take quiz →
JavaScript: Node.js Basics
Modules, the fs module, npm, and building a basic HTTP server.
Medium
Take quiz →
Web
Layout, protocols, APIs, and the auth mechanisms that hold the web together.
Web: CSS Flexbox
justify-content, align-items, flex-grow, and wrapping behavior.
Easy
Take quiz →
Web: CSS Grid
Grid tracks, the fr unit, minmax(), and item placement.
Medium
Take quiz →
Web: CSS Animations & Transitions
Transitions vs. keyframe animations, timing, and easing.
Medium
Take quiz →
Web: Responsive Web Design
Viewport meta tag, media queries, and mobile-first design.
Easy
Take quiz →
Web: REST API Design
HTTP methods, status codes, idempotency, and URL structure.
Medium
Take quiz →
Web: HTTP & HTTPS
Default ports, SSL/TLS, certificates, and MITM attacks.
Easy
Take quiz →
Web: Web Security Basics (OWASP Top 10)
SQL injection, XSS, CSRF, and the risks OWASP tracks.
Hard
Take quiz →
Web: JWT Authentication
Token structure, expiration, storage, and signing algorithms.
Medium
Take quiz →
Web: OAuth 2.0
Roles, the Authorization Code flow, tokens, and PKCE.
Hard
Take quiz →
Databases & DevOps
Databases, containers, the command line, and the pipelines that ship it all.
Databases & DevOps: MongoDB Basics
Documents, collections, query operators, and aggregation.
Easy
Take quiz →
Databases & DevOps: Redis Basics
Key-value model, data structures, persistence, and TTL.
Easy
Take quiz →
Databases & DevOps: Docker Basics
Images vs. containers, Dockerfiles, and docker-compose.
Medium
Take quiz →
Databases & DevOps: Linux Command Line
grep, process management, file permissions, and piping.
Medium
Take quiz →
Databases & DevOps: Bash Scripting
Variables, conditionals, redirection, and cron scheduling.
Medium
Take quiz →
Databases & DevOps: PostgreSQL Advanced Queries
Window functions, CTEs, JSON operators, and query tuning.
Hard
Take quiz →
Databases & DevOps: CI/CD Concepts
CI vs. CD, blue-green deploys, canary releases, and IaC.
Medium
Take quiz →
Databases & DevOps: Git Advanced (rebase, stash, cherry-pick)
Interactive rebase, stash internals, and cherry-pick use cases.
Hard
Take quiz →
CS Fundamentals
The core CS concepts behind every codebase — data structures, algorithms, and design.
CS Fundamentals: Arrays & Linked Lists
O(1) access vs. O(n) insertion — the classic trade-off between the two most basic data structures.
Medium
Take quiz →
CS Fundamentals: Stacks & Queues
LIFO vs. FIFO — push, pop, enqueue, dequeue, and where each one actually gets used.
Easy
Take quiz →
CS Fundamentals: Trees & Graphs
DFS, BFS, spanning trees — navigating the structures behind most non-linear data.
Hard
Take quiz →
CS Fundamentals: Big O Notation
O(1), O(n), O(log n), O(n²) — measuring how an algorithm scales.
Medium
Take quiz →
CS Fundamentals: Sorting Algorithms
Bubble sort, merge sort, quicksort — comparing how different algorithms put things in order.
Medium
Take quiz →
CS Fundamentals: Binary Search
O(log n) — finding a value fast by cutting the search space in half every time.
Easy
Take quiz →
CS Fundamentals: OOP Principles
Encapsulation, inheritance, polymorphism, abstraction — the four pillars of object-oriented code.
Medium
Take quiz →
CS Fundamentals: SOLID Principles
Single responsibility, open/closed, Liskov substitution — the five rules for maintainable OOP design.
Hard
Take quiz →
CS Fundamentals: Design Patterns (GoF)
Singleton, Factory, Observer, Strategy — the classic reusable solutions to recurring design problems.
Hard
Take quiz →
CS Fundamentals: Unit Testing Basics
Assertions, mocks, test coverage — the fundamentals of testing code in isolation.
Easy
Take quiz →
CS Fundamentals: Regular Expressions
\d+, .*, [a-z]+ — the pattern-matching language every programmer eventually needs.
Hard
Take quiz →
CS Fundamentals: Computer Networks Basics
TCP/IP, DNS, HTTP — how data actually gets from one computer to another.
Medium
Take quiz →