DSA Tutorial #6: Heaps and Priority Queues — Always Get the Min or Max

A heap is a data structure that always gives you the smallest (or largest) element instantly. It powers priority queues, scheduling systems, and some of the most common interview patterns like “top K elements.” In this article, you will learn how heaps work, how to implement them, and how to use them in coding interviews. We show every example in Kotlin, Python, and Go. What is a Heap? A heap is a complete binary tree that satisfies the heap property: ...

May 14, 2026 · 9 min

DSA Tutorial #5: Trees — Binary Trees and Binary Search Trees

Trees are one of the most important data structures for coding interviews. They appear in about 20-25% of all interview questions at top tech companies. If you are comfortable with trees, you have a big advantage. In this article, you will learn binary trees, tree traversals, and binary search trees (BST). We show every example in Kotlin, Python, and Go. What is a Tree? A tree is a hierarchical data structure made of nodes connected by edges. It looks like an upside-down tree — the root is at the top, and the leaves are at the bottom. ...

May 14, 2026 · 9 min

DSA Tutorial #4: Hash Maps and Sets — O(1) Lookup Explained

Hash maps are the most useful data structure for coding interviews. If you can only master one data structure beyond arrays, make it hash maps. They give you O(1) average-time lookups, insertions, and deletions. Many interview problems that seem hard become easy once you use a hash map. In this article, you will learn how hashing works, when to use hash maps vs hash sets, and how to solve classic interview problems. We show every example in Kotlin, Python, and Go. ...

May 14, 2026 · 8 min

DSA Tutorial #3: Stacks and Queues — LIFO and FIFO Explained

Stacks and queues are two of the most fundamental data structures in computer science. They are building blocks for many algorithms and appear frequently in coding interviews. The rules are simple — stacks follow Last In, First Out (LIFO), and queues follow First In, First Out (FIFO). In this article, you will learn how stacks and queues work, how to implement them, and how to solve classic interview problems. We show every example in Kotlin, Python, and Go. ...

May 13, 2026 · 8 min

DSA Tutorial #2: Linked Lists — Singly, Doubly, and Circular

Linked lists are the second most common data structure in coding interviews after arrays. They test your ability to work with pointers, handle edge cases, and think about memory. In this article, you will learn how linked lists work, how to implement them, and how to solve classic interview problems. We show every example in Kotlin, Python, and Go. What is a Linked List? A linked list is a collection of nodes. Each node stores two things: a value and a pointer (reference) to the next node. Unlike arrays, linked list nodes are not stored next to each other in memory. They can be anywhere in memory, connected through pointers. ...

May 13, 2026 · 8 min

DSA Tutorial #1: Arrays and Strings — The Foundation of Every Interview

Arrays and strings are the most common data structures in coding interviews. Almost every technical interview at Google, Meta, Amazon, or any tech company starts with an array or string problem. If you want to pass coding interviews, you need to master these two first. In this article, you will learn what arrays and strings are, their time complexities, and how to solve classic interview problems. We show every example in Kotlin, Python, and Go. ...

May 12, 2026 · 8 min

Claude AI Tutorial #24: Claude in CI/CD — Automated Code Review in GitHub Actions

Manual code reviews are slow. Pull requests wait hours or days for feedback. In this article, you will set up Claude to automatically review every PR in your GitHub repository, post comments on issues it finds, and approve clean code — all inside GitHub Actions. This is Article 24 in the Claude AI — From Zero to Power User series. You should know Build a Code Review Bot before this article. ...

May 12, 2026 · 7 min

TypeScript Tutorial #25: Build a Type-Safe CLI Tool

In the previous tutorial, we learned about TypeScript configuration. Now let’s put everything together and build a complete CLI tool — a bookmark manager that stores, searches, and exports bookmarks from your terminal. This is the final project of the TypeScript tutorial series. We will use Commander for argument parsing, Zod for validation, chalk for colors, and TypeScript for type safety throughout. What We Are Building A CLI tool called bm (bookmark manager) with these commands: ...

May 12, 2026 · 6 min

TypeScript Tutorial #24: TypeScript Config Deep Dive

In the previous tutorial, we learned about advanced TypeScript patterns. Now let’s learn about tsconfig.json — the configuration file that controls how TypeScript compiles your code. By the end of this tutorial, you will know every important compiler option, understand module resolution, set up path aliases, and configure project references for monorepos. What is tsconfig.json? tsconfig.json is a JSON file at the root of your project. It tells the TypeScript compiler: ...

May 11, 2026 · 6 min

TypeScript Tutorial #23: Advanced Patterns

In the previous tutorial, we learned about tRPC for end-to-end type safety. Now let’s learn about advanced patterns — techniques that experienced TypeScript developers use to write safer, more maintainable code. By the end of this tutorial, you will know discriminated unions for state machines, branded types for preventing ID mix-ups, the builder pattern for type-safe object construction, and type-safe event systems. Supporting Types Used in This Tutorial The examples below use a few shared types. Here they are for reference: ...

May 11, 2026 · 8 min