SoFi·Software Engineer·Technical Phone Screen
Jul 2026
SoFi software engineering interview with a concurrency design problem that was more involved than I expected. The question looked like a straightforward semaphore exercise but kept growing in scope as we went.
- Design and implement a thread-safe TaskExecutor that uses a semaphore-like permit system to cap concurrency, where tasks can be either blocking or fire-and-forget, and permits must always be released even on failure.
“I started with the semaphore acquire/release loop and got that part okay, but the blocking vs fire-and-forget distinction tripped me up.”