questões técnicas de entrevista para dev

Saber fazer e saber conversar sobre assuntos técnicos nos dá confiança na entrevista para uma vaga de desenvolvedor. Pesquisando, encontrei um repositório com diversas perguntas e respostas interessantes. Vamos a detalhes em javascript.

awesome developer interview questions

perguntas incríveis da entrevista para desenvolvedor

Durante a explicação de código ou até mesmo quando questionado sobre como é feito determinada tarefa ou o porque é feito determinada tarefa é preciso saber construir essa resposta de forma objetiva e com clareza.

Por isso, treinar perguntas e respostas de conteúdo técnico pode ajudar a fixar esses detalhes.

javascript

  1. O que são variáveis ​​não declaradas e indefinidas?

Variáveis ​​não declaradas são aquelas que não existem em um programa e não são declaradas. Se o programa tentar ler o valor de uma variável não declarada, será encontrado um erro de tempo de execução.

Variáveis ​​indefinidas são aquelas que são declaradas no programa, mas não receberam nenhum valor. Se o programa tentar ler o valor de uma variável indefinida, um valor indefinido será retornado.

2. Escrever o código para adicionar novos elementos dinamicamente?

3. Qual é o funcionamento dos temporizadores em JavaScript?

Os temporizadores são usados ​​para executar um pedaço de código em um tempo definido ou repetir o código em um determinado intervalo. Isso é feito usando as funções setTimeout, setInterval e clearInterval .

A função setTimeout(function, delay) é usada para iniciar um timer que chama uma determinada função após o atraso mencionado.

A função setInterval(function, delay) executa repetidamente a função dada no atraso mencionado e só para quando cancelada. A função clearInterval(id) instrui o cronômetro a parar.

Os temporizadores são operados em um único thread e, portanto, os eventos podem ser enfileirados, aguardando para serem executados.

4. O que são Cookies JavaScript?

Cookies são os pequenos arquivos de teste armazenados em um computador e são criados quando o usuário visita os sites para armazenar as informações de que precisa. Exemplos podem ser detalhes do nome de usuário e informações do carrinho de compras de visitas anteriores.

5. O que é um método pop() em JavaScript?

O método pop() é semelhante ao método shift(), mas a diferença é que o método Shift funciona no início do array. O método pop() retira o último elemento do array fornecido e o retorna. O array no qual ele é chamado é então alterado.

Exemplo:

6. Quais são as desvantagens de usar innerHTML em JavaScript?

Se você usa innerHTML em JavaScript, a desvantagem é

  • O conteúdo é substituído em todos os lugares
  • Não podemos usá-lo como “anexar a innerHTML
  • Mesmo se você usar +=como “innerHTML = innerHTML + ‘html’” ainda assim o conteúdo antigo é substituído por html
  • Todo o conteúdo innerHTML é analisado novamente e construído em elementos. Portanto, é muito mais lento
  • O innerHTML não fornece validação e, portanto, podemos inserir HTML válido e quebrado no documento e quebrá-lo

7. O que são instruções break e continue?

A instrução Break sai do loop atual.

A instrução Continue continua com a próxima instrução do loop.

8. Para que serve um tipo de operador?

Typeof’ é um operador usado para retornar uma descrição de string do tipo de uma variável.

9. Quais palavras-chave são usadas para lidar com exceções?

Try… Catch — Finally é usado para tratar exceções no JavaScript

Try{ 
Code
}
Catch(exp){
Code para lançar uma exceção.
}
Finalmente{
O código é executado ou termina com sucesso ou após a captura
}

10. ​​Qual palavra-chave é usada para imprimir o texto na tela?

documento.write(“Welcome”) é usado para imprimir o texto de boas-vindas na tela.

11. Para que serve a função de desfoque?

A função Blur é usada para remover o foco do objeto especificado.

12. Quais são os diferentes tipos de erros em JavaScript?

Existem três tipos de erros:

  • Erros de tempo de carregamento : Erros que surgem ao carregar uma página da Web, como erros de sintaxe impróprios, são conhecidos como erros de tempo de carregamento e geram os erros dinamicamente.
  • Erros de tempo de execução : Erros que ocorrem devido ao uso indevido do comando dentro da linguagem HTML.
  • Erros Lógicos : São os erros que ocorrem devido à má lógica executada em uma função com uma operação diferente.

