Sobes.tech

Frontend

De ces billets, on peut construire un seul itinéraire ininterrompu. Il n'y a pas de boucles ni de répétitions dans l'itinéraire. Il faut écrire un programme qui renvoie ces mêmes objets de billets dans l'ordre de l'itinéraire. ```javascript function getRoute(tickets = []) { const cities = new Map(); for (const ticket of tickets) { cities.set(ticket.from, ticket); } const result = []; let currentCity = startcity; while (cities.has(currentCity)) { const next = cities.get(currentCity); result.push(next); currentCity = next.to; } return result; } console.clear() console.log(getRoute([ { from: 'London', to: 'Moscow' }, { from: 'NY', to: 'London' }, { from: 'Moscow', to: 'Spb' }, ])); ```

244

Avez-vous défini la charge sur le système en RPS ? Quelle quantité ? Avez-vous une expérience de passage des étapes techniques en format de codage en direct ?

224

Avez-vous déjà dû vous occuper de la sécurité de l'application, du code ou du service?

201

Notre application de chat doit afficher les nouveaux messages provenant du serveur aussi rapidement que possible. Le message a le format suivant : interface Message { id: number text: string } L'id du premier message est 1, et l'id de chaque message suivant est supérieur de 1 à celui du précédent. Nous devons afficher les messages dans le bon ordre, mais le serveur ne garantit pas l'ordre correct des messages envoyés à notre application. Ligne de temps : // (arrive) [téléphone] // (dessinons) . 1 2 3 . . 4 5 6 7 8 Pour afficher les messages, utilisez la fonction render : render(message)

192

Parle-moi de ton expérience avec Node.js en prenant l'exemple d'un projet, qu'as-tu exactement développé dessus ?

164

/** * Il faut écrire une fonction asynchrone, * qui "dorme" pendant le nombre de millisecondes spécifié, * puis se termine avec succès */

159

Compréhension générale de JavaScript : passage de paramètres, asynchronie, prototypes, gestion des erreurs

157

// Il est nécessaire de vérifier la solution du problème sur deux services, en appelant : // 1. checkResult(url1, solution) // 2. checkResult(url2, solution) // // checkResult : (url : string, solution : string | number) => Promise<boolean>; // // - Si les deux requêtes renvoient true - afficher dans console.log() success // - Si l'une renvoie false - afficher dans console.log() fail // - Si l'une ne répond pas - afficher dans console.log() error // - Si l'une répond plus de 1 seconde - afficher dans console.log() timeout

154

On donne trois sections de code. Il faut écrire le résultat de chaque console.log. var n = 1; function f(n) { n = 3; } f(n); console.log(n); // ?? // ------------------ var obj = { a: 1 }; function f1(o) { o.a = 5; } f1(obj); console.log(obj); // ?? // ------------------ var obj = { a: 1 }; function f2(o) { o = { hello: 1 }; } f2(obj); console.log(obj); // ??

143

/** * La fonction `asyncAuth(callback)` accepte un callback, dans lequel peut * être passé une erreur (en premier argument) et des données * du backend (en second argument). * asyncAuth((error, data) => {}); * * Vous devez implémenter la fonction `auth()`, * qui appelle `asyncAuth()`, mais retourne une Promesse. * * @returns {Promise} */ export function auth() { // asyncAuth((error, data) => {}); }

141

/** * La fonction `tryAuth()` utilise `auth()` et, en cas d'erreur, * effectue N tentatives supplémentaires. * Si toutes les tentatives échouent, elle lance la dernière erreur. * * @returns {Promise} */ export function tryAuth(n) { }

136

En ce qui concerne les rôles, aimerais-tu te diriger vers la gestion ou vers le domaine technique?

133

Comment s'est organisée votre interaction lors du dernier projet ? Par Agile ou d'une autre manière ?

133

/** * Étant donné un tableau de points avec des coordonnées entières (x, y). * Déterminez s'il existe une ligne verticale, * qui divise les points en deux ensembles symétriques par rapport à cette ligne. * Note : Pour plus de commodité, le point peut être représenté non pas comme un tableau [x, y], mais comme un objet {x, y} */ isVertSym([[0, 0], [0, 0], [1, 1], [2, 2], [3, 1], [4, 0], [4, 0]]) // true isVertSym([[0, 0], [0, 0], [1, 1], [2, 2], [3, 1], [4, 0]]) // false isVertSym([]) // true isVertSym([[0, 0]]) // true isVertSym([[0, 0], [10, 0]]) // true isVertSym([[0, 0], [11, 1]]) // false isVertSym([[0, 0], [1, 0], [3, 0]]) // false function isVertSym(list) { // code ici }

127

// Il est nécessaire d'implémenter la méthode groupBy, qui étend les méthodes standard des tableaux. // La méthode doit retourner une version groupée du tableau – un objet, // dans lequel chaque clé est le résultat de l'exécution de la fonction fn(arr[i]), // et chaque valeur est un tableau contenant tous les éléments du tableau d'origine avec cette clé.

124

As-tu de l'expérience dans la conception de l'architecture d'un service ou d'une partie de celui-ci par toi-même?

121
/2