Executando verificação de segurança...
3

Meus 2 cents extendidos,

Mas aqui acho que a pergunta na entrevista foi capciosa.

Numa situacao real, conversando com os atores e entendendo a especificacao - poderia ficar claro que cada um iria tratar o envio de forma diferente, dai a necessidade de separacao e conformidade SOLID.

Mas a pergunta foi (como apresentada): "dois departamentos diferentes que precisam enviar email, podem usar o mesmo endpoint ?" - ok, ate dou o desconto que um "depende" poderia ser uma resposta mais cuidadosa, mas olhando apenas o cenario estrito da pergunta, nao fica clara a ofensa ao SOLID porque nao ficou claro que cada ator teria uma interpretacao diferente no uso da classe.

Se a espeficacao nao eh clara, pode gerar interpretacoes (e por isso acho que perguntas de entrevistas/testes/etc precisam ser o mais inequivocas possivel).

Meu ponto eh: os principios SOLID fazem sentido ? Sim - mas o uso correto das especificacoes e pleno entendimento da situacao/contexto onde serao aplicados tambem precisa ser atendido.

Carregando publicação patrocinada...
2

Ai você tem um ponto muito bom, concordo plenamente que a pergunta ficou muito esparsa para o cenário descrito, em um cenário destes tomar o máximo de cuidado possível ao se afirmar algo é pouco rsrs, creio que em casos assim brecha é aberta para que o entrevistado retorne a pergunta ao próprio entrevistador afim de obter informações mais precisas, isso além de te colocar em um resultado provavelmente maior do que a expectativa, demonstra uma capacidade de lidar de forma criativa com situações difíceis, pois com algo tão abstrato assim existe a possibilidade de múltiplos cenários, pois em recurso(endpoint) que é literalmente apenas enviar o e-mail sem uma lógica e objetivos por trás não fere os princípios, pois ficaria algo genérico, mas nesse sentido concordo que fizeram uma questão um tanto capciosa.

2

Olá, pessoal. Obrigado pelas respostas. Com certeza lerei os livros indicados e seguirei os conselhos nas próximas entrevistas.

Durante esta entrevista eu tentei tirar algumas dúvidas acerca da proposta que eles trouxeram, mas acredito que isso não me aproximou da resposta que os entrevistadores queriam. Talvez porque a minha compreensão sobre os princípios que eles estavam questionando era totalmente diferente da deles.

Neste post procurei não focar no processo seletivo, no conteúdo da pergunta ou na minha atuação na entrevista. Acredito que todos estes pontos poderiam ser explorados em outras postagens para abrir o debate.

A pergunta talvez tenha sido capciosa como pontuou o amigo, ou talvez eu não tenha tido maturidade para fazer as pergunta corretas (acredito fortemente que isso influenciou bastante rs) ou ainda os entrevistadores tinham uma convicção daquilo que é correto com base no conhecimento deles e no que eles aplicam no projeto e eu não pude corresponder.

Acho que todas essas reflexões cabem mas o que tentei trazer aqui foi meu espanto com a quantidade de material na internet que, na minha opinião, não tem o rigor técnico que tem um livro (a depender do livro, claro).

Ao ler o livro eu fui exposto a um ponto de vista que não tive em todos os mais de 10 artigos que li do assunto. É quase como se nenhum destes artigos tivessem sido baseados nos livro, ou como se um artigo tivesse "alimentado" o outro, gerando uma rede de informação que não diverge, não apresenta outro ponto de vista e portanto cria um consenso.

O consenso neste caso é de que ao separar duas funcionalidades em classes diferentes você já está atendendo ao princípio S de SOLID. Ao ler o livro do Uncle Bob eu vi que esse consenso não existe, uma outra interpretação do princípio me foi apresentada o que me levou a questionar a qualidade de algumas fontes.