Start here. This is the direct spoken answer to practice first.
Why this matters
Controllers are familiar to many .NET developers, but interviews often test whether the candidate uses them as clean request boundaries or turns them into large business-logic scripts.
A controller groups related API actions, and each action handles a specific HTTP request. The action receives bound input, calls application logic, and returns a result that becomes the HTTP response. Result types make status codes explicit, such as Ok, Created, BadRequest, NotFound, or NoContent. I try to keep controllers thin so they coordinate the request instead of owning all business logic.