"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Perguntas de entrevista DEV

Perguntas de entrevista DEV

Postado em 2025-03-23
Navegar:261

Perguntas de entrevista DEV

Aqui está uma lista das perguntas de programação, com as respostas explicativas e exemplos adicionais para cada uma:

1. Qual é o propósito das transações em SQL?

Resposta:

Garantir a integridade dos dados armazenados no banco de dados.

Explicação:

As transações em SQL asseguram que as operações realizadas no banco de dados sejam consistentes e seguras. Elas seguem os princípios ACID (Atomicidade, Consistência, Isolamento e Durabilidade), garantindo que ou todas as operações de uma transação sejam realizadas ou nenhuma delas. Caso ocorra uma falha, a transação pode ser revertida, mantendo a integridade dos dados.

Exemplo:

Imagine uma transação que envolve a transferência de dinheiro entre duas contas bancárias. Se a transferência falhar no meio do processo, a transação deve ser revertida para garantir que o dinheiro não seja perdido.


2. Qual é a principal razão para utilizar tipagem no desenvolvimento de software (por exemplo, em TypeScript)?

Resposta:

Facilidade na detecção de erros e bugs.

Explicação:

A tipagem estática, como no caso do TypeScript, ajuda a identificar erros de tipo durante o desenvolvimento, antes mesmo de o código ser executado. Isso pode reduzir significativamente a quantidade de bugs relacionados a tipos de dados incorretos, facilitando a manutenção e melhorando a qualidade do código.

Exemplo:

Em TypeScript, ao declarar uma variável como let idade: number = "25";, o compilador gerará um erro, porque estamos atribuindo uma string a uma variável do tipo número.


3. Qual é o benefício de usar um ORM (Object-Relational Mapper) em uma aplicação?

Resposta:

Para simplificar o processo de mapeamento de objetos para tabelas de banco de dados.

Explicação:

Os ORMs permitem que você trabalhe com objetos no código e os mapeie automaticamente para as tabelas do banco de dados, sem precisar escrever SQL diretamente. Isso facilita a interação com o banco de dados, aumentando a produtividade e evitando erros comuns de SQL.

Exemplo:

Com um ORM como Sequelize (para Node.js), ao criar um objeto User, você pode salvar e recuperar esse objeto automaticamente no banco de dados sem escrever consultas SQL manualmente.


4. Qual é a principal diferença entre null e undefined em JavaScript?

Resposta:

"Null" é atribuído explicitamente para indicar a ausência de qualquer valor de objeto, enquanto "undefined" é o valor padrão para variáveis não inicializadas.

Explicação:

  • null é um valor atribuído explicitamente para indicar a ausência de valor ou objeto.
  • undefined é o valor padrão para variáveis que são declaradas mas não inicializadas.

Exemplo:

let a = null;  // null é atribuído explicitamente
let b;         // b é undefined porque não foi inicializado

console.log(a);  // null
console.log(b);  // undefined

5. Como o Flexbox pode ser usado para centralizar horizontalmente um elemento dentro de seu contêiner pai?

Resposta:

Aplicar a propriedade "display: flex" ao contêiner pai e usar a propriedade "justify-content: center".

Explicação:

O Flexbox facilita o alinhamento de elementos. Para centralizar um elemento horizontalmente, você deve configurar o contêiner pai com display: flex e usar justify-content: center para alinhar os itens horizontalmente no centro.

Exemplo:

.container {
  display: flex;
  justify-content: center;
}

.item {
  width: 50%;
}

6. Como otimizar o pseudocódigo para verificar se um número N é primo?

Resposta:

Utilizar a raiz quadrada de N como limite superior do loop.

Explicação:

Em vez de verificar todos os números até (N-1), você pode verificar até a raiz quadrada de (N). Isso reduz significativamente a quantidade de verificações, pois, se (N) tem um divisor maior que sua raiz quadrada, o outro divisor já terá sido encontrado antes.

Exemplo:

function isPrime(N) {
  if (N 





7. Qual é a finalidade das transações em SQL?

Resposta:

Garantir a integridade dos dados armazenados no banco de dados.

Explicação:

As transações em SQL são usadas para garantir que as operações no banco de dados sejam concluídas corretamente ou, caso contrário, revertidas. Isso garante que o banco de dados permaneça consistente, mesmo em caso de falha.

Exemplo:

Em uma transação de venda, se o pagamento falhar após a atualização do estoque, a transação pode ser revertida para garantir que o estoque não seja atualizado sem que o pagamento tenha sido realizado.


8. Qual comando em Git desfaz um merge realizado de forma errada?

Resposta:

git merge --abort

Explicação:

Se você executar um merge e perceber que trouxe as mudanças da branch errada, pode usar o comando git merge --abort para cancelar o merge e voltar ao estado anterior, sem que as mudanças sejam aplicadas.

Exemplo:

git merge feature-branch
# Se perceber que o merge foi feito na branch errada
git merge --abort

9. Qual é o principal benefício de utilizar um ORM (Object-Relational Mapper)?

Resposta:

Para simplificar o processo de mapeamento de objetos para tabelas de banco de dados.

Explicação:

O ORM permite que você trabalhe com objetos em seu código, e o ORM cuida de mapear esses objetos para o banco de dados de forma automática, sem precisar escrever SQL diretamente.

Exemplo:

Usando o ORM Sequelize, ao criar um novo usuário, ele automaticamente salva os dados no banco de dados sem você escrever SQL:

const User = sequelize.define('User', {
  name: Sequelize.STRING,
  email: Sequelize.STRING
});

User.create({ name: 'John Doe', email: '[email protected]' });

Esses exemplos e explicações devem ajudar a entender melhor os conceitos abordados nas questões de programação.

Declaração de lançamento Este artigo é reproduzido em: https://dev.to/java2890/perguntas-de-entrevista-dev-267n?1 Se houver alguma infração, entre em contato com [email protected] para excluí-lo.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3