WisarWisar
Hamroh materiallar/Intervyu12 daqiqa

Intervyu savollari banki

Ish suhbatiga tayyorgarlik. Mavzu bo'yicha keng tarqalgan savollar va qisqa, aniq javoblar. Har bir javob kitobning tegishli bobiga tayanadi.


Qanday foydalanish

  • Avval savolni o'qib, o'zing javob berishga urin, keyin javobni ko'r.
  • Javoblar qisqa — intervyuda shunday aniq gapir. Chuqurroq kerak bo'lsa, kitobning belgilangan bobiga qayt.
  • Belgilash: junior · middle · senior darajadagi savol.

Intervyu — bilimni gapirib bera olish. Yodlama — tushun, o'z so'zing bilan ayt.


1. Web asoslari (0–1 QISM)

S: Foydalanuvchi brauzerga URL yozib Enter bosgandan keyin nima bo'ladi? J: DNS host nomini IP'ga aylantiradi TCP ulanish (HTTPS bo'lsa TLS) HTTP so'rov ketadi server javob (HTML) qaytaradi brauzer HTML'ni parse qilib DOM quradi, CSS/JS yuklaydi, sahifani chizadi (render). (0.4, 0.5)

S: GET va POST farqi? J: GET — ma'lumot olish, parametrlar URL'da, keshlanadi, idempotent. POST — ma'lumot yuborish/yaratish, tana (body)da, keshlanmaydi. (0.4, 5.7)

S: HTTP status kodlari: 200, 301, 400, 401, 403, 404, 500 nimani anglatadi? J: 200 OK; 301 doimiy ko'chirildi; 400 noto'g'ri so'rov; 401 autentifikatsiya yo'q; 403 ruxsat yo'q; 404 topilmadi; 500 server xatosi. (0.4)

S: HTTP va HTTPS farqi? J: HTTPS — HTTP + TLS shifrlash. Ma'lumot yo'lda o'qib/o'zgartirib bo'lmaydi, server haqiqiyligini sertifikat tasdiqlaydi. (0.4, 14.7)

S: Semantik HTML nima va nega kerak? J: Teglar ma'no bildiradi (header, nav, article). Foydasi: SEO, qulaylik (accessibility), o'qiluvchanlik. (1-QISM)

S: box-sizing: border-box nima qiladi? J: Elementning kengligi padding va border bilan birga hisoblanadi — o'lcham bashoratli bo'ladi. (1-QISM)

S: Flexbox va Grid qachon ishlatiladi? J: Flexbox — bir o'lchovli (qator yoki ustun) joylashuv. Grid — ikki o'lchovli (qator + ustun) layout. (1-QISM)


2. JavaScript (2 QISM)

S: let, const, var farqi? J: var — funksiya scope, hoist bo'ladi. let/const — blok scope. const qayta tayinlanmaydi (lekin obyekt ichi o'zgaradi). (2-QISM)

S: == va === farqi? J: == tip o'zgartirib taqqoslaydi (0 == "0" true). === tip va qiymatni aniq taqqoslaydi. Doim === ishlat. (2-QISM)

S: Closure nima? J: Funksiya o'zi yaratilgan scopedagi o'zgaruvchilarni "eslab qoladi" — funksiya qaytarilgandan keyin ham. Maxfiy holat, hisoblagich uchun ishlatiladi. (2-QISM)

S: Hoisting nima? J: E'lonlar (declaration) scope tepasiga "ko'tariladi". var undefined bo'lib, let/const "temporal dead zone"da bo'ladi. (2-QISM)

S: this nima va u qanday aniqlanadi? J: this — funksiya qanday chaqirilganiga bog'liq: oddiy chaqiruvda global/undefined, metodda obyekt, call/apply/bind bilan aniq, arrow funksiyada tashqi scope'niki. (2-QISM)

S: Arrow funksiya oddiy funksiyadan nimasi bilan farq qiladi? J: O'z thisi yo'q (tashqaridan oladi), arguments yo'q, konstruktor bo'la olmaydi. (2-QISM)

S: map, filter, reduce farqi? J: map — har elementni o'zgartirib yangi massiv; filter — shartga moslarini ajratadi; reduce — massivni bitta qiymatga yig'adi. (2.7)

S: Event loop qanday ishlaydi? J: JS bitta thread. Sinxron kod stack'da; async ishlar (timer, I/O) tugagach callback'lar navbatga (queue) tushadi. Stack bo'shaganda event loop microtask (Promise) macrotask (setTimeout) ni oladi. (2.13, 5.1, 0.1)

