Beginner'dan Senior darajagacha guruhlangan TypeScript interview savollari — interface vs type, diskriminatsiyalangan union'lar va jamoaviy muvozanat bo'yicha chuqur tushuntirishlar bilan.
Daraja bo'yicha guruhlangan TypeScript interview savollari — har biri chuqur tushuntirish va keng tarqalgan noto'g'ri javob bilan.
Savol: TypeScript va JavaScript orasidagi asosiy farq nima?
<details> <summary>Answer</summary> TypeScript — JavaScript'ning "superset"i (kengaytmasi), u statik tip tekshiruvini qo'shadi. Barcha to'g'ri JavaScript kodi — deyarli har doim to'g'ri TypeScript kodi hamdir, lekin TypeScript qo'shimcha ravishda tip xatolarini compile vaqtida aniqlaydi.Common Wrong Answer: "TypeScript — butunlay boshqa til" — bu ularning munosabatini noto'g'ri tasvirlaydi; TypeScript aslida JavaScript ustiga qurilgan "qatlam".
</details>Savol: interface va type orasidagi amaliy farqlar nimalar?
Common Wrong Answer: "Ular butunlay bir xil, farqi yo'q" — bu union type va declaration merging kabi muhim amaliy farqlarni e'tiborsiz qoldiradi.
</details>Savol: Diskriminatsiyalangan union nima va u qanday xavfsizlikni ta'minlaydi?
<details> <summary>Answer</summary> Diskriminatsiyalangan union — har bir variant o'zining aniq, o'zgarmas "diskriminant" maydoniga (masalan `type: "success"`) ega bo'lgan union type. Bu — bitta maydonni tekshirish orqali (`if (x.type === "success")`), TypeScript'ga qolgan barcha boshqa maydonlarning aniq turini "toraytirish" imkonini beradi, bu esa union type'lar bilan xavfsiz, aniq ishlashni ta'minlaydi.Common Wrong Answer: "Bu shunchaki union type, hech qanday maxsus xususiyati yo'q" — bu diskriminant maydon orqali narrowing qilish imkoniyatini e'tiborsiz qoldiradi.
</details>Savol: Katta, ko'p dasturchi ishlaydigan TypeScript loyihasida, tip xavfsizligi va development tezligi orasidagi muvozanatni qanday saqlaysiz?
<details> <summary>Answer</summary> Bu — bir nechta strategiyani birlashtirishni talab qiladi: (1) `strict` rejimini yoqish, lekin jamoa uchun aniq qoidalar (masalan qachon `any` ishlatilishi mumkinligi) belgilash; (2) murakkab, qayta ishlatiluvchi turlarni (generics, utility types) markazlashtirib, ularni butun loyihada izchil ishlatish; (3) diskriminatsiyalangan union va exhaustiveness checking'ni holat boshqaruvi uchun standart qilib olish; (4) tip xatolarini "tezkor yechish" uchun `as any` yoki `@ts-ignore`dan foydalanishni jamoaviy code review orqali cheklash. Muvozanat — ko'r-ko'rona qattiqlik emas, balki loyihaning haqiqiy ehtiyojlariga mos, ongli qarorlar qabul qilishni talab qiladi.Common Wrong Answer: "Har doim eng qattiq sozlamalarni yoqish kerak, boshqa yo'l yo'q" — bu ba'zan development tezligini keraksiz pasaytirishi mumkinligini e'tiborsiz qoldiradi; muvozanat — loyiha va jamoa kontekstiga bog'liq.
</details>Task: O'zingiz uchun 5 ta qo'shimcha TypeScript interview savolini yozing (generics, utility types yoki advanced types mavzularida).
TypeScript interview savollari — nafaqat sintaksisni bilishni, balki tip tizimining "nega"sini, real-world muvozanatlarni va murakkab holatlarda (generics, advanced types) to'g'ri qaror qabul qilishni chuqur tushunishni sinaydi.
interface vs type, any vs unknown — eng ko'p so'raladigan taqqoslash savollaricode.textTEXT🟢 Beginner: TS vs JS, basic types🟡 Intermediate: interface vs type, functions🔴 Advanced: discriminated unions, generics🟣 Senior: jamoa standartlari, arxitektura
Mavzu bo‘yicha tushunchalaringizni interaktiv test orqali sinovdan o‘tkazing va natijalarni bilib oling.
Darslikda o‘rganilgan qoidalarga asosan real kod yozing, testlardan o‘tkazing va yechimlarni mustahkamlang.
Test Sinovi
Hali topshirilmagan (kamida 75% kerak)
Dars sifati va mazmunini yaxshilash uchun o‘z haqqoniy bahoingizni qoldiring.
Mavzuni to‘liq o‘zlashtirish uchun test sinovi, amaliy kodlash va bog‘liq darslar
O‘z bilimingizni interaktiv test savollari orqali tekshiring va darhol xatolarni tahlil qiling.
Nazariyani real kod yozish bilan mustahkamlang, avtomatik testlardan o‘ting va XP to‘plang.
Kurs bo‘yicha keyingi va bog‘liq mavzular: