# Behavioral Interview Savollari va Javoblari (Texnik bo'lmagan savollar)

Ushbu qo'llanmada iOS dasturchilarga suhbatlarda beriladigan **texnik bo'lmagan** (behavioral) savollar va ularga qanday javob berish bo'yicha **30 ta savol** jamlangan. Ko'pgina kompaniyalar texnik bilimdan tashqari, nomzodning muloqot qobiliyati, jamoada ishlash tajribasi va muammolarni hal qilish yondashuvini ham tekshiradi.

---

## 1. O'zingiz Haqingizda

### 1. O'zingiz haqingizda qisqacha gapiring
**Qanday javob berish kerak:** O'tmishdan boshlab hozirgi vaqtgacha qisqa yo'l chizing:
*   Qachon va qanday dasturlashga kirgansiz.
*   Qaysi loyihalarda ishlagansiz (1-2 ta muhimi).
*   Hozir nima qilyapsiz va kelajakda nima qilmoqchisiz.
*   **30-60 soniya** ichida yetkazing. Ko'p tafsilot bermang, savol berganda kengaytiring.

### 2. Nega iOS developer bo'lishni tanladingiz?
**Javob namunasi:** Apple ekotizimining yaxlitligi (hardware + software), Swift tilining zamonaviy va xavfsiz ekanligini, foydalanuvchi tajribasiga berilgan e'tiborni ta'kidlang. Shaxsiy tajribangiz bilan boyitish — masalan, "birinchi ilovamni do'stlarim ishlatganida hissiyotlarni ko'rganim menga kuchli motivatsiya bo'ldi."

### 3. Loyihalaringiz haqida gapirib bering
**Qanday javob berish kerak:** STAR formatidan foydalaning:
*   **S**ituation: Vaziyat nima edi?
*   **T**ask: Sizning vazifangiz nima edi?
*   **A**ction: Aniq nima qildingiz?
*   **R**esult: Natija qanday bo'ldi (raqamlar bilan)?

---

## 2. Muammolarni Hal Qilish

