Loïc TRUCHOT
JavaScript Fullstack Expert & Senior web developer
Dev front-end Junior 2021
Bien réussir son
en live
Dev JS / Integration HTML-CSS
// Décrire le code suivant
var prenom1 = 'Peach';
var prenom2 = prenom1;
// Quelle est la valeur de prenom2 ?
prenom1 = 'Mario';
// Quelle est la valeur de prenom2 ?
Types, références et valeurs
// Décrire le code suivant
var personne1 = {
prenom: 'Luigi',
nom: 'Miyamoto'
};
var personne2 = personne1;
// Quelle est la valeur de personne2.prenom ?
personne1.prenom = 'Toad';
// Quelle est la valeur de personne2.prenom ?
Types, références et valeurs
// Que vont écrire dans la console les lignes suivantes ?
console.log('42' == 42);
console.log('42' === 42);
// Les curiosités de JavaScript
console.log(NaN === NaN); // va écrire « false » dans la console
// Connaissez vous d'autres curiosités inattendues de JavaScript ?
Types, références et valeurs
// Décrire le code suivant
const students = [
{ name: 'Loïc', age: 33 },
{ name: 'Sabrina', age: 35 },
{ name: 'Philippe', age: 24 }
];
// ajouter son profil au personnel de l'entreprise
console.log(students);
// afficher les « name » un par un dans la console
// ajouter l'école « school: "Interface3" » à chacun des étudiants
console.log(students);
Itérations de listes
// Proposez un algorithme pour calculer la moyenne d'âge à Interface3
const students = [
{ name: 'Loïc', age: 33, school: 'Interface3' },
{ name: 'Sophia', age: 35, school: 'Interface3' },
{ name: 'Samir', age: 24, school: 'Interface3' }
];
Itérations de listes
// De quoi ES6 est-il l'acronyme ?
// Citer trois fonctionnalités qui n'existent que depuis ES6
const students = [
{ name: 'Loïc', age: 33 },
{ name: 'Sabrina', age: 35 },
{ name: 'Philippe', age: 24 }
];
students.push({ name: 'Nathalie', age: 28 });
students.forEach(item => console.log(item.name));
let i3Students = students.map(function(item) {
return { ...item, school: 'Interface3' };
});
console.log(i3Students);
ES6
// Décrire le code suivant
// Que va-t-il écrire dans la console ?
var salutation = 'bonjour';
function saluer() {
console.log(salutation);
}
saluer();
portée des variables
// Décrire le code suivant
// Que va-t-il écrire dans la console ?
function remercier() {
var remerciement = 'merci';
}
remercier();
console.log(remerciement);
// Quelle difference avec...
window.console.log(remerciement);
portée des variables
// Décrire le code suivant
const axios = require('axios');
const data = axios.get('https://jsonplaceholder.typicode.com/todos/1');
let a = 42;
// Les data arriveront-elles AVANT ou APRÈS que « a » prenne la valeur 42 ?
// axios.get retourne une promesse. Écrire les data reçues dans la console.
// définir une promesse avec vos propres mots
asynchrone
// Décrire le code suivant
const doubler = a => a * 2;
// en JavaScript, peut-on passer une fonction en argument à une fonction ?
// en JavaScript, une fonction peut-elle retourner une fonction ?
// en JavaScript, est-ce que la syntaxe suivante est valide ?
const fn = a => b => a;
// qu'est-ce que map, reduce et filter ont en commun ?
fonctionnel
Notre algorithme de tri de colis dois marcher de la manière suivante:
function traitementColis(hauteur, largeur, longueur, poids) {
// return ...
}
const colis1 = traitementColis(150, 30, 15, 12); // manuel
const colis2 = traitementColis(23, 35, 12, 2); // auto
const colis3 = traitementColis(100, 100, 101, 23); // rejeté
const colis4 = traitementColis(21, 23, 21, 24); // manuel
console.log(colis1, colis2, colis3, colis4);
// écrit dans la console: manuel, auto, rejeté, manuel
Notre magasin offre une réduction spéciale: l'article le plus cher dans votre panier reçoit un discount !
function offreSpeciale(prices, discount) {
// return ...
}
const total1 = offreSpeciale([10, 20, 30], 10); // 57
const total2 = offreSpeciale([100, 100, 100], 20); // 280
const total3 = offreSpeciale([12.34, 237.12, 18], 23); // 212
console.log(total1, total2, total3);
// écrit dans la console: 57, 280, 212
en live
Chance et courage dans vos interviews
Remerciements spéciaux : Christelle, Sarah, Stéphanie
By Loïc TRUCHOT