Parte 2: principais (6–9) perguntas comuns sobre JavaScript

Jan 30 2023
JavaScript é uma linguagem de programação que se tornou uma das habilidades mais procuradas em solicitações de trabalho. É uma linguagem proteana usada para desenvolvimento da Web, desenvolvimento de aplicativos móveis, programação do lado do servidor e muito mais.

JavaScript é uma linguagem de programação que se tornou uma das habilidades mais procuradas em solicitações de trabalho. É uma linguagem proteana usada para desenvolvimento da Web, desenvolvimento de aplicativos móveis, programação do lado do servidor e muito mais.

Nesta postagem do blog, abordaremos as próximas 6 a 9 perguntas comuns sobre entrevistas em JavaScript que são feitas com frequência em entrevistas especializadas.

Você pode consultar a primeira parte das 5 perguntas aqui

Parte 1: principais (1-5) perguntas comuns sobre JavaScript
Questões de Javascript

Pergunta 6: Qual é a diferença entre código síncrono e assíncrono?

Código síncrono é um tipo de código executado em ordem sequencial, uma linha por vez. Em outras palavras, a próxima linha de código não será executada até que a linha atual termine de ser executada.

Esse tipo de código costuma ser usado em aplicativos menores e mais simples, nos quais não há necessidade de o aplicativo executar várias tarefas ao mesmo tempo. Por exemplo, considere o seguinte código síncrono:

function printNumbers() {
  console.log(1);
  console.log(2);
  console.log(3);
}

printNumbers();

O código assíncrono , por outro lado, permite que várias funções sejam executadas simultaneamente, sem esperar que uma função termine antes de iniciar a próxima.

Esse tipo de código costuma ser usado em aplicativos maiores e mais complexos, nos quais várias tarefas precisam ser executadas ao mesmo tempo. Por exemplo, considere o seguinte código assíncrono:

async function printNumbers() {
  console.log(1);
  setTimeout(() => {
    console.log(2);
  }, 1000);
  console.log(3);
}

printNumbers();

A principal diferença entre o código síncrono e o assíncrono é a ordem na qual o código é executado e o impacto que isso tem na capacidade do aplicativo de executar outras tarefas enquanto espera a conclusão de uma tarefa específica.

O código síncrono bloqueará a execução do restante do código até que a tarefa atual seja concluída, enquanto o código assíncrono permite que várias tarefas sejam executadas simultaneamente, melhorando a eficiência geral do aplicativo.

Pergunta 7: Qual é a diferença entre passagem por valor e passagem por referência em JavaScript?

Em JavaScript, existem duas maneiras de passar argumentos para uma função: passar por valor e passar por referência.

Passar por valor significa que quando uma variável é passada como argumento para uma função, uma cópia de seu valor é criada e passada para a função.

Quaisquer alterações feitas no argumento dentro da função não afetarão a variável original fora da função. Por exemplo:

let x = 5;

function changeValue(y) {
  y = 10;
}

changeValue(x);
console.log(x); // Output: 5

Passar por referência, por outro lado, significa que quando um objeto é passado como um argumento para uma função, uma referência ao objeto é passada, não uma cópia de seu valor.

Isso significa que qualquer alteração feita no objeto dentro da função afetará o objeto original fora da função. Por exemplo:

let obj = {value: 5};

function changeValue(y) {
  y.value = 10;
}

changeValue(obj);
console.log(obj.value); // Output: 10

É importante entender a diferença entre passar por valor e passar por referência em JavaScript, pois isso pode ter um impacto significativo no comportamento do seu código.

Ao trabalhar com tipos de dados primitivos, como números e strings, a passagem por valor é usada, mas ao trabalhar com objetos, a passagem por referência é usada.

Pergunta 8: Qual é o uso do 'modo estrito' em JavaScript e como você o habilita?

O modo estrito é um recurso em JavaScript que fornece um ambiente de execução mais seguro e seguro para seu código. Ele ajuda você a escrever um código melhor e mais limpo, aplicando regras que, de outra forma, são opcionais na execução normal do JavaScript.

Por exemplo, o modo estrito não permite o uso de variáveis ​​não declaradas, o que pode ajudar a evitar globais acidentais e outros problemas relacionados a variáveis. Também evita a modificação acidental de propriedades somente leitura, como o argumentsobjeto, e elimina o uso de alguns recursos obsoletos, como a withinstrução.

