Concurrency or Parallelism?

What is the difference between concurrency and parallelism, and can you have one without the other?

The scenario

A team's image-processing endpoint is slow. Someone proposes marking the handlers async "so they run in parallel". The service is Node.js, the work is a 300ms synchronous resize, and the box has eight cores.

What it tests

  • Whether the candidate separates a structural property (tasks overlap in progress) from a physical one (instructions execute at the same instant)
  • Whether they can give a concrete example of each in isolation, not just a definition
  • Whether they understand that the distinction changes what you build, not just what you call it

Answer it out loud first. Recognising a good answer is not the same skill as producing one.