Apache Cassandra
Distributed NoSQL database designed for high availability, linear scalability, and handling massive amounts of data across multiple data centers
Apache Flink
Distributed stream processing framework for real-time analytics, event-driven applications, and complex event processing
Apache Kafka
Distributed streaming platform designed for high-throughput, real-time data pipelines and event-driven architectures
Apache Spark
Unified analytics engine for large-scale data processing with built-in modules for streaming, SQL, machine learning and graph processing
Articulation Points (Cut Vertices)
Find all articulation points in an undirected graph - vertices whose removal increases the number of connected components
Bellman-Ford Algorithm
Find shortest paths from a source vertex to all other vertices in a weighted graph, capable of handling negative edge weights
BFS Shortest Path in Unweighted Graph
Find shortest path between two vertices in an unweighted graph using BFS traversal
Course Schedule
Determine if you can finish all courses given prerequisite relationships using topological sorting
Data Migration Strategies
Techniques for migrating data between different schemas and systems
Elasticsearch
Distributed search and analytics engine built on Apache Lucene for real-time search, logging, and data analytics
Exponential Backoff
Retry strategy that progressively increases delay between retry attempts to handle transient failures and prevent system overload
Find Bridges in a Graph
Find all bridges (critical edges) in an undirected graph using Tarjan's algorithm
Find K Largest Elements
Find the k largest elements from an unsorted array
Find Median from Data Stream
Design data structure to find median from continuous stream of integers
Find the Second Largest Element in an Array
Find and return the second largest element in an array of integers
Horizontal Scaling
Scaling strategy that increases system capacity by adding more machines or instances rather than upgrading existing hardware
Inverted Indexes
Full-text search and information retrieval using inverted indexes
Kth Largest Element in Array
Find the kth largest element in an unsorted array
Largest Rectangle in Histogram
Find the largest rectangle that can be formed in a histogram
Longest Palindromic Substring
Find the longest palindromic substring in a given string
Longest Substring Without Repeating Characters
Find the length of the longest substring without repeating characters
Maximum Subarray Sum (Kadane's Algorithm)
Find the contiguous subarray with maximum sum using Kadane's algorithm
Minimum Spanning Tree
Find the minimum spanning tree of a weighted undirected graph using Kruskal's and Prim's algorithms
Minimum Window Substring
Find the minimum window substring that contains all characters of another string
Move All Zeros to the End
Move all zeros in an array to the end while maintaining the relative order of non-zero elements
Network Delay Time (Dijkstra's Algorithm)
Find the time it takes for a signal to reach all nodes in a network using shortest path algorithms
Optimistic Locking
Concurrency control mechanism that assumes conflicts are rare and handles them when they occur, using version numbers or timestamps to detect concurrent modifications
Regular Expression Matching
Implement regular expression matching with support for '.' and '*'
Reverse an Array
Reverse the order of elements in an array in-place and return the modified array
Rotate Array by K Steps
Rotate an array to the right by k steps where k is non-negative
Rotten Oranges Problem
Find the minimum time for all oranges to rot using BFS
Schema Evolution
Managing backward and forward compatibility in data schemas
Serialize and Deserialize Binary Tree
Serialize a binary tree to a string and deserialize it back to the original tree
Sliding Window Maximum
Find the maximum element in each sliding window of size k
Smallest Substring with All Characters
Find the smallest substring that contains all characters of a given pattern
Stock Span Problem
Calculate the span of stock prices for each day
Top K Frequent Elements
Find the k most frequent elements in an array
Valid Parentheses
Determine if the input string has valid brackets that are properly opened and closed
Vertical Order Traversal of Binary Tree
Traverse a binary tree vertically and return nodes by columns
Zigzag Level Order Traversal
Traverse a binary tree level by level in zigzag order




