Interview frequency: …
Short answer
Presentation coordinates the UI, domain describes rules and use cases, and data deals with sources such as HTTP or a database; the boundaries reduce leakage of details.
Explanation
Not every app needs a full domain layer. Add it when there are independent rules or more than one consumer, and keep DTO mapping inside data instead of spreading JSON types to the UI.
Common mistakes
- Copying the same model into every layer with no difference in contract.
- Forcing a simple feature to have a use-case class for every function.