Event Loop & Timers

Batched Async Task Queue

hardJS SpecificJS / TS3 tests

Problem Statement

Implement `createBatchQueue(batchSize, flushInterval, onFlush)` that queues pushed items and flushes them to `onFlush(batch)` whenever either `batchSize` items accumulate OR `flushInterval` milliseconds elapse.

Examples

Example 1:
const queue = createBatchQueue(3, 1000, (items) => console.log('flushed', items));
queue.push(1);
queue.push(2);
queue.push(3); // flushes [1, 2, 3] immediately because size = 3 reached
JavaScript & TypeScript starter code included
Run this as a live interview

Practice solo

3 test cases. No second person needed.

Get new interview exercises

Practice problems and review drills, sent when we publish new ones. No spam.

Unsubscribe anytime. We never share your address.