DSA & Algorithms
DSA is less about memorising algorithms than about recognising shapes. These articles build each structure from what it is good at, then show the problem patterns that keep reappearing — two pointers, sliding window, BFS versus DFS — so you can spot them under time pressure.
Core structures
- Password Hashing Explained: Why SHA-256 Is Wrong Here SHA-256 is a good hash. That is exactly the problem: it is fast, and speed is the one property you do not want when someone is guessing your users' passwords. Tutorial · 12 min read · August 6, 2026
- Stack vs Heap Memory: Where Your Variables Live Deep recursion is not slow, it is fatal. The stack is a fixed block handed to your thread at birth, and a single large local array can exhaust it in one line. Tutorial · 12 min read · August 6, 2026
- Java Collections: Pick by Access Pattern, Not Habit LinkedList's famous O(1) insert only applies if you are already holding the node. That one detail explains why the textbook answer loses to ArrayList in real code. Comparison · 12 min read · August 6, 2026
- JavaScript sort(): Why [10, 9, 1] Becomes [1, 10, 9] Sorting numbers with plain .sort() gives you an order that looks random until you realise every element was converted to a string first. And the array you sorted was modified, which is its own bug. Tutorial · 11 min read · August 6, 2026
- Map and Set in JavaScript: When They Beat Objects Use an object as a lookup table and every key becomes a string. Two different objects used as keys collapse into one entry called [object Object], and nothing warns you. Comparison · 11 min read · August 6, 2026
- Python Sets: Fast Lookups and the Order You Lose Checking if x in my_list inside a loop is the quiet way to turn a fast script into a slow one. Sets fix that in one line, and take away order and duplicates in exchange. Tutorial · 10 min read · August 6, 2026
- Python collections: Counter, defaultdict, deque, namedtuple defaultdict is the most useful class in the module and the easiest one to get wrong. Simply reading a missing key adds it, so a lookup can silently grow your dictionary. Tutorial · 11 min read · August 6, 2026
- Binary Tree Traversal: Inorder, Preorder and Postorder Three traversals differ by one line's position. Knowing which one a problem needs is usually the whole solution. Tutorial · 10 min read · August 6, 2026
- Heaps and Priority Queues Explained With Examples A heap gives you the smallest or largest item instantly without keeping everything sorted. That trade is why top-K questions have such a clean solution. Tutorial · 10 min read · August 6, 2026
- The Two Pointer Technique Explained With Examples One of the highest-return patterns in interviews. It turns a nested loop into a single pass — but only when the data has the property that makes it safe. Tutorial · 9 min read · August 5, 2026
- Sliding Window Technique: Fixed and Variable Windows Any question about a contiguous subarray or substring is probably a sliding window. The trick is knowing what makes the window shrink. Tutorial · 10 min read · August 5, 2026
- BFS vs DFS: Which Graph Traversal to Use The code for both is nearly identical — swap a queue for a stack. That one change decides whether you find the shortest path or merely a path. Comparison · 10 min read · August 5, 2026
- Array vs Linked List: Which One and Why Textbooks say linked lists are better for insertion. Real machines often disagree, and knowing why is what separates a memorised answer from an understood one. Comparison · 9 min read · August 5, 2026
- Stack vs Queue: The Difference, With Real Examples One reverses order, the other preserves it. That single difference decides whether you get undo, or you get a printer queue. Comparison · 8 min read · August 5, 2026
- Hash Tables Explained: How Dictionaries Really Work Every dictionary, map and object you have ever used is a hash table. Understanding the machinery explains a surprising amount of everyday behaviour. Tutorial · 10 min read · August 5, 2026
- Python List vs Tuple: Differences and When to Use Each Lists change, tuples don't. See how Python lists and tuples differ in mutability, speed, memory, and hashability, plus exactly when to reach for each. Comparison · 8 min read · July 22, 2026
- Python Dictionary Methods: A Beginner's Guide with Examples A beginner-friendly tour of the most-used Python dictionary methods, each with a runnable snippet, plus a word-frequency example and common mistakes. Tutorial · 9 min read · July 22, 2026
Algorithms
- Python itertools: combinations, groupby and the Lazy Trap itertools.groupby does not group your data. It groups runs of consecutive equal keys, so unsorted input gives you the same key back three times and nobody warns you. Tutorial · 11 min read · August 6, 2026
- DSA Patterns Cheat Sheet: Recognise the Problem Type Interview problems reuse about a dozen patterns. Recognising which one applies is most of the solution — the code is the easy part. Tips & Tricks · 11 min read · August 6, 2026
- Dynamic Programming Explained for Beginners DP has a reputation for being hard. It is really one idea — do not solve the same subproblem twice — applied with discipline. Tutorial · 12 min read · August 6, 2026
- Recursion vs Iteration: Which to Use and Why Anything one can do, the other can too. The choice is about which makes the problem clearer — and which one the stack can survive. Comparison · 9 min read · August 6, 2026
- Backtracking Explained: The Template That Solves Most Problems Backtracking is brute force that gives up early. One template — choose, explore, undo — covers subsets, permutations, sudoku and N-queens. Tutorial · 11 min read · August 6, 2026
- Time Complexity Cheat Sheet for Interviews Every complexity you need for an interview, in one place — plus the table that tells you which complexity a problem's constraints are asking for. Tips & Tricks · 10 min read · August 6, 2026
- Maximum Call Stack Size Exceeded: Causes and Fixes A stack overflow in JavaScript. Usually a missing base case — but the React version and the accidental-recursion version are sneakier. Tutorial · 9 min read · August 6, 2026
- Time Complexity and Big O Notation Explained Simply Big O is not about how many seconds your code takes. It is about how the work grows as the input grows — and that difference is what interviewers are actually testing. Tutorial · 10 min read · August 5, 2026
- Sorting Algorithms Compared: Which to Use and Why You will almost never write a sort in production. You will absolutely be asked to explain one in an interview, and the trade-offs are the actual lesson. Comparison · 11 min read · August 5, 2026
- Binary Search Algorithm Explained (With Code) Binary search finds a value in a sorted array by halving the search range each step. Here is the low/high/mid logic with working Python code. Tutorial · 8 min read · July 22, 2026
- What Is Recursion? Explained Simply with Examples Recursion is when a function calls itself. Here is how the base case, recursive case, and call stack work, with clear Python examples for beginners. Tutorial · 9 min read · July 22, 2026
More on DSA & Algorithms
- C++ STL Guide: Containers, Iterators and Complexity std::map is not a hash table, and writing m[key] to check a key silently inserts it. Two facts that change how your STL code behaves and what it costs. Tutorial · 12 min read · August 6, 2026
- How to Approach a Coding Round Without Freezing Most candidates fail coding rounds by process, not knowledge. Silence while thinking costs more marks than an imperfect solution. Career · 11 min read · August 6, 2026
- How to Prepare for a Technical Interview: A Step-by-Step Guide A practical, step-by-step plan for freshers: what technical interviews test, a 4-week timeline, live-coding etiquette, and how to handle questions you can't solve. Career · 8 min read · July 22, 2026
- DSA Roadmap for Beginners: How to Start in 2026 A step-by-step DSA roadmap for absolute beginners: the right topic order, how much time each stage takes, and the mistakes that waste months. Career · 9 min read · July 22, 2026
