Sobes.tech

Frontend

Da questi biglietti si può costruire un unico percorso continuo. Non ci sono loop o ripetizioni nel percorso. Devi scrivere un programma che restituisca gli stessi oggetti biglietto nell'ordine del percorso. ```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' }, ])); ```

263

Hai definito il carico sul sistema in RPS? Qual è la quantità? Hai esperienza nel superare le fasi tecniche in formato di live-coding?

253

La nostra applicazione di chat deve mostrare i nuovi messaggi che arrivano dal server il più rapidamente possibile. Il messaggio ha il seguente formato: interface Message { id: number text: string } L'id del primo messaggio è 1, e l'id di ogni messaggio successivo è di 1 maggiore di quello precedente. Dobbiamo visualizzare i messaggi nell'ordine corretto, ma il server non garantisce l'ordine corretto dei messaggi inviati alla nostra applicazione. Linea temporale: // (arriva) [telefono] // (disegniamo) . 1 2 3 . . 4 5 6 7 8 Per visualizzare i messaggi, bisogna usare la funzione render: render(message)

221

Parlami della tua esperienza con Node.js prendendo come esempio un progetto, cosa hai sviluppato esattamente?

191

/** * È necessario scrivere una funzione asincrona, * che "dorme" per il numero di millisecondi specificato, * e poi termina con successo */

176

Comprensione generale di JavaScript: passaggio di parametri, asincronia, prototipi, gestione degli errori

175

// È necessario verificare la soluzione del problema su due servizi, chiamando: // 1. checkResult(url1, solution) // 2. checkResult(url2, solution) // // checkResult: (url: string, solution: string | number) => Promise<boolean>; // // - Se entrambe le richieste restituiscono true - visualizzare success in console.log() // - Se almeno una restituisce false - visualizzare fail in console.log() // - Se almeno una non risponde - visualizzare error in console.log() // - Se almeno una risponde più di 1 secondo - visualizzare timeout in console.log()

167

Per quanto riguarda i ruoli, preferiresti andare verso la gestione o verso l'ambito tecnico?

162

Parla della tua esperienza lavorativa in Atvint: progetti, responsabilità, team, processi.

161

/** * Dato un array di punti con coordinate intere (x, y). * Determinare se esiste una linea verticale, * che divide i punti in due insiemi simmetrici rispetto a questa linea. * Nota: Per comodità, il punto può essere rappresentato non come un array [x, y], ma come un oggetto {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) { // codice qui }

155

/** * La funzione `asyncAuth(callback)` accetta un callback, nel quale può * essere passata un errore (come primo argomento) e dati * dal backend (come secondo argomento). * asyncAuth((error, data) => {}); * * Devi implementare la funzione `auth()`, * che chiama `asyncAuth()`, ma restituisce una Promise. * * @returns {Promise} */ export function auth() { // asyncAuth((error, data) => {}); }

152

/** * È stato fornito un array. È necessario ordinare i numeri dispari in ordine crescente, * e lasciare i numeri pari al loro posto * / export function oddSort(numbers) { // il tuo codice qui } console.log(oddSort([2, 3, 7, 4, 6, 1, 5, 8, 9])); // [2, 1, 3, 4, 6, 5, 7, 8, 9] console.log(oddSort([2, 4, 6, 8])); // [2, 4, 6, 8] console.log(oddSort([3, 7, 1, 5, 9])); // [1, 3, 5, 7, 9] // È necessario verificare la soluzione del problema su due servizi, chiamando: // 1. checkResult(url1, solution) // 2. checkResult(url2, solution) // // checkResult: (url: string, solution: string | number) => Promise<boolean>; // // - Se entrambe le richieste restituiscono true, stampare success // - Se almeno una restituisce false, stampare fail // - Se almeno una non risponde, stampare error // - Se almeno una risponde oltre 1 secondo, stampare timeout import { checkResult } from '...'; export async function checkResults() { const solution = 'Any answer'; const url1 = 'yandex.ru'; const url2 = 'google.com'; checkResult(url1, solution); checkResult(url2, solution); }

151

Sono presenti tre sezioni di codice. È necessario scrivere il risultato di ogni 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); // ??

150

/** * La funzione `tryAuth()` utilizza `auth()` e, in caso di errore, * effettua N tentativi aggiuntivi. * Se tutti i tentativi falliscono, solleva l'ultimo errore. * * @returns {Promise} */ export function tryAuth(n) { }

149

// È necessario implementare il metodo groupBy, che estende i metodi standard degli array. // Il metodo dovrebbe restituire una versione raggruppata dell'array – un oggetto, // in cui ogni chiave è il risultato dell'esecuzione della funzione fn(arr[i]), // e ogni valore è un array contenente tutti gli elementi dell'array originale con questa chiave.

147

Come è stata strutturata la tua interazione nell'ultimo progetto? Attraverso Agile o in qualche altro modo?

141

Di quale decisione autonoma o miglioramento sei orgoglioso? Forse un compito molto difficile o importante?

138
/2