Explain Java concurrency and fix i++ race
Company: WeRide
Role: Software Engineer
Category: Software Engineering Fundamentals
Difficulty: medium
Interview Round: Technical Screen
Quick Answer: This question evaluates understanding of Java concurrency constructs (Thread/Runnable/Callable), the Java Memory Model, synchronization primitives (volatile, synchronized, Lock, Atomic classes), and the ability to reason about atomicity and race conditions such as lost updates from i++.