CodingNeed.

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

Mid-Level

JavaScript · Concurrency

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 concepts

Model 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# · Concurrency

Async, Await & Cancellation

Design an asynchronous HTTP operation that propagates cancellation, handles failures, and avoids blocking the request thread.

25 min · Discussion
Go · Concurrency

Design a Bounded Worker Pool

Design a worker pool with bounded concurrency, cancellation, error handling, and a clear channel ownership model.

30 min · Discussion
Rust · Concurrency

Ownership 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 · Databases

Diagnose 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 · Algorithms

Find 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 concepts

Validate 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 · Algorithms

Rank 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 · Databases

Keep 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