tech-notes-and-questions

Basic Java

Concurrency & Multithreading

Object-Oriented Design

Designing RESTful APIs

Database Design

Data Structures and Algorithms

- Leetcode Problems

| Sorting & Searching | Linked Lists | Binary Trees | Graphs | Optimization Algorithms | | |————————————————|——————————————|——————————————|————————————————————————————————————————–|——————————————————–|———————————| | Terminology | Definition | Properties | Representations
adjacency matrix, adjacency list, edge list | Greedy Approach | | | Selection Sort | Uses | Traversals | Traversals
DFS, BFS | Dynamic Programming | | Bubble Sort | Basic Operations | Types of Trees | Shortest Path Algorithms
Dijkstra’s, Bellman Ford, Floyd-Warshall | Backtracking | | Insertion Sort | Problems | | Minimum Spanning Tree (MST) Algorithms
Kruskal’s, Prim’s | | | Merge Sort | | | Topological Sorting Algorithms
Kahn’s, DFS based | | | Quick Sort | | | Strongly Connected Components (SCC) Algorithms
Kosaraju’s, Tarjan’s | | | Heap Sort | | | Cycle Detection
In Directed Graphs(using DFS), In Undirected Graphs (using DFS/Union-Find) | | | Searching Techniques | | | Graph Coloring
Bipartite Graph Check (using BFS/DFS), Chromatic Number and Graph Coloring problems | | | | | | Network Flow
Ford-Fulkerson Method,Edmonds-Karp Algorithm, Max Flow-Min Cut Theorem | | | | | | Union-Find Data Structure
Applications in connectivity and cycle detection, Path compression and union by rank | | | | | | Eulerian and Hamiltonian Paths/Circuits
Eulerian Path and Circuit, Hamiltonian Path and Circuit | | | | | | Dynamic Programming on Graphs
Longest Path in a Directed Acyclic Graph (DAG), Traveling Salesman Problem (TSP) | | | | | | Graph Matching
Bipartite Matching, Hopcroft-Karp Algorithm | | | | | | Graph Algorithms for Specific Problems
Finding Bridges and Articulation Points, Finding the Diameter of a Tree | | | | | | Problems
1. jfsndvjdk
2. dcejkdfbvkjnckw
3. efivdnknkw | |

HR Questions

Useful Code Snippets