13. Qual é o uso do método push() em JavaScript?

O método push() é usado para adicionar ou anexar um ou mais elementos a um final de Array. Usando esse método, podemos anexar vários elementos passando vários argumentos.

14. Qual é o método unshift em JavaScript?

O método unshift() é como o método push(), que funciona no início do array. Este método é usado para anexar um ou mais elementos ao início da matriz.

15. Qual é a maneira de obter o status de um checkBox?

O status pode ser adquirido da seguinte forma –

alert(document.getElementById('checkbox1').checked);

Se o checkBox estiver marcado, este alerta retornará TRUE.

16. Como o DOM é utilizado em JavaScript?

DOM significa Document Object Model e é responsável por como vários objetos em um documento interagem entre si. O DOM é necessário para o desenvolvimento de páginas da web, o que inclui objetos como parágrafos, links, etc. Esses objetos podem ser operados para incluir ações como adicionar ou excluir. O DOM também é necessário para adicionar recursos extras a uma página da web. Além disso, o uso da API oferece uma vantagem sobre outros modelos existentes.

17. Por que você não deve usar innerHTML em JavaScript?

O conteúdo innerHTML é atualizado toda vez e, portanto, é mais lento. Não há escopo para validação em innerHTML. Portanto, é mais fácil inserir código não autorizado no documento e tornar a página da web instável.

18. Como JavaScript e ECMA Script estão relacionados?

ECMA Script é como regras e diretrizes, enquanto Javascript é uma linguagem de script usada para desenvolvimento web.

19. Quais são os importantes métodos de array JavaScript explicados com exemplo?

O objeto Array tem muitas propriedades e métodos que ajudam os desenvolvedores a lidar com arrays de maneira fácil e eficiente. Você pode obter o valor de uma propriedade especificando arrayname.property e a saída de um método especificando arrayname.method().

  • propriedade length –> Se você quiser saber o número de elementos em um array, você pode usar a propriedade length.
  • propriedade prototype –> Se você quiser adicionar novas propriedades e métodos, você pode usar a propriedade prototype.
  • método reverso –> Você pode reverter a ordem dos itens em uma matriz usando um método reverso.
  • método sort –> Você pode classificar os itens em uma matriz usando o método sort.
  • método pop –> Você pode remover o último item de um array usando um método pop.
  • método shift –> Você pode remover o primeiro item de um array usando o método shift.
  • método push –> Você pode adicionar um valor como o último item do array.

20. O que é o teste de unidade JavaScript e quais são os desafios do teste de unidade JavaScript?

O teste de unidade JavaScript é um método de teste no qual o JavaScript testa o código escrito para uma página da web ou módulo de aplicativo da web. Ele é combinado com HTML como um manipulador de eventos embutido e executado no navegador para testar se todas as funcionalidades funcionam bem. Esses testes de unidade são então organizados no conjunto de testes.

Cada suíte contém vários testes projetados para serem executados em um módulo separado. Mais importante, eles não entram em conflito com nenhum outro módulo e são executados com menos dependências entre si (algumas situações críticas podem causar dependências).

Desafios do teste de unidade JavaScript:

Aqui estão os desafios importantes do teste de unidade JavaScript:

  • Muitas outras linguagens suportam testes de unidade em navegadores, tanto no ambiente estável quanto no ambiente de execução, mas o JavaScript não pode
  • Você pode entender algumas ações do sistema com outras linguagens, mas esse não é o caso do JavaScript
  • Alguns JavaScript são escritos para um aplicativo da Web que pode ter várias dependências.
  • JavaScript é bom para usar em combinação com HTML e CSS em vez de na web
  • Dificuldades com renderização de página e manipulação de DOM
  • Às vezes, você encontra uma mensagem de erro na tela referente a ‘Não foi possível carregar o example.js’ ou qualquer outro erro de JavaScript relacionado ao controle de versão. Essas vulnerabilidades estão sob o JavaScript de teste de unidade

Soluções de teste de unidade JavaScript:

Para evitar tais problemas, o que você pode fazer é;

  • Não use variáveis ​​globais.
  • Não manipule objetos predefinidos.
  • Projete as principais funcionalidades com base na biblioteca.
  • Tente criar pequenos pedaços de funcionalidades com menos dependências.

