Sobes.tech

Frontend

No šīm biļetēm var uzbūvēt vienu nepārtrauktu maršrutu. Maršrutā nav cilpu vai atkārtojumu. Jums jāuzraksta programma, kas atgriež tās pašas biļešu objektus secībā pēc maršruta. ```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

Vai esat noteicis slodzi uz sistēmas RPS? Cik daudz? Vai jums ir pieredze tehnisko posmu pārvarēšanā tiešraides kodēšanas formātā?

257

Vai jums ir bijusi nepieciešamība rūpēties par lietotnes, koda vai pakalpojuma drošību?

254

Mūsu čata lietotne jāparāda jaunas ziņas, kas nāk no servera, pēc iespējas ātrāk. Ziņas ir šādas: interface Message { id: number text: string } Pirmās ziņas ID ir 1, un katras nākamās ziņas ID ir par 1 lielāks par iepriekšējo. Mums jāparāda ziņas pareizajā secībā, taču serveris nenodrošina pareizu ziņu sūtīšanas secību uz mūsu lietotni. Laika skala: // (atnāk) [telefons] // (zīmējam) . 1 2 3 . . 4 5 6 7 8 Lai parādītu ziņas, izmantojiet funkciju render: render(message)

226

Pastāstiet par savu pieredzi ar Node.js, izmantojot kāda projekta piemēru, ko tieši jūs tajā izstrādājāt?

197

/** * Ir nepieciešams uzrakstīt asīnhronisku funkciju, * kas "guļ" norādīto milisekunžu skaitu, * un pēc tam veiksmīgi noslēdzas */

182

Vispārīga JavaScript izpratne: parametru nodošana, asinhronitāte, prototipi, kļūdu apstrāde

175

// Nepieciešams pārbaudīt uzdevuma risinājumu divās pakalpojumos, izsaucot: // 1. checkResult(url1, solution) // 2. checkResult(url2, solution) // // checkResult: (url: string, solution: string | number) => Promise<boolean>; // // - Ja abi pieprasījumi atgriež true - izvadiet success console.log() // - Ja vismaz viens atgriež false - izvadiet fail console.log() // - Ja vismaz viens neatbild - izvadiet error console.log() // - Ja vismaz viens atbild ilgāk par 1 sekundi - izvadiet timeout console.log()

171

/** * Dotais ir masīvs. Nepieciešams sakārtot nepāra skaitļus pēc vērtības pieaugošā secībā, * bet pāra skaitļus atstāt savās vietās * / export function oddSort(numbers) { // jūsu kods šeit } 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] // Nepieciešams pārbaudīt uzdevuma risinājumu divās pakalpojumos, izsaucot: // 1. checkResult(url1, solution) // 2. checkResult(url2, solution) // // checkResult: (url: string, solution: string | number) => Promise<boolean>; // // - Ja abi pieprasījumi atgriež true, izvadīt success // - Ja vismaz viens atgriež false, izvadīt fail // - Ja vismaz viens neatbild, izvadīt error // - Ja vismaz viens atbild ilgāk par 1 sekundi, izvadīt 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

/** * Dotu veselu punktu ar koordinatēm (x, y). * Nosakiet, vai pastāv vertikāla līnija, * kas sadala punktus divās simetriskās kopās attiecībā uz šo līniju. * Piezīme: ērtības labad punktu var attēlot ne kā masīvu [x, y], bet kā objektu {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) { // kods šeit }

155

Dotas ir kodu daļas ir dots. Ir nepieciešams uzrakstīt katra console.log rezultātu. 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

/** * Funkcija `asyncAuth(callback)` pieņem callback, kurā * var tikt nodota kļūda (kā pirmais arguments) un dati * no backend (kā otrais arguments). * asyncAuth((error, data) => {}); * * Jums jāievieš funkcija `auth()`, * kas izsauc `asyncAuth()`, bet atgriež Promise. * * @returns {Promise} */ export function auth() { // asyncAuth((error, data) => {}); }

154

// Nepieciešams īstenot metodi groupBy, kas paplašina standarta metodes masīviem. // Metode jāatgriež grupēta masīva versija – objekts, // kur katrs atslēga ir rezultāts, kas iegūts, izpildot funkciju fn(arr[i]), // un katra vērtība ir masīvs, kas satur visus sākotnējā masīva elementus ar šo atslēgu.

153

/** * Funkcija `tryAuth()` izmanto `auth()` un, ja ir kļūda, * veic N papildu mēģinājumus. * Ja visi mēģinājumi neizdodas, tā izmet pēdējo kļūdu. * * @returns {Promise} */ export function tryAuth(n) { }

149

Kā bija organizēta jūsu sadarbība pēdējā projektā? Vai tas bija caur Agile vai citādi?

145

Ar kādu neatkarīgu lēmumu vai uzlabojumu jūs lepojaties? Varbūt kāds ļoti grūts vai svarīgs uzdevums?

144
/2