S: Promise nima va async/await bilan aloqasi? J: Promise — kelajakda tugaydigan amal (pending fulfilled/rejected). async/await — Promise'ni sinxrondek o'qiladigan yozish usuli. (2.13)

S: Promise.all, Promise.race, allSettled farqi? J: all — hammasi tugaguncha kutadi (bittasi yiqilsa — rad). race — birinchi tugaganni oladi. allSettled — hammasini (xato bo'lsa ham) kutadi. (2.13)

S: null va undefined farqi? J: undefined — qiymat berilmagan (tizim). null — ataylab "bo'sh" (dasturchi). (2-QISM)

S: Deep copy va shallow copy farqi? J: Shallow — faqat yuza nusxa (ichki obyektlar havola bilan ulashiladi). Deep — to'liq, mustaqil nusxa. {...obj} shallow; deep uchun rekursiya yoki structuredClone. (2-QISM)

S: Debounce va throttle farqi? J: Debounce — tinchlangandan keyin bir marta (qidiruv inputi). Throttle — har N ms'da bir marta (scroll). (2-QISM)

S: Prototip (prototype) zanjiri nima? J: Har obyekt boshqa obyektga (prototip) havola qiladi; xususiyat topilmasa, zanjir bo'ylab yuqoriga qidiriladi. Meros shu orqali ishlaydi. (2-QISM)


3. TypeScript (7 QISM)

S: TypeScript nima beradi? J: Statik tiplar — xatolarni ishga tushmasdan, yozish paytida ushlaydi. Avtoto'ldirish, refaktoring, hujjat sifatida tiplar. (7-QISM)

S: interface va type farqi? J: Ikkalasi tip e'lon qiladi. interface — kengaytiriladi (extends), birlashadi (merge). type — union, intersection, primitivlar uchun moslashuvchan. (7-QISM)

S: any, unknown, never farqi? J: any — tip tekshiruvini o'chiradi (xavfli). unknown — har narsa, lekin ishlatishdan oldin tor (narrow) qilish shart. never — hech qachon qaytmaydi (xato tashlovchi funksiya). (7-QISM)

S: Generic nima va nega kerak? J: Tipni parametr sifatida olish — bir funksiya/klass turli tiplar bilan, tip xavfsizligini saqlab ishlaydi. Array<T>, Promise<T>. (7-QISM)

S: Partial, Pick, Omit, Record nima? J: Utility tiplar: Partial<T> — hammasi ixtiyoriy; Pick<T,K> — ayrim maydonlar; Omit<T,K> — ayrimlarisiz; Record<K,V> — kalit-qiymat obyekt tipi. (7-QISM)

S: Type narrowing (torlash) nima? J: Keng tipni (unknown, union) typeof, in, instanceof, tekshiruvlar bilan aniq tipga qisqartirish — TS kod oqimini tushunadi. (7-QISM)


4. React (11–12 QISM)

S: React nima va virtual DOM nima? J: React — UI kutubxonasi, komponentlardan UI quradi. Virtual DOM — UI'ning xotiradagi nusxasi; o'zgarish bo'lganda eski/yangini taqqoslab (diffing), faqat farqni haqiqiy DOM'ga yozadi (tez). (11-QISM)

S: Props va state farqi? J: Props — tashqaridan (ota komponentdan) keladi, o'zgarmas (read-only). State — komponentning ichki, o'zgaruvchan ma'lumoti. (11-QISM)

S: key nega kerak ro'yxatlarda? J: React qaysi element o'zgargan/qo'shilgan/o'chganini aniqlashi uchun. Indeks emas, barqaror, noyob id ishlat. (11-QISM)

S: useEffect qachon ishlaydi va dependency array nima qiladi? J: Render'dan keyin ishlaydi. [] — faqat bir marta (mount); [x]x o'zgarganda; massivsiz — har render. Cleanup funksiya unmount/qayta ishlashdan oldin tozalaydi. (11-QISM)

S: Controlled va uncontrolled komponent farqi? J: Controlled — input qiymati React state'da (yagona manba). Uncontrolled — DOM o'zida saqlaydi (ref bilan o'qiladi). (11-QISM)

S: useMemo va useCallback farqi? J: useMemo — hisoblangan qiymatni keshlaydi. useCallbackfunksiyani keshlaydi (qayta yaratilmasin). Ikkalasi keraksiz qayta hisob/renderni kamaytiradi. (11.11)

S: React'da re-render qachon bo'ladi va uni qanday optimallashtirasan? J: State/props o'zgarganda yoki ota render bo'lganda. Optimallashtirish: React.memo, useMemo/useCallback, state'ni pastga tushirish, ro'yxat virtualizatsiyasi. (11.11)

S: Custom hook nima? J: use bilan boshlanadigan, hook'lardan tuzilgan qayta ishlatiladigan mantiq (masalan useFetch, useLocalStorage). (11-QISM)

S: Context API nima uchun? J: Prop'larni chuqur uzatmasdan (prop drilling), global ma'lumotni (mavzu, foydalanuvchi) daraxt bo'ylab tarqatish. (11-QISM)

S: Server state va client state farqi (TanStack Query nega kerak)? J: Server state — backend'dagi, keshlanadigan, eskiradigan ma'lumot. Client state — UI holati. TanStack Query server state'ni kesh, qayta yuklash, sinxronlash bilan boshqaradi — useStatedan ko'ra to'g'ri. (12.4)

S: Optimistic update nima? J: Server javobini kutmasdan UI'ni darrow yangilash; xato bo'lsa orqaga qaytarish. Tez his beradi (layk, izoh). (12.4)


5. Node.js (5 QISM)

S: Node.js nima va nima uchun ishlatiladi? J: JavaScript'ni serverda ishlatadigan muhit (V8 dvigateli). Tez I/O, real-time, API, full-stack JS uchun. (5-QISM)

S: Node bitta thread bo'lsa, qanday ko'p so'rovni bir vaqtda eplaydi? J: Event loop + non-blocking I/O. Og'ir I/O'ni OS/libuv'ga topshiradi, o'zi boshqa so'rovga o'tadi; tugaganda callback ishlaydi. CPU-og'ir ish uchun worker threads. (5.1, 0.1)

S: process.nextTick, microtask, macrotask tartibi? J: nextTick microtask (Promise) macrotask (setTimeout, I/O). Microtasklar har bosqichdan keyin to'liq bo'shatiladi. (5.1)

S: Middleware nima (Express)? J: So'rov–javob orasida ishlaydigan funksiya (req, res, next). Log, auth, parse, xato ushlash uchun zanjir bo'lib ishlaydi. (5.7)

S: Stream nima va nega kerak? J: Ma'lumotni bo'lak-bo'lak o'qish/yozish — katta faylni RAM'ni to'ldirmasdan. pipe bilan ulanadi. (5.4)

S: REST API tamoyillari? J: Resurslar URL bo'lib (/users/5), HTTP metodlari amalni bildiradi (GET/POST/PUT/DELETE), stateless, to'g'ri status kodlar. (5.7)

S: REST va GraphQL farqi? J: REST — ko'p endpoint, ba'zan ortiqcha/kam ma'lumot. GraphQL — bitta endpoint, mijoz kerakli maydonni so'raydi. GraphQL moslashuvchan, lekin murakkabroq. (5.7)

S: Message queue (navbat) nega kerak? J: Og'ir/sekin ishni (email, video) asinxron, keyinroq bajarish; yukni tekislash; xizmatlarni ajratish. (5.22)


6. Ma'lumotlar bazasi (6 QISM)

S: SQL va NoSQL farqi va qachon qaysi biri? J: SQL (PostgreSQL) — jadval, sxema, bog'lanishlar, izchillik (moliya, bog'liq ma'lumot). NoSQL (MongoDB) — moslashuvchan hujjat, gorizontal miqyos (o'zgaruvchan/katta ma'lumot). (6-QISM)

S: JOIN turlari (INNER, LEFT, RIGHT, FULL)? J: INNER — ikkalasida bor; LEFT — chap jadval to'liq + mos o'ng; RIGHT — aksincha; FULL — ikkalasi to'liq. (6.15)

S: Indeks nima va qanday ishlaydi? J: Qidiruvni tezlashtiradigan tuzilma (ko'pincha B-tree). Diskni to'liq skanlamasdan tez topadi. Yozishni biroz sekinlashtiradi, joy oladi. (6.9)

S: ACID nima? J: Atomicity (hammasi yoki hech narsa), Consistency (qoidalar buzilmaydi), Isolation (tranzaksiyalar bir-biriga xalal bermaydi), Durability (tasdiqlangani saqlanadi). (6.10)

S: Tranzaksiya nima va qachon kerak? J: Bir necha amalni bitta birlik sifatida bajarish — biri yiqilsa, hammasi orqaga qaytadi (pul o'tkazmasi). (6.10)

S: Normalizatsiya nima? J: Ma'lumot takrorini kamaytirib, jadvallarga bo'lish (bog'lanishlar bilan). Yaxlitlikni saqlaydi; ba'zan tezlik uchun ataylab denormalizatsiya qilinadi. (6-QISM)

S: N+1 muammosi nima? J: Bitta so'rov + har natija uchun yana bitta so'rov (1+N). Yechim: JOIN yoki "eager loading" (bir so'rovda). (6-QISM)

S: Migratsiya nima? J: DB sxemasini versiyalangan, takrorlanadigan o'zgartirish (jadval qo'shish/o'zgartirish) — jamoa va deploy uchun. (6.12)


7. Algoritmlar va ma'lumot tuzilmalari (3 QISM)

S: Big-O nima? J: Algoritm tezligi/xotirasi kirish hajmiga qarab qanday o'sishini ko'rsatadigan belgi. O(1) doimiy, O(n) chiziqli, O(log n) logarifmik, O(n²) kvadratik. (3.1)

S: Array va Linked List farqi? J: Array — ketma-ket xotira, indeks bilan O(1) kirish, o'rtaga qo'shish O(n). Linked List — tugunlar havola bilan, qo'shish/o'chirish O(1), kirish O(n). (3-QISM)

S: Stack va Queue farqi? J: Stack — LIFO (oxirgi kirgan birinchi chiqadi, undo/call stack). Queue — FIFO (birinchi kirgan birinchi chiqadi, navbat). (3-QISM)

S: Hash table (Map) qanday ishlaydi? J: Kalitni hash funksiya bilan indeksga aylantiradi o'rtacha O(1) qidiruv/qo'shish. To'qnashuvlar zanjir/ochiq adreslash bilan hal qilinadi. (3-QISM)

S: Binary search qanday va sharti nima? J: Saralangan massivni har safar yarmiga bo'lib qidiradi — O(log n). Sharti: ma'lumot saralangan bo'lishi. (3.5)

S: Rekursiya va memoizatsiya? J: Rekursiya — funksiya o'zini chaqiradi (base case bilan). Memoizatsiya — hisoblangan natijani keshlab, takror hisobni oldini oladi (Fibonachchi O(2^n) O(n)). (3.11)

S: BFS va DFS farqi? J: BFS — qatlam-qatlam (queue, eng qisqa yo'l). DFS — chuqurlikka (stack/rekursiya, yo'l/komponentlar). (3.13)

S: Saralash algoritmlari (quick vs merge)? J: Quick — o'rtacha O(n log n), joyida, lekin yomon holatda O(n²). Merge — har doim O(n log n), barqaror, lekin qo'shimcha xotira. (3.5)


8. Xavfsizlik (14 QISM)

S: Parol nega ochiq (plain) saqlanmaydi? J: Baza buzilsa, hammasi ochiladi. Yechim: bir tomonlama hash (bcrypt/argon2) + salt. (14.5)

S: XSS nima va qanday himoyalanadi? J: Zararli skriptni sahifaga kiritish. Himoya: kirishni escaping, Content-Security-Policy, foydalanuvchi HTML'iga ishonmaslik. (14.2)

S: SQL injection nima va yechimi? J: So'rovga zararli SQL kiritish. Yechim: parametrlangan so'rovlar (prepared statements), ORM. (14.3)

S: CSRF nima? J: Foydalanuvchi nomidan soxta so'rov yuborish. Himoya: CSRF token, SameSite cookie. (14.4)

S: JWT nima va qanday ishlaydi? J: Imzolangan token (header.payload.signature). Server holat saqlamaydi — tokenni tekshiradi. Maxfiy kalit bilan imzolanadi, muddati bo'ladi. (14.6)

S: JWT'ni qayerda saqlash kerak — cookie yoki localStorage? J: httpOnly cookie (XSS'dan himoya) + SameSite (CSRF'dan). localStorage XSS'ga ochiq. (14.6, 14.7)

S: Autentifikatsiya va avtorizatsiya farqi? J: Authentication — kimligini tasdiqlash (login). Authorization — nimaga ruxsati borligini tekshirish (rol). (13.9, 14)

S: Rate limiting nega kerak? J: Bir manbadan haddan ko'p so'rovni cheklash — DoS, brute-force, suiiste'molni oldini oladi. (14.8)

S: OWASP Top 10 dan bir nechtasini ayt. J: Buzilgan kirish nazorati, kriptografik nosozlik, injection, xavfsiz bo'lmagan dizayn, noto'g'ri konfiguratsiya, eskirgan komponentlar... (14.1)


9. DevOps va arxitektura (9–10 QISM)

S: Docker nima va nega kerak? J: Ilovani barcha bog'liqligi bilan konteynerga o'rab, har joyda bir xil ishlatadi ("menda ishlaydi" muammosini yo'qotadi). (10.3)

S: Docker image va container farqi? J: Image — o'zgarmas shablon (retsept). Container — image'dan ishga tushgan jonli nusxa. (10.3)

S: CI/CD nima? J: CI — har o'zgarishni avtomatik build/test. CD — avtomatik deploy. Tez, ishonchli yetkazib berish. (10.5)

S: Monolit va mikroservis farqi, qachon qaysi biri? J: Monolit — bir ilova (sodda, kichik-o'rta). Mikroservis — mustaqil servislar (katta, ko'p jamoa, har xil miqyos). Kichik loyihaga monolit. (9-QISM, 16.2)

S: SOLID tamoyillari nima? J: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion — moslashuvchan, qo'llab-quvvatlanadigan kod uchun. (9-QISM)

S: Horizontal va vertical scaling farqi? J: Vertical — bitta serverni kuchaytirish (chegarasi bor). Horizontal — server qo'shish (ko'proq miqyos, lekin murakkabroq). (15.7)

S: Kesh (cache) qayerlarda ishlatiladi? J: CPU, brauzer, CDN, Redis, DB query, app daraja. Maqsad — sekin qatlamga kam murojaat. (13.7, 5.21, 0.1)


10. System Design (15.7)

S: URL qisqartiruvchini qanday loyihalaysan? J: Kalit generatsiya (hash/base62), urls jadvali (kodhavola), redirect (301/302), kesh (Redis) tez o'qish uchun, miqyos uchun o'qish-og'ir optimizatsiya. (15.7)

S: Chat ilovasini qanday loyihalaysan? J: WebSocket (jonli), xabar DB'da (tarix), Redis pub/sub (ko'p server), presence, offline uchun bildirishnoma, sticky session. (16.3)

S: Lenta (feed)ni qanday quraysan? J: Fan-out on write (yozishda har obunachiga) yoki on read (o'qishda yig'ish); kesh, sahifalash (pagination), reyting algoritmi. (15.7)

S: System design suhbatida qanday yondashasan? J: 1) Talablarni aniqlashtir; 2) miqyos/yukni bahola; 3) API + ma'lumot modeli; 4) yuqori darajali arxitektura; 5) tor joylar (bottleneck) va yechim (kesh, navbat, shard). (15.7)

S: CAP teoremasi nima? J: Taqsimlangan tizimda Consistency, Availability, Partition tolerance — uchchalasini bir vaqtda to'liq olib bo'lmaydi; ikkitasini tanlaysan. (15.7)


11. Xulqiy (behavioral) savollar

S: O'zing haqingda gapirib ber. J: Qisqa: kimligang, nima qila olasang (stack), eng yaxshi loyihang (natija bilan), nimaga qiziqasan. 60 soniyada. (15.8)

S: Eng qiyin bug'ni qanday hal qilgansan? J: STAR usuli: Vaziyat Vazifa Harakat (qanday tizimli debug qilding) Natija. (15.5)

S: Bilmaydigan texnologiyani qanday o'rganasan? J: Rasmiy hujjat kichik loyiha chuqurlash. Mustaqil o'rganish ko'nikmasini ko'rsat. (15.6)

S: Jamoada kelishmovchilik bo'lsa nima qilasan? J: Tinglash, ma'lumotga (kod, o'lchov) tayanish, ego emas — eng yaxshi yechimni izlash; code review madaniyati. (15.2)

S: Bizning kompaniyaga nega qo'shilmoqchisan? J: Kompaniyani oldindan o'rgan; mahsulot/missiyaga aniq qiziqishingni va o'z hissang nima bo'lishini ayt. (15.8)

Xulqiy savollarga STAR (Situation–Task–Action–Result) bilan javob ber — aniq misol, aniq natija (raqam bo'lsa yana yaxshi).


Suhbatdan oldin: shu bankni 2-3 marta o'qib chiq, har savolga o'z so'zing bilan ovoz chiqarib javob ber. Bosh sahifa: README.

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
Intervyu savollari banki — Wisar