Frontend
Kādus masīvu metodes jūs zināt un esat izmantojis?
React+Redux pārdošanas panelī lietotāji ziņo, ka tas nedarbojas kā gaidīts. Atrodiet problēmas un tās novērsiet. Programma satur: produktu sarakstu pēc pārdojumiem, pārdošanas vizualizāciju baro diagrammas formā (ECharts), jauna produkta pievienošanas formu. Galvenā sūdzība: tiek apgalvots, ka produkts tiek pievienots caur formu, bet tas neparādās sarakstā.
Kādi tipi ir TypeScript, kas nav JavaScript? Pastāsti par utility types.
Kā tu zini jautājuma numuru, lai atvērtu jautājuma ekrānu?
// Doti ir trīs tipi. Pamatojoties uz tiem, ir nepieciešams izveidot Delivery tipu, kas saturēs visus norādīto tipu laukus.
async function f(result = 1) { let promiseB = new Promise(resolve => { setTimeout(() => resolve("1e"), 200) }); let promiseA = new Promise(resolve => { setTimeout(() => resolve("ab"), 1000) }); result += await promiseA; result += await promiseB; alert(result); // ? } f(null);
Vai jūs esat pazīstams ar non-null assertion (!) operatoru TypeScript? Kāpēc tas tiek uzskatīts par anti-patru?
Pastāsti par CORS.
Uzdevums: īstenot funkciju sumSquares, kas summē skaitļu kvadrātus no masīva, izmantojot pielāgotu reduce funkciju. Var mainīt tikai funkciju sumSquares.
Vai jūs saprotat, kā darbojas Zustand zem motora pārsega?
Kā pārvērst arguments masīvā vecajā veidā (ES5), bez Array.from un spread operatora?
Vai izmantojāt kādu vienošanos, rakstot commitus?
Vai kādreiz esat bijis jāstrādā ar projekta vadītāju stingru termiņu režīmā? Kad kaut kas ir jāizdara ļoti ātri, bet tehniski tas nav iespējams ātri izdarīt.
Vai ir nepieciešama atsevišķa toggleLoading funkcija vai var bez tās iztikt?
Vai esat strādājis pie saskarnes pieejamības? Vai jums ir pieredze šajā jomā?
Tavā CV rakstīts, ka esi izstrādājis ar Next.js — vai tas ir pareizi? Vai tas bija Next.js ar App Router vai Pages Router?
Pastāsti man par useState React: kas tas ir, kā tas darbojas, vai tas ir sinhrons vai asinhrons hooks?
Iedomājieties makro uzdevumu rindu ar pieciem `setTimeout`, un mikro uzdevumi bezgalīgi pievieno jaunas mikro uzdevumus, piemēram, caur rekursīvu `Promise.resolve().then()`. Kas notiks ar saskarni un vai šie pieci timeouti kādreiz tiks izpildīti? Kāpēc?
#React reģistrācijas forma 1. Izskaidrojiet, kā darbojas StateProvider, dalieties ar savām domām ar intervētāju. 2. Apskatiet /src/api/mock, izskaidrojiet, kā tas darbojas. 3. Pārbaudiet SubmitButton krāsu un to labojiet. 4. Ieviesiet klienta puses formas validāciju Signup komponentā. (\*) Ņemiet vērā uzdevuma numuru 9. Noteikumi: - Lietotājvārda, E-pasta, Paroles un Atkārtotas paroles lauki jābūt vismaz 6 rakstzīmju gariem; - Parolei jāatbilst Atkārtotai parolei; - Validācija jāveic, nospiežot "SignUp" pogu; - Lauki ar nederīgām vērtībām jāmarķē (props error un helperText); 6. API atbilde var saturēt kļūdu, kas jāparāda lietotājam blakus attiecīgajam laukam. 7. Pārliecinieties, ka UserName komponents parāda jauno lietotājvārdu pēc veiksmīgas sūtīšanas. 8. Ieviesiet jauno SignupSuccess komponentu. Tas jāparāda vietā reģistrācijas formā. 9. Ieviesiet servera validāciju atbilstošiem laukiem. --- Kods no mock.ts: ```typescript const fakeResponse = (userName) => ({ code: 200, user: { id: 42, userName, }, }); let a = 0; const api = { '/signup': function (userName: string, email: string, password: string) { a++; return new Promise((resolve, reject) => { setTimeout(() => { if (a % 2 === 0) { return resolve(fakeResponse(userName)); } else { return reject( new Error( `Lietotājvārds "${userName}" jau ir aizņemts. Lūdzu, mēģiniet citu.` ) ); } }, 500); }); }, }; export default api; ```
Kādas uzlabojumus varētu veikt, lai nākotnē uzlabotu produkta kvalitāti?