Sobes.tech

Frontend

Ezekből a jegyekből egyetlen, megszakítás nélküli útvonal építhető fel. Az útvonalban nincsenek hurkok vagy ismétlések. Írjon egy programot, amely ugyanazokat a jegyobjektumokat adja vissza az útvonal sorrendjében. ```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' }, ])); ```

267

Meghatározta már a rendszer terhelését RPS-ben? Mekkora volt? Volt már tapasztalata élő kódolás formátumában történő technikai szakaszokon való részvételben?

257

Chat alkalmazásunknak a lehető leggyorsabban kell megjelenítenie a szerverről érkező új üzeneteket. Az üzenet formátuma: interface Message { id: number text: string } Az első üzenet azonosítója 1, és minden következő üzenet az előzőnél 1-gyel nagyobb. Meg kell jelenítenünk az üzeneteket a helyes sorrendben, de a szerver nem garantálja a helyes sorrendet az alkalmazásunknak küldött üzenetek között. Idővonal: // (érkezik) [telefon] // (rajzolunk) . 1 2 3 . . 4 5 6 7 8 A megjelenítéshez használja a render függvényt: render(message)

226

Mesélj a Node.js-s tapasztalataidról egy projekt példáján keresztül, pontosan mit fejlesztettél benne.

197

/** * Egy aszinkron függvényt kell írni, * amely a megadott millisekundumig "alszik", * majd sikeresen befejeződik */

182

Általános JavaScript-értés: paraméterátvitel, aszinkronitás, prototípusok, hibakezelés

175

// Szükséges ellenőrizni a problémát két szolgáltatáson, hívásokkal: // 1. checkResult(url1, solution) // 2. checkResult(url2, solution) // // checkResult: (url: string, solution: string | number) => Promise<boolean>; // // - Ha mindkét kérés true-t ad vissza - írja ki a success-t a console.log() -ba // - Ha valamelyik false-t ad vissza - írja ki a fail-t a console.log() -ba // - Ha valamelyik nem válaszol - írja ki az error-t a console.log() -ba // - Ha valamelyik 1 másodpercnél hosszabb ideig válaszol - írja ki a timeout-ot a console.log() -ba

171

Meséljen az Atvintnél szerzett munkatapasztalatáról: projektek, feladatok, csapat, folyamatok.

161

/** * Egy tömb van megadva. Szükséges a páratlan számokat növekvő sorrendbe rendezni, * a páros számokat pedig a helyükön hagyni * / export function oddSort(numbers) { // a kódod itt } 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] // A feladat megoldását két szolgáltatáson kell ellenőrizni, hívva: // 1. checkResult(url1, solution) // 2. checkResult(url2, solution) // // checkResult: (url: string, solution: string | number) => Promise<boolean>; // // - Ha mindkét kérés true-t ad vissza, írja ki a success-t // - Ha legalább az egyik false-t ad vissza, írja ki a fail-t // - Ha legalább az egyik nem válaszol, írja ki az error-t // - Ha legalább az egyik 1 másodpercnél hosszabb ideig válaszol, írja ki a timeout-ot 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

// Szükséges megvalósítani a groupBy metódust, amely kiterjeszti a tömbök alapértelmezett metódusait. // A metódusnak vissza kell adnia a tömb csoportosított változatát – egy objektumot, // amelyben minden kulcs a fn(arr[i]) átmenet eredménye, // és minden érték egy tömb, amely tartalmazza az eredeti tömb összes elemét ezzel a kulccsal.

155

/** * Egy egész szám koordinátákkal rendelkező pontokat tartalmazó tömb. * Meg kell határozni, hogy létezik-e egy függőleges egyenes, * amely a pontokat két szimmetrikus halmazra osztja ezzel az egyenessel szemben. * Megjegyzés: A könnyebb kezelés érdekében a pontot nem [x, y] tömbként, hanem {x, y} objektumként lehet ábrázolni. */ 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 itt }

155

/** * Az `asyncAuth(callback)` függvény egy callback-et fogad, amelybe * átadható egy hiba (első argumentumként) és adatok * a backend-ről (második argumentumként). * asyncAuth((error, data) => {}); * * Implementálnod kell az `auth()` függvényt, * amely meghívja az `asyncAuth()`-t, de egy Promise-t ad vissza. * * @returns {Promise} */ export function auth() { // asyncAuth((error, data) => {}); }

154

Három kódrészlet van megadva. Minden console.log eredményét írja le. 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

/** * A `tryAuth()` függvény az `auth()`-t használja, és hiba esetén * N további próbálkozást végez. * Ha minden próbálkozás sikertelen, dobja az utolsó hibát. * * @returns {Promise} */ export function tryAuth(n) { }

149

Hogyan volt felépítve az együttműködésed az utolsó projektben? Agile módszerrel vagy valami más módon?

145

Milyen önálló döntés vagy fejlesztés miatt vagy büszke? Talán egy nagyon nehéz vagy fontos feladat?

144
/2