21. Quais são algumas estruturas de teste de unidade JavaScript importantes?

A seguir está uma lista com curadoria de estruturas e ferramentas de teste de unidade JavaScript populares que são amplamente usadas:

Unit.js: É conhecida como uma biblioteca de asserções de código aberto executada no navegador e no Node.js. É extremamente compatível com outros frameworks de teste de unidade JavaScript como Mocha, Karma, Jasmine, QUnit, Protractor, etc. Fornece a API documentada completa da lista de asserções.

QUnit: É usado para teste de unidade JavaScript do lado do cliente e do lado do servidor. Este framework de teste JavaScript gratuito é usado para projetos jQuery. Segue a Especificação de teste de unidade JS comum para teste de unidade em JavaScript. Ele suporta o cronograma de suporte de longo prazo do nó.

Jasmine: Jasmine é a estrutura de desenvolvimento orientada por comportamento para teste de unidade JavaScript. Ele é usado para testar códigos JavaScript síncronos e assíncronos. Não requer DOM e vem com uma sintaxe fácil que pode ser escrita para qualquer teste.

Karma: Karma é um ambiente de teste produtivo de código aberto. Fácil controle de fluxo de trabalho executado na linha de comando. Oferece a liberdade de escrever os testes com Jasmine, Mocha e QUnit. Você pode executar o teste em dispositivos reais com depuração fácil.

Mocha: Mocha é executado em Node.js e no navegador. Mocha realiza testes assíncronos de forma mais simples. Fornece precisão e flexibilidade nos relatórios. Fornece um tremendo suporte de recursos avançados, como tempos limite específicos de teste, APIs JavaScript.

Jest: O Facebook usa jest até agora para testar todo o código JavaScript. Ele fornece a ‘experiência de teste de configuração zero. Suporta testes de execução independentes e ininterruptos sem qualquer conflito. Não requer nenhuma outra configuração de configuração e bibliotecas.

AVA: AVA é uma estrutura simples de teste de unidade JavaScript. Os testes estão sendo executados em paralelo e em série. Testes paralelos são executados sem interromper um ao outro. Essa estrutura de teste também suporta testes assíncronos. O AVA usa subprocessos para executar o JavaScript de teste de unidade.

22. O que é o algoritmo QuickSort em JavaScript?

O algoritmo Quick Sort segue a abordagem Divide and Conquer. Ele divide os elementos em partes menores com base em algumas condições e executa o tipo de operações nessas partes menores divididas.

O algoritmo Quick Sort é um dos algoritmos mais usados ​​e populares em qualquer linguagem de programação. Se você é um desenvolvedor JavaScript, já deve ter ouvido falar de sort() que já está disponível em JavaScript. Então, você pode estar pensando sobre qual é a necessidade desse algoritmo de classificação rápida. Para entender isso, primeiro, precisamos o que é ordenação e qual é a ordenação padrão em JavaScript.

Quicksort segue o algoritmo Divide-and-Conquer . Ele divide os elementos em partes menores com base em algumas condições e executa as operações de classificação nessas partes menores divididas. Portanto, funciona bem para grandes conjuntos de dados. Então, aqui estão as etapas de como o Quicksort funciona em palavras simples.

  1. Primeiro, selecione um elemento que será chamado de elemento pivô .
  2. Em seguida, compare todos os elementos da matriz com o elemento pivô selecionado e organize-os para que restem elementos menores que o elemento pivô. Maior que o pivô está à sua direita.
  3. Finalmente, execute as mesmas operações nos elementos do lado esquerdo e direito do elemento pivô.

Então, esse é o esquema básico do Quicksort. Aqui estão as etapas que precisam ser seguidas uma a uma para executar o Quicksort.

23. Como funciona o QuickSort

Etapa 1) Primeiro, encontre o elemento “pivot” na matriz.

Etapa 2) Inicie o ponteiro esquerdo no primeiro elemento da matriz.

Etapa 3) Inicie o ponteiro direito no último elemento da matriz.

Etapa 4) Compare o elemento apontando com o ponteiro esquerdo e, se for menor que o elemento pivô, mova o ponteiro esquerdo para a direita (adicione 1 ao índice esquerdo). Continue até que o elemento do lado esquerdo seja maior ou igual ao elemento pivô.

