Parte 2: Principales (6–9) preguntas comunes de JavaScript

Jan 30 2023
JavaScript es un lenguaje de programación que se ha convertido en una de las habilidades más demandadas en las solicitudes de empleo. Es un lenguaje proteico que se usa para el desarrollo web, el desarrollo de aplicaciones móviles, la programación del lado del servidor y más.

JavaScript es un lenguaje de programación que se ha convertido en una de las habilidades más demandadas en las solicitudes de empleo. Es un lenguaje proteico que se usa para el desarrollo web, el desarrollo de aplicaciones móviles, la programación del lado del servidor y más.

En esta publicación de blog, cubriremos las siguientes 6 a 9 preguntas comunes de entrevistas de JavaScript que se hacen con frecuencia en entrevistas especializadas.

Puede consultar la primera parte de 5 preguntas aquí

Parte 1: Principales (1-5) preguntas comunes de JavaScript
Preguntas de JavaScript

Pregunta 6: ¿Cuál es la diferencia entre código sincrónico y asincrónico?

El código síncrono es un tipo de código que se ejecuta en orden secuencial, una línea a la vez. En otras palabras, la siguiente línea de código no se ejecutará hasta que la línea actual haya terminado de ejecutarse.

Este tipo de código se usa a menudo en aplicaciones más simples y pequeñas donde no es necesario que la aplicación ejecute varias tareas al mismo tiempo. Por ejemplo, considere el siguiente código síncrono:

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

printNumbers();

El código asíncrono , por otro lado, permite que múltiples funciones se ejecuten simultáneamente, sin esperar a que una función termine antes de iniciar la siguiente.

Este tipo de código se usa a menudo en aplicaciones más grandes y complejas donde hay varias tareas que deben realizarse al mismo tiempo. Por ejemplo, considere el siguiente código asíncrono:

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

printNumbers();

La principal diferencia entre el código síncrono y el asíncrono es el orden en que se ejecuta el código y el impacto que tiene en la capacidad de la aplicación para realizar otras tareas mientras espera que se complete una tarea específica.

El código síncrono bloqueará la ejecución del resto del código hasta que finalice la tarea actual, mientras que el código asíncrono permite que varias tareas se ejecuten simultáneamente, lo que mejora la eficiencia general de la aplicación.

Pregunta 7: ¿ Cuál es la diferencia entre pasar por valor y pasar por referencia en JavaScript?

En JavaScript, hay dos formas de pasar argumentos a una función: pasar por valor y pasar por referencia.

Pasar por valor significa que cuando se pasa una variable como argumento a una función, se crea una copia de su valor y se pasa a la función.

Cualquier cambio realizado en el argumento dentro de la función no afectará la variable original fuera de la función. Por ejemplo:

let x = 5;

function changeValue(y) {
  y = 10;
}

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

Pasar por referencia, por otro lado, significa que cuando un objeto se pasa como argumento a una función, se pasa una referencia al objeto, no una copia de su valor.

Esto significa que cualquier cambio realizado en el objeto dentro de la función afectará al objeto original fuera de la función. Por ejemplo:

let obj = {value: 5};

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

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

Es importante comprender la diferencia entre pasar por valor y pasar por referencia en JavaScript, ya que puede tener un impacto significativo en el comportamiento de su código.

Cuando se trabaja con tipos de datos primitivos, como números y cadenas, se usa pasar por valor, pero cuando se trabaja con objetos, se usa pasar por referencia.

Pregunta 8: ¿Cuál es el uso del 'modo estricto' en JavaScript y cómo lo habilitas?

El modo estricto es una característica de JavaScript que proporciona un entorno de ejecución más seguro para su código. Le ayuda a escribir un código mejor y más limpio mediante la aplicación de reglas que, de otro modo, son opcionales en la ejecución normal de JavaScript.

Por ejemplo, el modo estricto no permite el uso de variables no declaradas, lo que puede ayudar a evitar globales accidentales y otros problemas relacionados con las variables. También evita la modificación accidental de propiedades de solo lectura, como el argumentsobjeto, y elimina el uso de algunas funciones obsoletas, como la withinstrucción.

Para habilitar el modo estricto en JavaScript, puede agregar la siguiente línea en la parte superior de su secuencia de comandos o función:

"use strict";

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

En conclusión, usar el modo estricto en JavaScript es opcional, pero es muy recomendable para mejorar la calidad y seguridad general de su código. Al usar el modo estricto, puede detectar posibles errores desde el principio, evitar errores comunes y escribir código que sea más fácil de mantener y escalable.

Pregunta 9: ¿Cuáles son las formas de optimizar el rendimiento del código JavaScript?

Hay varias formas de optimizar el rendimiento del código JavaScript, y algunos de los métodos más comunes son:

  1. Minimizar el código: Minimizar el código significa eliminar todos los caracteres innecesarios, como espacios en blanco y comentarios, y acortar los nombres de las variables para reducir el tamaño del código. Un tamaño de código más pequeño significa menos datos para transferir, lo que puede resultar en tiempos de carga más rápidos.
  2. Uso del almacenamiento en caché: al almacenar en caché los datos de uso frecuente, puede evitar el cálculo redundante y acelerar su código. Puede almacenar datos en caché en variables locales o en el caché del navegador.
  3. Evite bloquear el hilo principal: JavaScript es un lenguaje de un solo hilo, lo que significa que solo puede ejecutar una cosa a la vez. Si tiene una tarea de ejecución prolongada, bloqueará el hilo principal, lo que hará que la página deje de responder. Para evitar esto, puede usar técnicas de programación asíncrona, como devoluciones de llamada o promesas, para descargar la tarea de ejecución prolongada a un subproceso de trabajo.
  4. Evite el uso de variables globales: las variables globales pueden ralentizar su código porque son accesibles desde cualquier parte del código y pueden causar colisiones con otras variables con el mismo nombre. En su lugar, utilice variables locales dentro de las funciones, que son más rápidas y menos propensas a las colisiones.
  5. Utilice la carga diferida: la carga diferida es una técnica para cargar solo el contenido que se necesita, y no toda la página a la vez. Al hacer esto, puede reducir la cantidad de datos que deben transferirse y procesarse, lo que resulta en tiempos de carga más rápidos.
  6. Use estructuras de datos adecuadas: elegir la estructura de datos correcta para su código puede tener un impacto significativo en el rendimiento. Por ejemplo, usar una matriz para buscar, clasificar y manipular grandes conjuntos de datos puede ser lento, mientras que usar un objeto o un mapa puede ser mucho más rápido.
  7. Generación de perfiles: la generación de perfiles de su código lo ayuda a identificar cuellos de botella y optimizar el rendimiento de su código. Puede usar DevTools en su navegador para perfilar su código y encontrar áreas que necesitan mejoras.

// 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);

<=====>

Si está interesado en aprender más sobre la codificación en Javascript, asegúrese de seguirme para obtener más fragmentos de código y ejemplos. Estaré compartiendo información valiosa y consejos sobre cómo dominar el lenguaje y mejorar tus habilidades como desarrollador. Entonces, estén atentos para más actualizaciones y sigamos aprendiendo juntos.

Gracias por leer. Feliz aprendizaje

Apoya nuestra publicación siguiéndola

Integración de Splunk con SpringBoot Parte — 1 El click jacking y sus medidas preventivas Superación personal: un viaje de crecimiento personal Integración de Splunk con SpringBoot — Parte 2 2023 React JS Tendencias para ver a los empresarios modernos cambiar a la codificación de propano : invertir el orden de las palabras en un Cadena en Javascript Conversiones y promociones en Java Splunk Integración con SpringBoot — Parte final