Programming language used to interact with SQL Server databases
SQL Server checks for deadlocks every five seconds, and if it finds a deadlock it will inject an error in one of the processes involved in the deadlock, so that it becomes the deadlock victim. Unless deadlock priorities have been set, the deadlock victim will be the process with the least amount of log records.
Your question suggests that you may not have a full understanding of the term "deadlock": A deadlock is when two or more processes are blocking each other in such a way that none of them can continue. Sometimes a process can be blocked for a longer time, because of a long-running operation. Some people think this is a deadlock, but it is not, and the blocked process will continue when the long-running process has completed. The exception would be deadlocks that SQL Server is not available to detect, but these are rare.
You can get notifications by email when a deadlock is detected, and also when a process has been blocked for a certain amount of time. The way to go is to set up event notifications. I will not go into details here, as this is quite an advanced feature. Also, I have a feeling that once you see how much mail you get, you will turn them off... It may be better to set up extended-events session and then check them on a regular basis.
What I should say, though, is that to get notifications about blocked process, you need to set the configuration parameter blocked process threshold (s) to how long you want a blocking to be before you get a notification. Because SQL Server checks every five seconds, set it to a value divisible by five. You need to set this value, no matter if you are using event notifications or extended events.
Finally, I should mention that you can run into situations where SQL Server becomes entirely unresponsive. This is obviously more critical, and this is often due to bugs in the product, although shortage of RAM can contribute. This should be addressed, possibly by opening a support case. (But first make sure that you have installed the most recent Cumulative Update.) If you want to monitor for this condition, you need to do this from the outside, as you cannot rely on SQL Server itself in this case.