Sobes.tech

Frontend

Z týchto lístkov je možné zostaviť jedinú, neprerušenú trasu. V trase nie sú žiadne slučky ani opakovania. Je potrebné napísať program, ktorý vráti tieto isté objekty lístkov v poradí podľa trasy. ```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' }, ])); ```

269

Určili ste záťaž systému v RPS? Aké množstvo? Mal ste skúsenosti s prechodom technických etáp v formáte live-coding?

257

Naša aplikácia na chat by mala zobrazovať nové správy, ktoré prichádzajú zo servera, čo najrýchlejšie. Správa má nasledovný formát: interface Message { id: number text: string } ID prvej správy je 1 a ID každej nasledujúcej správy je o 1 väčšie ako ID predchádzajúcej. Musíme zobrazovať správy v správnom poradí, ale server nezaručuje správne poradie správ odoslaných našej aplikácii. Časová os: // (prichádza) [telefon] // (kreslíme) . 1 2 3 . . 4 5 6 7 8 Na zobrazenie správ použite funkciu render: render(message)

226

Porozprávaj o svojej skúsenosti s Node.js na príklade nejakého projektu, na ktorom si pracoval, čo presne si v ňom vyvíjal.

197

/** * Je potrebné napísať asynchrónnu funkciu, * ktorá bude "spať" zadaný počet milisekúnd, * a potom úspešne skončí */

184

Splošno razumevanje JavaScript-a: prenos parametrov, asinhronost, prototipi, obvladovanje napak

175

// Je potrebné skontrolovať riešenie úlohy na dvoch službách volaním: // 1. checkResult(url1, solution) // 2. checkResult(url2, solution) // // checkResult: (url: string, solution: string | number) => Promise<boolean>; // // - Ak obe požiadavky vrátia true - vypíšte success do console.log() // - Ak aspoň jedna vráti false - vypíšte fail do console.log() // - Ak aspoň jedna neodpovie - vypíšte error do console.log() // - Ak aspoň jedna odpovie dlhšie ako 1 sekundu - vypíšte timeout do console.log()

171

/** * Dá sa pole. Je potrebné zoradiť nepárne čísla podľa hodnoty vzostupne, * a párne nechať na svojich miestach * / export function oddSort(numbers) { // váš kód tu } 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] // Je potrebné overiť riešenie úlohy na dvoch službách volaním: // 1. checkResult(url1, solution) // 2. checkResult(url2, solution) // // checkResult: (url: string, solution: string | number) => Promise<boolean>; // // - Ak obe požiadavky vrátia true, vypísať success // - Ak aspoň jedna vráti false, vypísať fail // - Ak aspoň jedna neodpovie, vypísať error // - Ak aspoň jedna odpovie dlhšie ako 1 sekundu, vypísať 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); }

157

// Je potrebné implementovať metódu groupBy, ktorá rozširuje štandardné metódy polí. // Metóda by mala vracať skupinovanú verziu poľa – objekt, // v ktorom je každý kľúč výsledkom vykonania predanej funkcie fn(arr[i]), // a každá hodnota je pole obsahujúce všetky prvky pôvodného poľa s týmto kľúčom.

155

/** * Pole bodov s celými súradnicami (x, y) je dané. * Určite, či existuje zvislá priamka, * ktorá rozdeľuje body na dva zrkadlovo zhodné súbory vzhľadom na túto priamku. * Poznámka: Pre pohodlie možno bod reprezentovať nie ako pole [x, y], ale ako objekt {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) { // kód tu }

155

/** * Funkcia `asyncAuth(callback)` prijíma callback, do ktorého * môže byť odovzdaná chyba (ako prvý argument) a údaje * zo backendu (ako druhý argument). * asyncAuth((error, data) => {}); * * Musíte implementovať funkciu `auth()`, * ktorá volá `asyncAuth()`, ale vracia Promise. * * @returns {Promise} */ export function auth() { // asyncAuth((error, data) => {}); }

154

Dajú sa tri sekcie kódu. Je potrebné napísať výsledok každého 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); // ??

154

/** * Funkcia `tryAuth()` používa `auth()` a v prípade chyby, * vykoná N ďalších pokusov. * Ak všetky pokusy zlyhajú, vyhodí poslednú chybu. * * @returns {Promise} */ export function tryAuth(n) { }

149

Ako bola vo vašom poslednom projekte organizovaná vaša spolupráca? Prostredníctvom Agile alebo inak?

145

Na ktorú samostatnú rozhodnutie alebo zlepšenie si hrdý? Možno nejaký veľmi ťažký alebo dôležitý úkol?

144
/2