19. Intervyu tayyorgarligi — 15 ta savol-javob
Bu bo'lim texnik bilimni intervyuda to'g'ri ifodalashga qaratilgan. Avval javobni o'zingiz ayting, so'ng ochib solishtiring.
1. "Terminalda ls yozib Enter bossam, nima sodir bo'ladi?" savoliga qanday javob berasiz?
Javob
Terminal tugmalarni shell'ga uzatadi. Shell qatorni tahlil qiladi, ls ni alias/funksiya/builtin/PATH bo'yicha qidirib /usr/bin/ls ni topadi, fork() bilan bola jarayon yaratadi va unda execve() bilan ls ni ishga tushiradi. ls system call'lar (openat, getdents) orqali katalogni o'qiydi, natijani stdout'ga yozadi, chiqish kodi bilan tugaydi; shell uni wait bilan kutib, keyingi prompt'ni chiqaradi. Javobni kengaytirish yoki qisqartirishni suhbatdoshga qarab sozlang.
2. "Serverga ssh qilganda nima bo'ladi?" savoliga javobning qisqa tuzilmasi qanday?
Javob
TCP ulanish (22-port) → algoritmlar kelishuvi va kalit almashinuvi (kanal shifrlanadi) → mijoz server host kalitini known_hosts bilan tekshiradi → foydalanuvchi autentifikatsiyasi (kalit yoki parol, authorized_keys) → server PAM orqali sessiyani sozlaydi va login shell ochadi. Xatolarni qatlamlar bo'yicha tushuntiring: refused — port, timeout — tarmoq/firewall, publickey denied — kalit/ruxsat.
3. "Server sekin" deb aytishdi. Qanday yondashasiz?
Javob
Avval savollar: nima sekin, qachondan beri, nima o'zgargan, hamma uchunmi yoki bir foydalanuvchi uchun? So'ng resurslar: CPU/load (top, uptime), xotira/swap/OOM (free, dmesg), disk va I/O (df, iostat), tarmoq (ss). Eng ko'p resurs sarflayotgan jarayonni topib, uning logiga qarayman. Bir vaqtda bitta o'zgarish qilaman va natijani o'lchayman. Bu javobda tartib va metodologiya muhim, buyruqlar ro'yxati emas.
4. "Disk to'lib qoldi" stsenariysini qanday tushuntirasiz?
Javob
df -h qaysi bo'lim to'lganini, du --max-depth=1 | sort -h qayerda katta joy borligini ko'rsatadi. Odatiy sabablar: loglar, eski arxivlar, kesh. Agar du kam, df to'la desa — o'chirilgan lekin ochiq fayl (lsof +L1); joy bor-u yaratib bo'lmasa — inode (df -i). Tuzatgach, qayta takrorlanmasligi uchun logrotate, monitoring va ogohlantirish qo'shaman.
5. "Xizmat ishga tushmayapti" savoliga ketma-ketlik qanday?
Javob
systemctl status (holat va chiqish kodi), journalctl -u xizmat -n 50 (sabab), so'ng konfiguratsiya sintaksisi (nginx -t kabi), fayl ruxsatlari va yo'llari, port bandligi (ss -ltnp), bog'liq xizmatlar va disk joyi, SELinux/AppArmor rad etishi. Faqat shundan keyin qayta ishga tushiraman. Muhimi — sabab topilmasdan "restart" qilib qo'ya qolmaslik.
6. Jarayon va thread farqi nima? (ko'p so'raladigan savol)
Javob
Jarayon o'z manzil maydoni va resurslariga (ochiq fayllar) ega izolyatsiyalangan ijro birligi. Thread — jarayon ichidagi yengil ijro oqimi: bir jarayonning threadlari xotira va ochiq fayllarni ulashadi, shu sabab ular orasidagi aloqa tez, lekin sinxronlash (poyga holatlari) kerak. Threadning qulashi butun jarayonni yiqitishi mumkin, jarayonlar esa bir-biridan izolyatsiyalangan. Linux yadrosi ikkalasini ham "task" sifatida boshqaradi.
7. Hard link va symlink farqini 30 soniyada qanday aytasiz?
Javob
Hard link — bir inode'ga yana bir nom: ikkalasi teng huquqli, birini o'chirish ma'lumotni yo'qotmaydi, boshqa fayl tizimiga o'tmaydi. Symlink — ichida yo'l yozilgan alohida fayl: kataloglarga va boshqa fayl tizimlariga ishora qila oladi, lekin nishon o'chsa buziladi. Misol bilan tugating: ln va ln -s, ls -li da inode raqamlari.
8. Javobni bilmasangiz, intervyuda qanday yo'l tutasiz?
Javob
Halollik va mantiqiy fikrlash: "Aniq bilmayman, lekin shunday tekshirgan bo'lardim", so'ng qaysi buyruq yoki hujjatga (man, log) murojaat qilishni aytish. Bilmaganini bilgandek ko'rsatish yomon: keyingi savol sizni fosh qiladi. Aniq bilgan qismini ayting, noaniqini shunday deb belgilang, va yaqin tushunchadan analogiya keltiring.
9. Junior va mid-level nomzoddan nima kutiladi?
Javob
Junior: asosiy buyruqlar, fayl tizimi, ruxsatlar, jarayonlar, oddiy tarmoq va servislarni bilish, loglarni o'qish, bosqichma-bosqich o'rganishga tayyorlik. Mid-level: yuqoridagilarga qo'shimcha tashxis metodologiyasi, production riski haqida tushuncha (xavfli buyruqlar, o'zgarishni boshqarish), avtomatlashtirish (skriptlar, IaC), xavfsizlik odatlari va "nega"ga javob bera olish. Farq ko'proq fikrlash chuqurligida, yodlangan buyruqlar sonida emas.
10. Production serverda o'zgarish kiritishdan oldin nimani qilasiz?
Javob
Oldin tushunaman: o'zgarish nimaga ta'sir qiladi. Zaxira yoki snapshot, staging'da sinash, rollback rejasi, texnik oyna va jamoaga xabar, o'zgarishni kichik bosqichlarga bo'lish, xavfli buyruqlarni oldindan ko'rish (--dry-run, -print, nginx -t), keyin natijani kuzatish (monitoring, loglar) va hujjatlash. Masofaviy ulanishni yo'qotmaslik uchun ikkinchi sessiya yoki konsolga kirish imkoni.
11. restart va reload farqini intervyuda qanday tushuntirasiz?
Javob
restart jarayonni to'xtatib qayta yoqadi — qisqa uzilish va ulanishlar yo'qoladi; reload jarayonni o'ldirmasdan konfiguratsiyani qayta o'qitadi — uzilishsiz. Konfiguratsiyani o'zgartirsam, avval sintaksisni tekshirib, reload ishlataman; binar yangilangan yoki xizmat reload ni qo'llamasa, restart. Production'da uzilishsizlik muhimligini qo'shib ayting.
12. "Foydalanuvchi tizimga kira olmayapti" holatida nimani tekshirasiz?
Javob
Hisob mavjudmi va bloklanmaganmi (id, passwd -S, chage -l, faillock), shell to'g'rimi (nologin?), uy katalogi va ruxsatlari, SSH uchun authorized_keys ruxsatlari va sshd_config (AllowUsers), serverdagi auth log (journalctl -u ssh), mijozda ssh -vvv, PAM cheklovlari, disk to'la (uy katalogiga yozib bo'lmaydi), vaqt noto'g'ri (2FA/Kerberos).
13. Cron vazifasi ishlamayotgan bo'lsa, tashxis ketma-ketligi qanday?
Javob
Cron xizmati ishlayaptimi (systemctl status cron), vazifa ishga tushganmi (jurnalda CMD qatori), crontab sintaksisi va vaqt (% belgisi, vaqt zonasi), so'ng skriptning o'zi: PATH, ruxsat, joriy katalog, muhit. Chiqish faylga yo'naltirilganmi? Qo'lda cron muhitini taqlid qilib (env -i) ishga tushirib ko'raman. Cron "ishga tushirdi" — bu "ishladi" degani emas.
14. Intervyuda "xavfsizlik" haqida so'ralsa, qaysi asosiy g'oyalarni tilga olasiz?
Javob
Eng kam imtiyoz, kichik hujum yuzasi (keraksiz xizmat/port yo'q), chuqurlashgan himoya (firewall + SSH qotirish + MAC + monitoring), yangilanishlar, loglar va audit, maxfiy ma'lumotni kodda saqlamaslik, kalit asosidagi autentifikatsiya. Aniq misollar keltiring (root SSH yopiq, fail2ban, SUID audit): umumiy so'zlardan ko'ra aniq amaliyot ishonchli.
15. Intervyuga qanday samarali tayyorgarlik ko'rasiz?
Javob
Virtual mashinada mavzularni qo'l bilan sinash va ataylab buzib, tuzatish (xizmatni yiqitish, diskni to'ldirish, ruxsatlarni buzish); har bir buyruq "nima uchun" ishlashini tushuntirib ko'rish; savollarga ovoz chiqarib javob berish; troubleshooting stsenariylarini metodologiya bo'yicha yechish; man va hujjatlardan foydalanishni mashq qilish; o'zingiz yozgan skript va loyihalarni namuna sifatida tayyorlash.