"Olá, amigo!"

Questões de entrevista
1 O que é impasse?
2 Que estratégias você conhece para evitar impasses?
3 O impasse pode ocorrer ao usar os métodos de notificação de espera?
4 O que é usado com mais frequência: notify ou notifyAll?
5 O método wait é recomendado para uso com instruções if ou while?
6 O que acontece depois de uma chamada para notifyAll?
7 O que um objeto ganha por ser imutável?
8 O que significa ser thread-safe?
9 O que é um relacionamento "acontece antes"?
10 O que é o JMM?
11 Que exceção será lançada se você chamar wait fora de um bloco sincronizado?