Start here. This is the direct spoken answer to practice first.
Why this question matters
Blocking is waiting on a lock holder and may continue until that transaction finishes. A deadlock is a cycle of dependencies that the database resolves by aborting a victim, so the evidence and immediate response differ.
I first check whether requests are still waiting or are failing with a deadlock-victim error. For blocking, I inspect active requests, wait types, held locks, transaction age, and the head blocker. For a deadlock, I retrieve the deadlock graph or event, which shows the participating statements, resources, lock modes, and chosen victim. That tells me whether I am investigating one long lock holder or a circular access pattern.