Your one-stop reference for programming interview preparation — algorithms, data structures, system design, distributed systems, generative AI, and observability — with code examples in JavaScript, Python, and C#.
- Data Structures — Arrays, linked lists, stacks, queues, trees, heaps, hash tables, graphs, tries, advanced trees, probabilistic structures
- Algorithms — Big-O, sorting, searching, BFS/DFS, dynamic programming, graph algorithms, backtracking, sliding window, greedy, bit manipulation, combinations/permutations, advanced algorithms
- System Design — Scalability, databases, caching, load balancing, message queues, and real-world designs (URL shortener, chat system, AI chatbot)
- Distributed Systems — Consensus (Raft, Paxos), replication, distributed transactions, clocks, failure detection, service discovery
- Generative AI — LLMs, prompt engineering, RAG, vector databases, AI agents, evaluation and safety
- Observability — Logs, metrics, distributed tracing, OpenTelemetry, alerting, incident response
- Programming Languages — C#/.NET, Python, JavaScript advanced features and interview topics
- Interview Tips — Problem-solving framework, communication, behavioral questions, study plan
- Browse — Pick a topic from the sidebar.
- Learn — Each page covers concepts, complexity analysis, and common patterns.
- Switch languages — Click the JavaScript | Python | C# tabs on any code block.
- Search — Use the search bar to find any topic or keyword.
- Practice — Follow the LeetCode links at the bottom of each page.
Toggle dark mode with the 🌙 button in the bottom-right corner.
| Complexity | Name | Example |
|---|---|---|
| O(1) | Constant | Array access by index |
| O(log n) | Logarithmic | Binary search |
| O(n) | Linear | Linear search |
| O(n log n) | Linearithmic | Merge sort, heap sort |
| O(n²) | Quadratic | Bubble sort, insertion sort |
| O(2ⁿ) | Exponential | Recursive Fibonacci |
| O(n!) | Factorial | Permutation generation |