EXPLAIN YOUR THINKING
Prepare with purpose.
Browse questions by experience level. Open the workspace for language and category filters, bookmarks and timed practice.
Open question explorer →Fresher / Entry-Level
Two Sum
Given an array of integers nums and an integer target, return the indices of two distinct elements that add up to target. Return an empty array if there is no solution. Return the
20 min · Coding challenge →JavaScript · Stacks & queuesValid Parentheses
Given a string containing only (), {}, and [], determine whether every opening bracket is closed in the correct order. The empty string is valid.
15 min · Coding challenge →JavaScript · Arrays & hashingRemove Duplicate Values
Return the unique numbers from an array in their original order. Do not mutate the input.
10 min · Coding challenge →Python · Language conceptsGenerators vs. Lists
Compare a list comprehension with a generator when processing a large file. Explain iteration, laziness, and resource lifetime.
15 min · Discussion →Java · Language conceptsEquals and HashCode Contract
Explain the equals/hashCode contract. Describe what happens when a key changes after insertion into a HashMap.
15 min · Discussion →Mid-Level
Explain the Event Loop
Predict the order of synchronous code, promise microtasks, and timers. Explain why a long-running callback can delay every timer.
20 min · Discussion →TypeScript · Language conceptsModel API States with Unions
Model idle, loading, success, and error states with a discriminated union. Prevent impossible combinations and exhaustively render each state.
20 min · Discussion →C# · ConcurrencyAsync, Await & Cancellation
Design an asynchronous HTTP operation that propagates cancellation, handles failures, and avoids blocking the request thread.
25 min · Discussion →Go · ConcurrencyDesign a Bounded Worker Pool
Design a worker pool with bounded concurrency, cancellation, error handling, and a clear channel ownership model.
30 min · Discussion →Rust · ConcurrencyOwnership Across Threads
Explain when to use Arc, Mutex, and message passing to share data safely across threads. Discuss deadlock and lock scope.
25 min · Discussion →SQL · DatabasesDiagnose a Slow SQL Query
An orders query filters by customer_id, sorts by created_at DESC, and returns 20 rows. Propose an index and describe how to verify it.
25 min · Discussion →JavaScript · AlgorithmsFind the longest unique-character window
Return the maximum number of distinct consecutive Unicode code points in the input string.
25 min · Coding challenge →TypeScript · Language conceptsValidate untrusted JSON at the boundary
Accept unknown input. Return {ok:true,value:{name,age}} only for a non-array object whose name trims to nonempty text and age is an integer from 0 through 130. Otherwise return {ok
25 min · Coding challenge →Python · AlgorithmsRank frequent events with a bounded heap
Input {words:list[str],k:nonnegative integer}. Return up to k unique words by descending frequency, breaking ties alphabetically.
30 min · Coding challenge →SQL · DatabasesKeep every row tied for first place
Return id, customer, amount for every sale tied for the largest non-null amount within its customer. Order by customer then id.
25 min · Coding challenge →Advanced / Senior / Staff
Design a URL Shortener
Design a globally available URL shortener. Cover requirements, capacity estimates, identifiers, storage, caching, abuse controls, and failure modes.
45 min · Discussion →Java · System designHandle a Cache Stampede
A popular cache key expires and overwhelms the database. Design protections for hot keys, concurrent refresh, and cache failures.
35 min · Discussion →Python · Production debuggingDebug a Latency Regression
After a deployment, p99 latency triples while p50 stays stable. Outline a safe investigation and mitigation using metrics, traces, logs, and controlled rollback.
40 min · Discussion →