paint-brush
Estas perguntas da entrevista sobre codificação separarão os profissionais dos amadorespor@shcheglov
6,317 leituras
6,317 leituras

Estas perguntas da entrevista sobre codificação separarão os profissionais dos amadores

por Viktor Shcheglov3m2024/04/18
Read on Terminal Reader

Muito longo; Para ler

As perguntas da entrevista de codificação são projetadas para ir além das habilidades técnicas. Eles se aprofundam no processo de pensamento do desenvolvedor, na abordagem de resolução de problemas, nas habilidades de trabalho em equipe e em outras qualidades cruciais. Estas perguntas não são para os fracos de coração. As perguntas são compiladas pela equipe do Coding Interview Questionnaire da Coder.com.
featured image - Estas perguntas da entrevista sobre codificação separarão os profissionais dos amadores
Viktor Shcheglov HackerNoon profile picture
0-item

Perguntas da entrevista de codificação


Saudações, colegas desenvolvedores!

Ao longo da minha carreira, conduzi mais de 100 entrevistas com desenvolvedores de todos os níveis, desde desenvolvedores juniores até veteranos experientes. E sabe de uma coisa? Nesse período, elaborei um conjunto de 10 perguntas complicadas que coloco a cada novo candidato.

Por que? Bem, é simples: estas questões permitem-me ir além da mera avaliação das competências técnicas de alguém. Eles se aprofundam em seu processo de pensamento, abordagem de resolução de problemas, habilidades de trabalho em equipe e outras qualidades cruciais.

Você está pronto para esta batalha intelectual? Então preparem-se, porque essas perguntas não são para os fracos de coração!


  1. Impedindo a edição simultânea de artigos

Suponha que você esteja implementando um sistema de edição de periódico onde os editores possam editar artigos no painel de administração. Como você evitaria que dois editores editassem simultaneamente o mesmo artigo e substituíssem as alterações um do outro?


  1. Princípios de implantação com tempo de inatividade zero

Quais são os princípios da implantação com tempo de inatividade zero, uma abordagem que implanta um aplicativo sem tempo de inatividade do serviço? Como isso é conseguido?


  1. Críticas à sua estrutura preferida

Cite aspectos de sua estrutura preferida que você não gosta ou que não funcionam da maneira que você gostaria. Explique como e onde surgem estas questões e como podem ser melhoradas.

4. Lidando com Cron Jobs de longa duração

O que poderia acontecer se o seu cron job, que é executado a cada minuto, começar a levar mais de um minuto para ser executado? Como isto pode ser evitado?

5. Desnormalizando dados em bancos de dados

Você já encontrou a necessidade de desnormalizar dados em um banco de dados? Em caso afirmativo, que problema você estava tentando resolver, que desafios enfrentou e como poderia ter sido feito melhor?

6. Simulação de chamadas externas em testes

Se você escreve testes, como contornar o problema de chamadas externas feitas pelo código que está testando? Considere o cenário onde as chamadas externas são proibidas no CI (integração contínua). Por que isso é uma boa prática?

7. Sincronizando alterações de e-mail com sistemas externos

Suponha que seu sistema implemente a funcionalidade de alteração de e-mail. No entanto, o email também é armazenado em um sistema externo, como um processador de pagamentos, que envia emails aos usuários (mas os usuários não interagem diretamente com ele). Como você implementaria a sincronização de e-mail com o sistema externo?


  1. Descobrindo Erros de Produção

Como você aprende sobre erros que ocorrem na produção? Você confia em relatórios de usuários ou possui mecanismos automatizados?


  1. Projetando um aplicativo de bate-papo simples

Como você projetaria um aplicativo de bate-papo simples? Você pode perguntar ao engenheiro de back-end sobre a parte de back-end e ao engenheiro de front-end sobre a parte de front-end. Pode haver muitos ramos nesta conversa.

10. Isolando testes em um ambiente multiusuário

Como é garantido o isolamento dos testes quando vários testes são executados simultaneamente e acessam o banco de dados, potencialmente modificando-o? Se sua estrutura não oferece isolamento, como você a implementaria ou melhoraria?



Dicas adicionais:

Incentive o candidato a elaborar seu processo de pensamento e o raciocínio por trás de suas respostas.

Avalie suas habilidades de resolução de problemas, capacidade de pensar criticamente e conhecimento de tecnologias relevantes.

Avalie suas habilidades de comunicação e colaboração durante a entrevista.