What is the difference between concurrency and parallelism?
technical-conceptual · Junior level · software-engineering
What the interviewer is really asking
Tests understanding of fundamental execution models that affect how engineers write and reason about multi-threaded or async code.
What to say
- Concurrency = dealing with multiple things at once (structure); parallelism = doing multiple things at once (execution). An analogy: one barista switching between coffee orders = concurrent; two baristas = parallel.
- Point out that concurrency is possible on a single core (via context switching), while parallelism requires multiple cores.
- Mention a real-world example: Node.js is concurrent but single-threaded; Go goroutines can be both concurrent and parallel.
What to avoid
- Treat the terms as synonyms.
- Say parallelism is always faster without acknowledging overhead (thread management, synchronization).
- Ignore the distinction between I/O-bound and CPU-bound workloads.
Example answers
Strong: A web server handling 1,000 simultaneous requests on a single thread via async I/O is concurrent — it interleaves progress without running them truly at the same time. If it used a thread pool across 8 cores, it's also parallel.
Weak: Concurrency is when your program uses multiple threads. Parallelism is the same thing.
Want questions matched to your role? Paste a job title, job description, or CV and get a personalized set, or go Pro to unlock the full bank.