Abstração que vaza (leaky abstraction)
Pergunta
O que é uma abstração que vaza, e por que toda abstração vaza um pouco?
Resposta esperada
Uma abstração esconde detalhes por trás de uma interface simples. Ela 'vaza' quando o usuário da interface precisa entender o que estava escondido pra usá-la direito: um ORM que abstrai SQL, mas você tem que saber de N+1, de lazy loading e de índices pra ele não te trair; um sistema de arquivos de rede que finge ser local, até a rede cair. A 'lei das abstrações que vazam' (Joel Spolsky) diz que toda abstração não-trivial vaza em algum grau — o objetivo não é uma abstração perfeita, é uma que vaza raramente e de forma previsível, e cujos detalhes você ainda consegue alcançar quando precisa. Implicação prática: aprender a abstração não te dispensa de entender uma camada abaixo dela.
Por que perguntam isso
Pergunta pleno/sênior. Referência: 'law of leaky abstractions'. Bom candidato dá um exemplo vivido (ORM costuma ser o melhor).