Passo 5) Compare o elemento apontando com o ponteiro certo. Se for maior que o elemento pivô, mova o ponteiro direito para a esquerda (subtraia 1 ao índice direito). Continue até que o elemento do lado direito seja menor ou igual ao elemento pivô.

Etapa 6) Verifique se o ponteiro esquerdo é menor ou igual a um ponteiro direito e, em seguida, vi os elementos nas localizações desses ponteiros.

Etapa 7) Incremente o ponteiro esquerdo e diminua o ponteiro direito.

Etapa 8) Se o índice do ponteiro esquerdo ainda for menor que o índice do ponteiro direito, repita o processo; caso contrário, retorne o índice do ponteiro esquerdo.

Então, vamos ver essas etapas com um exemplo. Vamos considerar uma matriz de elementos que precisamos classificar é [5,3,7,6,2,9].

Aqui estão as etapas para executar a classificação rápida que está sendo mostrada com um exemplo [5,3,7,6,2,9].

PASSO 1) Determine o pivô como um elemento do meio. Então, 7 é o elemento pivô.

PASSO 2) Inicie os ponteiros esquerdo e direito como primeiro e último elementos da matriz, respectivamente. O ponteiro esquerdo aponta para 5 no índice 0 e o ponteiro direito aponta para 9 no índice 5.

PASSO 3) Compare o elemento ponteiro esquerdo com o elemento pivô, pois 5 < 6 desloca o ponteiro esquerdo para a direita para o índice 1.

PASSO 4) Agora, ainda 3 <6, então desloque o ponteiro da esquerda para mais um índice para a direita. Agora 7 > 6 para de incrementar o ponteiro esquerdo e agora o ponteiro esquerdo é o índice 2.

PASSO 5) Agora, compare o valor no ponteiro direito com o elemento pivô. Desde 9 > 6, mova o ponteiro da direita para a esquerda. Agora, como 2 < 6, pare de mover o ponteiro direito.

PASSO 6) Troque os dois valores presentes nos ponteiros esquerdo e direito entre si.

PASSO 7) Mova os dois ponteiros mais um passo.

ETAPA 8) Como 6 = 6, mova os ponteiros para mais uma etapa e pare quando o ponteiro esquerdo cruzar o ponteiro direito e retornar o índice do ponteiro esquerdo.

Aqui, com base na abordagem acima, precisamos escrever código para trocar elementos e particionar a matriz conforme mencionado nas etapas acima.

Exemplo:

23. O que é DOM em JavaScript?

JavaScript pode acessar todos os elementos em uma página da web usando o Document Object Model (DOM). O navegador da Web cria um DOM da página da Web quando a página é carregada.

24. Como usar DOM e Eventos?

Usando o DOM, o JavaScript pode executar várias tarefas. Ele pode criar novos elementos e atributos, alterar os elementos e atributos existentes e até mesmo remover elementos e atributos existentes. JavaScript também pode reagir a eventos existentes e criar novos eventos na página.

  1. getElementById, exemplo innerHTML
  2. getElementById: Para acessar elementos e atributos cujo id está definido.
  3. innerHTML: Para acessar o conteúdo de um elemento.

25. Cite três métodos manipuladores de eventos

  1. createElement: Para criar um novo elemento
  2. removeChild: remove um elemento
  3. você pode adicionar um manipulador de eventos a um elemento específico como este

Essas e outras perguntas e respostas estão no repositório da DopplerHQ no Github.

Utilizei o link a seguir para a maioria das questões que listei aqui.

Para buscar respostas e outros detalhes sobre html e web temos o a documentação oficial da mozilla.

Espero que tenha gostado. Deixe seu aplauso e até o próximo artigo.

--

--

--

Developer Frontend Web — Javascript | ReactJS https://linktr.ee/douglasabnovato

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
douglasabnovato

douglasabnovato

Developer Frontend Web — Javascript | ReactJS https://linktr.ee/douglasabnovato

More from Medium

Yarn 2(Berry)-3 significant additions

Best JavaScript Frameworks to learn in 2022

The power of JavaScript’s Intl.NumberFormat

The first Step. An isLoading report of self taught software development.