Frontend
Kuo skiriasi SSR nuo SSG?
Kaip pakeisti arguments į masyvą senąja (ES5) būdu, be Array.from ir spread operatoriaus?
Ar naudojote kokią nors sutartį rašydami commitus?
Ar galima prie .catch() pridėti .then()?
Ar kada nors teko dirbti su projekto vadovu griežtų terminų režimu? Kai reikia labai greitai ką nors padaryti, bet techniškai tai nėra įmanoma greitai padaryti.
Pateikite pavyzdį apie Atvira/Uždaryta principą frontend kūrime, pavyzdžiui, per render props.
Kokius konteksto susiejimo būdus žinai?
Ar dirbote su sąsajos prieinamumu? Ar turite patirties šioje srityje?
Ar rašote testus ir kokius tiksliai (vienetinius, kritinius srautus ir t.d.)?
Papaskink apie useState React: kas tai yra, kaip veikia, ar tai sinchroninis ar asinchroninis hook?
Ar gyvenate Italijoje nuolat? Kiek laiko?
import React, { useMemo } from 'react'; import { Button, Table, Tag } from 'antd'; import { useAppDispatch, useAppSelector } from '../hooks/redux'; import { Product } from '../types'; import { deleteProduct } from '../store/productSlice'; const categoryColors: Record<string, string> = { Electronics: 'blue', Accessories: 'green', Tools: 'orange', }; export const ProductList: React.FC = () => { const allProducts = useAppSelector((state) => state.products.items); const products = useMemo(() => [...allProducts], [allProducts]); const dispatch = useAppDispatch(); const handleDelete = (id: string) => { dispatch(deleteProduct(id)); }; const columns = [ { title: 'Pavadinimas', dataIndex: 'name', key: 'name', }, { title: 'Pardavimai', dataIndex: 'sales', key: 'sales', sorter: (a: Product, b: Product) => a.sales - b.sales, render: (v: number) => v.toLocaleString(), }, { title: 'Kategorija', dataIndex: 'category', key: 'category', render: (category: string) => ( <Tag color={categoryColors[category]}>{category}</Tag> ), }, { title: 'Veiksmas', key: 'action', render: (_: any, record: Product) => ( <Button danger onClick={() => handleDelete(record.id)}> Ištrinti </Button> ), }, ]; return <Table dataSource={products} columns={columns} rowKey="id" />; };
OnPush komponento masyvas users keičiasi per users.push(newUser) paspaudus. Ar sąrašas atnaujinsis šablone ir kaip garantuoti jo atnaujinimą?
Kas jums svarbu naujoje darbo vietoje ir kas galėtų jus sustabdyti pereiti?
Kaip dažnai dalyvavote gamyboje ir koks buvo jūsų vaidmuo šiame procese?
Papaskink daugiau apie savo patirtį: ar pats rinkai reikalavimus ar jie atėjo paruošti?
#React registracijos forma 1. Paaiškinkite, kaip veikia StateProvider, pasidalykite savo mintimis su interviuotoju. 2. Peržiūrėkite /src/api/mock, paaiškinkite, kaip tai veikia. 3. Patikrinkite SubmitButton spalvą ir ją pataisykite. 4. Įgyvendinkite kliento formos validaciją Signup komponento viduje. (\*) Atminkite užduoties numerį 9. Taisyklės: - Vartotojo vardas, El. paštas, Slaptažodis ir Pakartotinai slaptažodis laukeliai turi būti bent 6 simbolių ilgio; - Slaptažodis turi atitikti Pakartotinai slaptažodis; - Validacija turi būti atliekama paspaudus "SignUp" mygtuką; - Laukeliai su netinkamomis reikšmėmis turi būti pažymėti (props error ir helperText); 6. API atsakymas gali turėti klaidą, kuri turi būti rodomas vartotojui šalia atitinkamo lauko. 7. Užtikrinkite, kad UserName komponentas rodo naują vartotojo vardą po sėkmingo siuntimo. 8. Įgyvendinkite naują SignupSuccess komponentą. Jis turi būti rodomas vietoje registracijos formos. 9. Įgyvendinkite serverio validaciją tinkamuose laukuose. --- Kodas iš 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( `Vartotojo vardas "${userName}" jau užimtas. Bandykite kitą.` ) ); } }, 500); }); }, }; export default api; ```
Kokias patobulinimus galima būtų padaryti siekiant pagerinti produkto kokybę ateityje?
Jūs paminėjote Docker, CI/CD, GitHub Actions, GitLab — ar galite paaiškinti, ką tiksliai darėte, kokie pipeline'ai, kas buvo konteineriuose?
Kokias saugumo problemas matote perduodami prisijungimo vardą ir slaptažodį per URL užklausos parametrus?