En las entrevistas hacen muchas preguntas. Varias de estas incluyen y requieren conocer conceptos como lo es el módulo. Este es el residuo de una division. Por ejemplo, si dividimos 7 entre 3 (de manera entera, esto significa que no miramos la parte decimal, solo trabajamos con los números Enteros), el resultado nos da 2, ya que el 3 solo cabe 2 veces en el 7. y el residuo es 1 que es lo que sobra. Ese 1 es el resultado del módulo entre 7 y 3. Aunque parezca un concepto "que no tiene valor", es muy común su uso en la programación.

Por ejemplo, este se usa para saber si un número es par o impar, ya que si un numero lo dividimos entre 2 y el residuo es 0, entonces es par, de lo contrario es impar.

El módulo lo expresamos con el simbolo de porcentaje %. Entonces, si excribimos algo así: 8%5, queremos conocer el modulo (o residuo de la división) de 8 entre 5 (8/5).

Un ejercicio que preguntan en las entrevistas es imprimir los primeros 100 numeros pero cuando el número es divisible entre 3 en su lugar colocamos FIZZ. Además, si el número es divisible por 5 colocamos BUZZ. Y si es divisible tanto por 3 como por 5 colocamos FIZZBUZZ en su lugar. Aquí, es donde entra en juego el modulo. Vamos a ver como sería la solución.

<aside> 🎣 El && significa AND (y) en JavaScript. Es un operador lógico.

</aside>

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>FIZZBUZZ - Dame un empleo</title>
</head>
<body>
  <script src="fizz.js"></script>
</body>
</html>
var numeros = 100;
var msg;
for(var i = 1 ; i<=100 ; i++){
  if( i % 3 == 0 && i % 5 == 0){
    msg = "FIZZBUZZ";
  }else if(i % 3 == 0){
    msg = "FIZZ";
  }else if(i % 5 == 0){
    msg = "BUZZ";
  }else{
    msg = i;
  }
document.write(msg + "<br>");
}

Ahora, realizamos un proyecto para aprender conceptos como lo son los Arreglos, Clases, Constructor y for especial (tanto el in como el of)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <h1>Pakimanes que he atrapado</h1>
  <script src="pakiman.js"></script>
  <script src="paki.js"></script>
</body>
</html>
var imagenes = [];

imagenes["Cauchin"]= "vaca.png";
imagenes["Pokacho"]= "pollo.png";
imagenes["Tocinauro"]= "cerdo.png";

var coleccion = [];
coleccion.push( new Pakiman("Cauchin", 100, 30) );
coleccion.push( new Pakiman("Pokacho", 80, 50) );
coleccion.push( new Pakiman("Tocinauro", 120, 40) );

for(var p in coleccion){
  coleccion[p].mostrar();
}

for(var p of coleccion){
  p.mostrar();
}

//Algo curioso es que al ejecutar los dos tipos de for al tiempo, no se porqué la imagen se buguea y en lugar de mostrar todo dos veces bien, primero muestra sin la imagen y luego con la imagen. Supongo que será problema de JavaScript o no se. Ahí, dejo la imagen.
class Pakiman{
  constructor(n, v, a){
    this.imagen = new Image();
    this.nombre = n;
    this.vida = v;
    this.ataque = a;
    this.imagen.src = imagenes[this.nombre];
  }

  hablar(){
    alert(this.nombre);
  }

  mostrar(){
    document.body.appendChild(this.imagen);
    document.write("<br/><strong>"+ this.nombre +"</strong><br/>");
    document.write("Vida: "+ this.vida +"<br/>");
    document.write("Ataque: "+ this.vida +"<hr>");
  }
}

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/dc4ada6e-d581-466d-a1fc-84f2c9cf7b2c/Untitled.png