Can "no one" and "nobody" be used interchangeably? If not, when is the correct time to use either one?
The same but for "someone" and "somebody".
The simple answer is yes, they can be used interchangeably. Choose whichever one sounds the nicest in your sentence.
I once heard of a 'subtle difference' between someone/somebody etc, which explained that 'someone' was psychological while 'somebody' was purely physical. For example "I need someone who can mend my car" because you want them to bring their knowledge of fixing cars, but "Will somebody pass me the phone?" because you want a purely physical action - no thought required. Likewise with nobody and anybody.
I find it an intriguing idea, but I must stress that it is purely anecdotal.
Someone refers to a specific person we have in mind, while somebody is more general (it could be any of the persons). The same applies for no one and nobody.
Both are singular pronouns, and use anyone when you are suggesting a person in a known group, as in, "Has anyone in this room been hunting lately?" And anybody when you are unaware of the group, as in "Has anybody ever gone thirty days without food and lived?" Similarly for (No one, nobody) and (someone, somebody)