Solve concurrency in Java
Company: Fidelity
Role: Software Engineer
Category: Coding & Algorithms
Difficulty: Medium
Interview Round: Take-home Project
Quick Answer: This question evaluates understanding of concurrency in Java, including familiarity with threads, the Executor framework, synchronized blocks, explicit locks, atomic variables, concurrent collections, and futures/CompletableFuture, as well as the ability to reason about race conditions, deadlocks, and starvation.