Learning Java Java Developer Backend Developer System Design Backend Performance Best Practices Bit Manipulation Clean Coding Collections Data Structures Dynamic Array String Linked List Queue Stack Hash Table Hash Map Hash Set Binary Tree Binary Search Tree Heap Graph Union Find Trie Algorithms Sorting Searching Tree Traversal Bit Manipulation DFS & BFS Topological Sort Dijkstra Bellman Ford Problem Solving Techniques Two Pointers Sliding Window Prefix Sum Fast & SlowPointer Divide & Conquer Recursion Backtracking Dynamic Programming Top K Elements Merge Interval Design Principles and Patterns Design Principles Single Responsibility Principle Open Closed Principle Liskov's Substitution Principle Interface Segregation Principle Dependency Inversion Principle Design Patterns Creational Patterns Structural Patterns Behavioral Patterns Docker File Handling Generics in Java Lambdas in Java Oracle Doc Multithreading Regular Expressions Serialization SQL Stream in Java Unit Testing