Développeur front-end Junior 2019
Bien réussir son
Qui suis-je ?
De quoi va-t-on parler ?
Développeur JS / Intégrateur 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: "FIJ" » à 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.
asynchrone
le mot clef « this »
// 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;
fonctionnel
Un clone de Netflix...
...qui bug.
Chance et courage dans vos interviews
Ressources
Remerciements spéciaux : Christelle, Sarah, Stéphanie