- Design patterns
- Design principles
- Architectural patterns
- Micro services
- CAP theorem
- Spring
- Bitwise operations
- SQL famous queries
- System Design
- Design Questions
- SSL Basics
- Database
- Java
- Java Concurrency Utilities
- Concurrency in Java
- ConcurrentHashMap
- CompletableFuture
- Features introduced in Java 8, 9, 10, 11, 12
- Garbage Collectors - One | Two
- How atomic integer works
- Separate Chaining | Open Addressing | Linear Probing | Quadratic Probing | Cuckoo Hashing | Double Hashing
- Generics
- Annotations
- AOT vs JIT compilation in Java - video
- Phaser vs CountDownLatch vs CyclicBarrier - video
- Java - NIO
- Kafka
- Connect
- Stream
- Cassandra
- Data Structures and Algorithms
- Find the middle element of a singly linked list in one pass
- Reverse a singly linked list with recursion
- Remove duplicate nodes in an unsorted linked list
- Find the length of a singly linked list
- Check if a given linked list contains a cycle? How do you find the starting node of the cycle
- Reverse a linked list
- Find the nth node from the end in a singly linked list
- Merge two sorted linked list
- Find the sum of two linked lists using Stack
- Find intersection of two Linked Lists - O(m + n) Time Complexity and O(1) Space Complexity
- Check if two given binary trees are identical or not | Iterative & Recursive
- Calculate height of a binary tree | Iterative & Recursive
- Inorder Tree Traversal | Iterative & Recursive
- Preorder Tree Traversal | Iterative & Recursive
- Postorder Tree Traversal | Iterative & Recursive
- Level Order Traversal of Binary Tree
- Spiral Order Traversal of Binary Tree
- Reverse Level Order Traversal of Binary Tree
- Print Left View of a Binary Tree
- Print Right View of a Binary Tree
- Print Bottom View of Binary Tree
- Print Top View of Binary Tree
- Find diameter of a binary tree
- Convert binary tree to its mirror
- Find Lowest Common Ancestor (LCA) of two nodes in a binary tree
- Print all paths from root to leaf nodes in given binary tree
- Find ancestors of given node in a Binary Tree
- Find Vertical Sum in a given Binary Tree
- Find the diagonal sum of given binary tree
- Find node having maximum value in binary tree
- Find size of a binary tree
- Find number of leaves in a binary tree
- Find level that has maximum sum
- Check existence of path with given sum
- Find sum of all nodes
- Remove vowels from a string stored in a Binary Tree
- Construct binary tree given an array
- Print all nodes of a given binary tree in specific order
- Find next node in same level for given node in a binary tree
- Determine if given two nodes are cousins of each other
- In-place convert given binary tree to its sum tree
- Check if given binary tree is a sum tree or not
- Determine if given binary tree is a subtree of another binary tree or not
To be done | source
- Check if given binary tree is complete binary tree or not
- Print cousins of given node in a binary tree
- Check if given binary Tree has symmetric structure or not
- Find the distance between given pairs of nodes in a binary tree
- Print nodes in vertical order of a given Binary Tree (Vertical Traversal)
- Print Diagonal Traversal of Binary Tree
- Print corner nodes of every level in binary tree
- In-place convert convert given Binary Tree to Doubly Linked List
- Sink nodes containing zero to the bottom of the binary tree
- Convert given binary tree to full tree by removing half nodes
- Truncate given binary tree to remove nodes which lie on a path having sum less than K
- Find maximum sum root-to-leaf path in a binary tree
- Determine if given Binary Tree is a BST or not
- Convert a Binary Tree to BST by maintaining its original structure
- Invert given Binary Tree | Recursive and Iterative solution
- Print leaf to root path for every leaf node in a binary tree
- Design a stack which returns minimum element in constant time
- Check if given expression is balanced expression or not
- Stock Buy Sell to Maximize Profit
- Sort a stack using recursion
- Sort a stack using a temporary stack
- Reverse a stack using recursion
- Implement stack using queues
- Implement Queue using stacks
- Given an array and integer k, write an algorithm to find the maximum element in each subarray of size k
- Sort a stack using a temporary stack
- Print matrix diagonally
- Edit Distance
- Subset Sum Problem
- 0-1 Knapsack Problem
- Rod Cutting
- Coin change problem
- Count the number of islands
- Weighted Job Scheduling
- Count and print all Subarrays with product less than K in O(n)
- Find maximum meetings in one room
To be done | source
- Longest Increasing Subsequence
- Largest Sum Contiguous Subarray
- Find the Missing Number in the array
- Print all subsets of an array
- Sort an array of 0s, 1s and 2s
- Determine the given routing number belong to which bank
- Convert Integer to Roman
- Top 10 occurring words in a very large file java algorithm
- Build a Sudoku Solver in Java
- Find Itinerary from a given list of tickets
- Minimum Number of Platforms Required for a Railway/Bus Station
- Find the first circular tour that visits all petrol pumps