Para habilitar o modo estrito em JavaScript, você pode adicionar a seguinte linha na parte superior do seu script ou função:

"use strict";

(function () {
  "use strict";
  // Your code here
})();

Concluindo, usar o modo estrito em JavaScript é opcional, mas é altamente recomendado para melhorar a qualidade geral e a segurança do seu código. Usando o modo estrito, você pode identificar erros potenciais desde o início, evitar armadilhas comuns e escrever código que seja mais sustentável e escalável.

Pergunta 9: Quais são as maneiras de otimizar o desempenho do código JavaScript?

Existem várias maneiras de otimizar o desempenho do código JavaScript, e alguns dos métodos mais comuns são:

  1. Reduzir o código: Reduzir o código significa remover todos os caracteres desnecessários, como espaços em branco e comentários, e encurtar nomes de variáveis ​​para reduzir o tamanho do código. Um tamanho de código menor significa menos dados para transferir, o que pode resultar em tempos de carregamento mais rápidos.
  2. Usando cache: Ao armazenar dados usados ​​com frequência, você pode evitar computação redundante e acelerar seu código. Você pode armazenar dados em cache em variáveis ​​locais ou no cache do navegador.
  3. Evite bloquear o thread principal: JavaScript é uma linguagem de thread único, o que significa que só pode executar uma coisa por vez. Se você tiver uma tarefa de execução longa, ela bloqueará o thread principal, fazendo com que a página pare de responder. Para evitar isso, você pode usar técnicas de programação assíncrona, como callbacks ou Promises, para descarregar a tarefa de execução longa em um thread de trabalho.
  4. Evite usar variáveis ​​globais: as variáveis ​​globais podem tornar seu código mais lento porque podem ser acessadas de qualquer lugar no código e podem causar colisões com outras variáveis ​​com o mesmo nome. Em vez disso, use variáveis ​​locais dentro de funções, que são mais rápidas e menos propensas a colisões.
  5. Use o carregamento lento: o carregamento lento é uma técnica para carregar apenas o conteúdo necessário e não a página inteira de uma vez. Ao fazer isso, você pode reduzir a quantidade de dados que precisam ser transferidos e processados, resultando em tempos de carregamento mais rápidos.
  6. Use estruturas de dados adequadas: escolher a estrutura de dados certa para o seu código pode ter um impacto significativo no desempenho. Por exemplo, usar uma matriz para pesquisar, classificar e manipular grandes conjuntos de dados pode ser lento, enquanto usar um objeto ou um mapa pode ser muito mais rápido.
  7. Criação de perfil: a criação de perfil do seu código ajuda a identificar gargalos e otimizar o desempenho do seu código. Você pode usar o DevTools em seu navegador para criar o perfil de seu código e encontrar áreas que precisam ser melhoradas.

// Minifying the code
const name = "John Doe";
console.log("Hello, " + name);

// Becomes:
const n="John Doe";console.log("Hello, "+n);

// Using caching
const myArray = [1, 2, 3, 4, 5];
function sumArray(array) {
  let sum = 0;
  for (let i = 0; i < array.length; i++) {
    sum += array[i];
  }
  return sum;
}

let sum = sumArray(myArray);
console.log(sum);

// Using proper data structures
const data = [1, 2, 3, 4, 5];

let sum = 0;
for (let i = 0; i < data.length; i++) {
  sum += data[i];
}
console.log(sum);

// Becomes:
const data = new Map([[1, 1], [2, 2], [3, 3], [4, 4], [5, 5]]);

let sum = 0;
for (const value of data.values()) {
  sum += value;
}
console.log(sum);

<=======>

Se você estiver interessado em aprender mais sobre codificação em Javascript, siga-me para mais exemplos e trechos de código. Estarei compartilhando informações e dicas valiosas sobre como dominar o idioma e aprimorar suas habilidades como desenvolvedor. Portanto, fique atento para mais atualizações e vamos continuar aprendendo juntos.

Obrigado por ler. Bom aprendizado

Apoie nossa publicação seguindo-a

Integração do Splunk com SpringBoot Parte — 1 O click jacking e suas medidas preventivas Autoaperfeiçoamento: uma jornada de crescimento pessoal Integração do Splunk com SpringBoot — Parte 2 2023 React JS Trends to Watch Modern Entrepreneurs Switch to Propane Coding: Reverting the Order of Words in a String em conversões e promoções Javascript na integração Java Splunk com SpringBoot — parte final