### 4. Eng qiyin bug'ni qanday hal qilganingizni aytib bering
**Javob namunasi:** Muammoni aniq tasvirlab bering (masalan, faqat ba'zi qurilmalarda crash). Qanday tekshirganingizni (Instruments, Crashlytics loglari), sababni aniqlash jarayonini va oxirgi yechimni tushuntiring. Muhimi — sizning **mantiqiy fikrlash jarayoningiz**.

### 5. Deadline qisqa bo'lganda qanday ishlaysiz?
**Javob yo'nalishi:** Avval prioritetlarni aniqlash (MVP — eng muhim funktsiyalar). Jamoaga ochiq muloqot qilish va qaysi narsalarni qoldirishni kelishish. Sifatdan voz kechmaslik, lekin scope'ni kamaytirish haqida gapiring.

### 6. Qabul qilgan eng qiyin texnik qaroringiz?
**Javob namunasi:** Masalan, "loyihani UIKit'dan SwiftUI'ga o'tkazish kerak edi. Foyda va zarar tomonlarini tahlil qildim. Oxirida faqat yangi ekranlarni SwiftUI'da yozib, eskisini asta-sekin migratsiya qilish qarorini qo'ldim" — bu sizning **analitik fikrlashingizni** ko'rsatadi.

### 7. Loyihada xato qilganingiz va undan nimani o'rganganingiz?
**Javob yo'nalishi:** Haqiqiy xatoni aytishdan qo'rqmang (masalan, "unit testlar yozmay turib katta refactoring qildim va ko'p joyni buzdim"). Muhimi — **nimani o'rganganingiz** va kelajakda qanday oldini olishingiz.

### 8. Bilmagan texnologiyani qanday o'rgangansiz?
**Javob namunasi:** Masalan, "Combine framework'ni loyiha uchun o'rganishim kerak edi. Apple dokumentatsiyasini o'qidim, WWDC videolarini ko'rdim, kichik test loyiha yasadim, keyin asosiy loyihaga qo'lladim" — bu sizning **o'z-o'zini rivojlantirish** qobiliyatingizni ko'rsatadi.

---

## 3. Jamoa bilan Ishlash

### 9. Jamoa bilan ishlash tajribangiz qanday?
**Javob yo'nalishi:** Git workflow (branch strategy), code review jarayoni, daily standup/scrum tajribasi haqida gapiring. Aniq misol bering — masalan, "3 kishi bo'lib feature ustida ishladik, men networking qismini olganman."

### 10. Jamoadoshi bilan kelishmovchilik bo'lganmi?
**Javob namunasi:** "Ha, backend dasturchisi bilan API dizayni bo'yicha kelisholmadik. Men unga iOS tomondan qanday qulayroq bo'lishini texnik dalillar bilan tushuntirdim. Oxirida o'rtacha variant topdik va u ikkalamiz uchun ham samarali bo'ldi." Qarama-qarshi emas, **hamkorlikka** yo'naltirilgan javob bering.

### 11. Yangi jamoaga qanday moslashasiz?
**Javob yo'nalishi:** Avval loyiha kodini o'qib chiqish, README va arxitektura dokumentatsiyalarini o'rganish. Kichik task'lardan boshlash. Savollar berish va mentordan yordam so'rashdan uyalmaslik.

### 12. Code Review qilishda nimaga e'tibor berasiz?
**Javob namunasi:** Kodni to'g'ri ishlashidan tashqari: SOLID prinsiplari, error handling, edge cases, test mavjudligi, nomlash (naming conventions), va xotira oqishi (retain cycles) mavjudligi tekshiriladi. Doimo "nima uchun?" savolini bering.

### 13. Mentorlik tajribangiz bormi?
**Javob yo'nalishi:** Junior dasturchilarga code review qilish, pair programming, texnik mavzularda mini-darslar berish haqida gapiring. Agar tajriba bo'lmasa, "mentor bo'lishga tayyorman" deb aytish ham ijobiy signal.

---

## 4. O'sish va Motivatsiya

### 14. Kelgusi 2-3 yilda o'zingizni qayerda ko'rasiz?
**Javob yo'nalishi:** "Senior/Lead iOS developer sifatida katta loyihalar arxitekturasini boshqarishni va jamoaga mentorlik qilishni xohlayman" — aniq maqsad aytish muhim, lekin haddan moslashuvchan bo'ling.

### 15. Yangi texnologiyalarni qanday kuzatib borasiz?
**Javob namunasi:** WWDC videolari, Swift Evolution proposals, iOS dev bloglar (Hacking with Swift, SwiftLee), Twitter/X dagi iOS community, GitHub trending, podcast'lar (Swift by Sundell).

### 16. Eng sevgan iOS framework'ingiz qaysi va nega?
**Javob namunasi:** Bu sizning qiziqishlaringizni ko'rsatadi. Masalan: "SwiftUI — chunki deklarativ yondashuv tufayli kamroq kod bilan ko'proq natijaga erishaman" yoki "Combine — reactive dasturlash asinxron ishlarni juda chiroyli boshqaradi."

### 17. Open Source loyihaga hissa qo'shganmisiz?
**Javob yo'nalishi:** Agar qo'shgan bo'lsangiz — ajoyib, tasvirlab bering. Agar qo'shmagan bo'lsangiz — "qiziqishim bor, hozir X loyihasini o'rganayapman" deb aytish mumkin. GitHub profilingizni tayyorlab qo'ying.

### 18. Qaysi loyiha sizga eng ko'p tajriba berdi?
**Javob namunasi:** Loyihaning murakkab tomonlarini va siz undan nimani o'rganganingizni tushuntiring. Masalan: "E-commerce loyihasida birinchi marta Clean Architecture va CI/CD pipeline o'rnatdim, bu mening professional o'sishimda burilish nuqtasi bo'ldi."

---

## 5. Kompaniya va Madaniyat

### 19. Nega bizning kompaniyamizga ishga kirmoqchisiz?
**Javob yo'nalishi:** Kompaniya haqida oldindan tadqiqot qiling — mahsulotlari, texnologiya stack'i, madaniyati. "Sizning X ilovangizni ishlataman va uning arxitekturasini o'rganish menga katta tajriba bo'ladi" — aniq va samimiy javob bering.

### 20. Ideal ish muhiti sizga qanday?
**Javob yo'nalishi:** Texnik o'sishga imkon beruvchi, ochiq muloqat mavjud, code review madaniyati kuchli va yangi texnologiyalar sinashga ruxsat beradigan muhit. O'zingiz uchun muhim narsalarni aytib, kompaniya madaniyatiga mos kelishingizni ko'rsating.

### 21. Remote (masofaviy) ishlash tajribangiz?
**Javob yo'nalishi:** Vaqtni boshqarish (time management), kommunikatsiya asboblari (Slack, Zoom, Jira), va mustaqil ishlash qobiliyati haqida gapiring. Muammolar va ularni qanday hal qilganingizni ham aytish foydali.

### 22. Qaysi Agile metodologiyasini bilasiz?
**Javob namunasi:** Scrum (sprint planning, daily standup, retrospective) yoki Kanban (board-based, WIP limits). Real tajribangizdan misol keltiring — masalan, "2 haftalik sprintlar bilan ishladik, retrospective'da jarayon yaxshilash bo'yicha takliflar berdim."

---

## 6. Stress va Moslashuvchanlik

### 23. Stress ostida qanday ishlaysiz?
**Javob yo'nalishi:** Stressni tan olish va uni boshqarish strategiyalari — masalan, "muammoni kichik qismlarga bo'lib, bitta-bitta hal qilaman" yoki "qisqa muddat tanaffus olib, yangi burchakdan qarayman."

### 24. Loyiha talablari to'satdan o'zgarsa nima qilasiz?
**Javob namunasi:** "Avval yangi talablarni to'liq tushunib olaman. Keyin mavjud arxitekturaga ta'sirini baholayman va jamoaga vaqt sarfi haqida ochiq ma'lumot beraman. Zarur bo'lsa, scope'ni qayta ko'rib chiqamiz."

### 25. Ishda motivatsiyangiz tushib ketsa nima qilasiz?
**Javob yo'nalishi:** Samimiy javob bering — masalan, yangi texnologiya o'rganish, side project boshlash, yoki boshqa loyiha qismiga o'tish motivatsiyani qaytaradi.

### 26. Salbiy feedback olganda qanday munosabatda bo'lasiz?
**Javob namunasi:** "Feedbackni shaxsiy qabul qilmayman, balki o'sish imkoniyati deb qarayman. Code review'da tanqidiy izohlar olganda, ularni o'rganib, keyingi marta xuddi shu xatoni takrorlamaslikka harakat qilaman."

---

## 7. Texnik Leadership (Senior uchun)

### 27. Jamoadagi texnik qarzni (technical debt) qanday boshqarasiz?
**Javob namunasi:** "Texnik qarzni sprint backlog'ga qo'shib, har sprintda 10-20% vaqtni refactoring'ga ajratamiz. Katta qarzlar uchun alohida RFC (Request for Comments) yozib, jamoa bilan kelishiladi."

### 28. Yangi texnologiyani loyihaga kiritish haqida qanday qaror qilasiz?
**Javob namunasi:** "Avval prototyp yasab sinab ko'raman. Jamoaning o'rganish muddatini, community qo'llab-quvvatlashini, va loyihaga mosligini baholayman. Agar 2+ sprint ichida qabul qilinar bo'lsa, RFC yozib jamoa bilan muhokama qilaman."

### 29. Katta loyihada arxitektura qarorini qanday qabul qilasiz?
**Javob namunasi:** "Trade-off'larni aniqlayman (tezlik vs murakkablik, moslashuvchanlik vs soddalik). RFC hujjati yozaman. Jamoadan feedback olaman. Prototip yasab sinab ko'raman. Keyin qaror qabul qilaman va hujjatlamani yangilayman."

### 30. Sizning eng kuchli va eng zaif tomoningiz?
**Javob namunasi:**
*   **Kuchli:** "Muammolarni tizimli tahlil qilish va arxitektura darajasida yechim topish."
*   **Zaif:** "Ba'zan perfektsionizm — hamma narsani mukammal qilgim keladi, bu esa vaqtni cho'zadi. Buni boshqarish uchun MVP yondashuvini o'zlashtirdim."

---
### Yakuniy Maslahat:
Behavioral savollarda **STAR formati** (Situation, Task, Action, Result) har doim sizning eng yaxshi do'stingiz. Har bir javobda aniq misol bering va natijani raqamlar bilan ifodalashga harakat qiling (masalan, "crash rate'ni 5% dan 0.1% ga tushirdik"). Samimiylik va o'z-o'zini anglash — eng katta ta'sir qoldiradi! 💼
