Uber

Apache Cassandra

Apache Cassandra logo

Distributed NoSQL database designed for high availability, linear scalability, and handling massive amounts of data across multiple data centers

Apache Flink

Apache Flink logo

Distributed stream processing framework for real-time analytics, event-driven applications, and complex event processing

Apache Kafka

Apache Kafka logo

Distributed streaming platform designed for high-throughput, real-time data pipelines and event-driven architectures

Apache Spark

Apache Spark logo

Unified analytics engine for large-scale data processing with built-in modules for streaming, SQL, machine learning and graph processing

BFS Shortest Path in Unweighted Graph

Find shortest path between two vertices in an unweighted graph using BFS traversal

Clone Graph

Create a deep copy of an undirected graph represented with adjacency lists

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

Detect Cycle in Directed Graph

Determine if a directed graph contains a cycle

Edit Distance (Levenshtein Distance)

Find the minimum number of operations (insert, delete, replace) required to transform one string into another.

Elasticsearch

Elasticsearch logo

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 Duplicate Number

Find the duplicate number in an array containing n+1 integers where each integer is between 1 and n (inclusive)

Find Majority Element (Boyer-Moore Algorithm)

Find the majority element that appears more than n/2 times using Boyer-Moore majority vote algorithm

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

Floyd-Warshall Algorithm - All Pairs Shortest Path

Find shortest paths between all pairs of vertices in a weighted graph using dynamic programming

Horizontal Scaling

Scaling strategy that increases system capacity by adding more machines or instances rather than upgrading existing hardware

Implement Stack

Design and implement a stack data structure with push, pop, top, and empty operations

Is Graph Bipartite

Check if a graph can be colored with exactly two colors such that no two adjacent nodes have the same color

Kth Largest Element in Array

Find the kth largest element in an unsorted array

Kth Smallest Element in Sorted Matrix

Find kth smallest element in row and column sorted matrix using heap

Longest Substring Without Repeating Characters

Find the length of the longest substring without repeating characters

Meeting Rooms II

Find minimum number of meeting rooms required using heap

Merge K Sorted Arrays

Merge k sorted arrays into one sorted array using heap

Merge Two Sorted Arrays

Merge two sorted arrays into a single sorted array in-place

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

Rotate Array by K Steps

Rotate an array to the right by k steps where k is non-negative

Sliding Window Median

Find median in each sliding window using two heaps

Three Sum (Triplets that Sum to Zero)

Find all unique triplets in the array which gives the sum of zero

Top K Frequent Elements

Find the k most frequent elements in an array

Topological Sort

Find a linear ordering of vertices in a directed acyclic graph

Trapping Rain Water

Calculate how much rainwater can be trapped between bars of different heights

Valid Anagram

Determine if two strings are anagrams of each other

Word Ladder

Find the shortest transformation sequence from beginWord to endWord using single character changes