Frontend
// On vaja implementēt metodi groupBy, kas paplašina standarta masīvu metodes. // Metode jāatgriež grupēta masīva versija — objekts, // kurā atslēgas ir fn(arr[i]) izsaukuma rezultāti katram elementam, // bet vērtības ir masīvi, kas satur visus sākotnējā masīva elementus ar šo atslēgu. // šeit rakstiet kodu // Piemērs 1 const array1 = [ { id: 1 }, { id: 1 }, { id: 2 } ]; const fn = (item) => item.id; console.log(array1.groupBy(fn)); // { // 1: [{ id: 1 }, { id: 1 }], // 2: [{ id: 2 }] // } // Piemērs 2 const array2 = [1, 2, 3]; console.log(array2.groupBy(String)); // { // "1": [1], // "2": [2], // "3": [3] // } // Piemērs 3 const array3 = [1.3, 0.5, 1.4]; console.log(array3.groupBy(Math.round)); // { // 1: [0.5, 1.4], // 3: [1.3] // }
/* Kirjutage tüüpi MyRequired — muudab kõik valikulised väljad kohustuslikuks */ type User = { id?: number name?: string } type MyRequired<T> = { } const user1: MyRequired<User> = { id: 1, name: "John" } const user2: MyRequired<User> = { id: 1 }
Mida on parem kasutada kahe oleku lüliti jaoks ( sisse/läbi): toggle või checkbox?
Kasutasite optimistlikke uuendusi? Kas andsite kasutajale märku andmete taustal uuendamise ajal?
Mis oli teie lahkumise põhjus ettevõttest?
Mis on OSI mudel? Mis on L2, L3, L7?
Miks te lahkusite esimesest ettevõttest?
Kui Promise ei lahenda ja lükatakse tagasi, kus saame vea kinni püüda? Mis veel peale then ja catch on? Millal töötab finally?
Kas saaksid rääkida natuke administratiivportaali funktsionaalsusest lennujaamade reisijate teenindusagentidele?
Millal kutsutakse välja useLayoutEffect ja kuidas see erineb useEffectist?
Millist arhitektuuri, olekuhaldurit ja komponendikogu valis selles projektis ja miks?
Millised on Vue 2 ja Vue 3 peamised erinevused?
Mis vahe on autoriseerimisel ja autentimisel?
Räägi mulle Promise'ist: mis see on, seisundid ja staatilised meetodid (eriti erinevus Promise.all ja Promise.race vahel).
/** * Funktsioon 'asyncAuth(callback)' võtab vastu callback, kuhu * võib edastada vea (esimesena argument) ja andmeid * backendist (teise argumendina). * asyncAuth((error, data) => {}); * * Teil tuleb implementeerida funktsioon 'auth()', * mis kutsub 'asyncAuth()' ja tagastab Promise. * * @returns {Promise} */ function auth() { return new Promise((resolve, reject) => { asyncAuth((error, data) => { if (error) { reject(error) } else { resolve(data) } }); }) } /** * Funktsioon 'tryAuth()' kasutab 'auth()' ja juhul, kui tekib viga, * teeb N täiendavat katset. * Kui kõik katsed ebaõnnestuvad, tagastab viimase vea. * * @returns {Promise} */ function tryAuth(n) { return new Promise((resolve, reject) => { function attempt(attemptsLeft) { auth().then(resolve).catch((error) => { if (attemptsLeft <= 0) { reject(error); } else { attempt(attemptsLeft - 1); } }); } attempt(n); }); }
Millega soovite uuel kohal töötada, mis teid tulevikus huvitab?
Rääkige oma kogemusest CV-st: ülesanded, tehnoloogiad, edusammud ja saavutused üle kolme ja poole aasta töös Sovcombankis.
Rääkige viimase meeskonna protsessidest: sprindid, kanban, planeerimine — kuidas see praktikas välja nägi?
Räägi rohkem juhtpaneelidest: kust metrikad pärinesid, milliseid metrikasid kogusite.
Te mainisite UI-kit. Milline komponent oli kõige keerulisem või huvitavam realiseerida ning milline tekitas suurima väljakutse?