Frontend
Frontend rivojlanishda Open/Closed tamoyilining misolini keltiring, masalan, render props orqali.
Qaysi kontekstni bog'lash usullarini bilasiz?
O'zingizni frontend dasturchi sifatida tanishtiring: nima ustida ishladingiz, tajribangiz qanday — tijoriy yoki ta'limiy?
Interfeysga kirish imkoniyati bo'yicha ishladingizmi? Bu borada tajribangiz bormi?
Playwright bilan E2E-testlar haqida gapiring: test tizimi qanday tashkil etilgan, qanday ishga tushirilgan, backend bilan qanday hamkorlik qilgan, test ma'lumotlarining takrorlanishini qanday ta'minlagan?
Rezyumingizda Next.js bilan ishlab chiqqaningiz yozilgan — to'g'ri? Bu Next.js App Router yoki Pages Router bilan edi?
React'da useState haqida gapir: bu nima, qanday ishlaydi, sinxronmi yoki asinxronmi?
Italiyada doimiy yashaysizmi? Qancha vaqt?
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: 'Ism', dataIndex: 'name', key: 'name', }, { title: 'Sotuvlar', dataIndex: 'sales', key: 'sales', sorter: (a: Product, b: Product) => a.sales - b.sales, render: (v: number) => v.toLocaleString(), }, { title: 'Kategoriya', dataIndex: 'category', key: 'category', render: (category: string) => ( <Tag color={categoryColors[category]}>{category}</Tag> ), }, { title: 'Harakat', key: 'action', render: (_: any, record: Product) => ( <Button danger onClick={() => handleDelete(record.id)}> O'chirish </Button> ), }, ]; return <Table dataSource={products} columns={columns} rowKey="id" />; };
Map yordamida izohlarni hisoblashda, agar postId uchun hali yozuv mavjud bo'lmasa, qanday xato yuzaga kelishi mumkin va uni qanday tuzatish mumkin?
TypeScript bilan qanday? a: string, b: number, c: null, d: boolean maydonlariga ega Foo turi mavjud. Foo asosida barcha kalitlarni o'z ichiga oladigan FooKeys turini yaratishingiz kerak.
Tasavvur qiling, makro vazifalar navbatida beshta `setTimeout` chaqirig'i bor, va mikro vazifalar cheksiz yangi mikro vazifalarni qo'shmoqda, masalan, rekursiv `Promise.resolve().then()` orqali. Interfeysga nima bo'ladi va bu besh timeout hech qachon bajariladimi? Nima uchun?
#React ro'yxatdan o'tish formasi 1. StateProvider qanday ishlashini tushuntiring, suhbatdoshingiz bilan fikrlaringizni bo'lishing. 2. /src/api/mock ga qarang, qanday ishlashini tushuntiring. 3. SubmitButton rangini tekshiring va tuzating. 4. Signup komponentida mijoz tomonidagi forma tekshirishni amalga oshiring. (\*) 9-raqamli vazifani yodda tuting. Qoidalar: - Username, Email, Password va Repeat Password maydonlari kamida 6 ta belgi bo'lishi kerak; - Password Repeat Password bilan mos kelishi kerak; - Validatsiya "SignUp" tugmasi bosilganda amalga oshirilishi kerak; - Noto'g'ri qiymatga ega maydonlar belgilanishi kerak (error va helperText props); 6. API javobi xato bo'lishi mumkin va u mos maydon yaqinida foydalanuvchiga ko'rsatilishi kerak. 7. UserName komponenti muvaffaqiyatli yuborilgandan so'ng yangi foydalanuvchi nomini render qilayotganiga ishonch hosil qiling. 8. Yangi SignupSuccess komponentini amalga oshiring. U ro'yxatdan o'tish formasining o'rniga ko'rsatilishi kerak. 9. Mos maydonlar uchun server tekshiruvi amalga oshiring. --- mock.ts faylidagi kod: ```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( `Foydalanuvchi nomi "${userName}" allaqachon band qilingan. Iltimos, boshqa nom bilan sinab ko'ring.` ) ); } }, 500); }); }, }; export default api; ```
Siz Docker, CI/CD, GitHub Actions, GitLab haqida gapirgansiz — aniq nima qilganingiz, qanday pipeline'lar, konteynerlarda nima bo'lganini ochib berishingiz mumkinmi?
/** * Vazifa 3: Tahlil qiladigan funktsiyani tahlil qiling va har qanday xatoliklarni tuzatib chiqing. TypeScript'da `never` turining roli nima ekanligini tushuntiring. */ function throwError(): never { throw new Error('Xatolik yuz berdi'); } /** * Vazifa 4: Berilgan `MaybeProps` turini o'zgartiring va uning barcha xususiyatlarini majburiy qiling. */ type MaybeProps = { a?: number; b?: string; }; /** * Vazifa 5: Yagona `value` xususiyatini o'z ichiga olgan umumiy tur `Container` yarating. * `value` turini `string` yoki `number` bilan cheklash kerak. */ type Container<T> = { value: T; };
URL'dagi so'rov parametrlar orqali login va parolni uzatishda qanday xavfsizlik muammolarini ko'rasiz?
Jamoa ichida FSD arxitekturasi muvofiqligini qanday kuzatdingiz? Bu kodni ko'rib chiqishda tekshirildimi?
Foydalanuvchi brauzerga google.com yozganda, serverga yuboriladigan birinchi HTTP so'rovi nima va qaysi usul bilan?
Siz HTTP protokolining turli versiyalari (HTTP/1, HTTP/2, HTTP/3) haqida bilasizmi? Ular orasidagi farq nima?
Tahrirlovchda hal qilgan qiyin vazifa haqida gapiring.