Engineering Interviews · interview question
When reviewing code for concurrency issues, why is using a synchronized block with a HashMap not recommended?
Multiple choiceEasychapter-20-curatedpremiumengineering-interviewscode-review-spotting-bugs
HashMap<String, Integer> map = new HashMap<>();
// synchronization attempt
synchronized(map) { map.put("key", 1); }Answer and explanation
Correct answer
C. It does not eliminate race conditions.
Why
HashMap is not thread-safe, and using a synchronized block does not inherently solve all concurrency issues like race conditions. Instead, consider using ConcurrentHashMap for thread safety.
Test yourself on Engineering Interviews
A free test with instant, explained results. No account needed.
More Engineering Interviews questions
- In the context of JVM memory architecture, what is the primary role of the 'stack'?
- Why is it important to first outline a high-level design before diving into coding during a system design interview?
- During a live coding interview, why is it important to verbalize your thought process?
- What does the 'Result' component in the STAR framework mainly aim to achieve?
- Why is it crucial to agree on an algorithm before writing code in a live coding interview?
- In a code review, which type of bug is most critical to address immediately?