Home

Topic

java

35 articles across 13 sub-topics

Sub-topic

Algorithms

14 articles

Big O Notation Explained: Time Complexity, Space Complexity, and Why They Matter in Interviews

TLDR: Big O notation describes how an algorithm's resource usage grows as input size grows — not how fast it runs on your laptop. Learn to identify the 7 complexity classes (O(1) through O(n!)), derive time and space complexity by counting loops and ...

32 min read
Two Pointer Technique: Solving Pair and Partition Problems in O(n)

Two Pointer Technique: Solving Pair and Partition Problems in O(n)

TLDR: Place one pointer at the start and one at the end of a sorted array. Move them toward each other based on a comparison condition. Every classic pair/partition problem that naively runs in O(n²) collapses to O(n) with this one idea — and masteri...

16 min read
Tries (Prefix Trees): The Data Structure Behind Autocomplete

Tries (Prefix Trees): The Data Structure Behind Autocomplete

TLDR: A Trie stores strings character by character in a tree, so every string sharing a common prefix shares those nodes. Insert and search are O(L) where L is the word length. Tries beat HashMaps on prefix queries — startsWith in O(L) with zero coll...

16 min read
Sliding Window Technique: From O(n·k) Scans to O(n) in One Pass

Sliding Window Technique: From O(n·k) Scans to O(n) in One Pass

TLDR: Instead of recomputing a subarray aggregate from scratch on every shift, maintain it incrementally — add the incoming element, remove the outgoing element. For a fixed window this costs O(1) per shift. For a variable window, expand the right bo...

16 min read
Merge Intervals Pattern: Solve Scheduling Problems with Sort and Sweep

Merge Intervals Pattern: Solve Scheduling Problems with Sort and Sweep

TLDR: Sort intervals by start time, then sweep left-to-right and merge any interval whose start ≤ the current running end. O(n log n) time, O(n) space. One pattern — three interview problems solved. 📖 When Two Meetings Overlap: The Scheduling Prob...

13 min read

In-Place Reversal of a Linked List: The 3-Pointer Dance Every Interviewer Expects

TLDR: Reversing a linked list in O(1) space requires three pointers — prev, curr, and next. Each step: save next, flip curr.next to point backward, advance both prev and curr. Learn this once and you unlock four reversal variants that appear constant...

16 min read

Sub-topic

Architecture

5 articles

Simplifying Code with the Single Responsibility Principle

TLDR TLDR: The Single Responsibility Principle says a class should have only one reason to change. If a change in DB schema AND a change in email format both require you to edit the same class, that class has two responsibilities — and needs to be s...

11 min read

Interface Segregation Principle: No Fat Interfaces

TLDR TLDR: The Interface Segregation Principle (ISP) states that clients should not be forced to depend on methods they don't use. Split large "fat" interfaces into smaller, role-specific ones. A RoboticDuck should not be forced to implement fly() j...

13 min read

How the Open/Closed Principle Enhances Software Development

TLDR TLDR: The Open/Closed Principle (OCP) states software entities should be open for extension (add new behavior) but closed for modification (don't touch existing, tested code). This prevents new features from introducing bugs in old features. ...

12 min read

Dependency Inversion Principle: Decoupling Your Code

TLDR TLDR: The Dependency Inversion Principle (DIP) states that high-level business logic should depend on abstractions (interfaces), not on concrete implementations (MySQL, SendGrid, etc.). This lets you swap a database or email provider without to...

12 min read
Strategy Design Pattern: Simplifying Software Design

Strategy Design Pattern: Simplifying Software Design

TLDR: The Strategy Pattern replaces giant if-else or switch blocks with a family of interchangeable algorithm classes. Each strategy is a self-contained unit that can be swapped at runtime without touching the client code. The result: Open/Closed Pri...

11 min read