I applied online. I interviewed at Alaan in Jun 2026
Interview
The interview focused on my previous backend engineering experience and included three practical JavaScript questions. I answered two questions correctly, demonstrating my technical knowledge and problem-solving abilities during the discussion.
Interview questions [3]
Question 1
Implement a function that retries an async operation with exponential backoff.
**Requirements:**
- Retry failed operations
- Wait longer between each retry (1s, 2s, 4s, 8s...)
- Return result on success
- Throw error after max retries
javascript async function retryWithBackoff(asyncFn, maxRetries = 3, baseDelay = 1000) { // YOUR CODE HERE }
Write a debounce function that delays the execution of a function until after a specified time has passed since it was last called. **Requirements:** - Takes a function and delay time - Cancels previous pending calls - Preserves this context - Add a cancel() method
javascript
function debounce(func, delay) {
// YOUR CODE HERE
}
// Test Case
let callCount = 0;
const increment = function() {
callCount++;
console.log('Called:', callCount);
};
const debouncedIncrement = debounce(increment, 300);
debouncedIncrement(); // Scheduled
debouncedIncrement(); // Previous cancelled, rescheduled
debouncedIncrement(); // Previous cancelled, rescheduled
// After 300ms, should print: "Called: 1"
debouncedIncrement();
debouncedIncrement.cancel(); // Should cancel the call
// Nothing should print
"Applied through a recruiter. Received a take-home assignment within a few days. Completed and submitted it. Had an online interview based on the assignment. Currently waiting to hear back about next steps. Process has been smooth so far."