Texniki müsahibə — bir sıra müsahibə və praktiki tapşırıqlar vasitəsilə tərtibatçının bacarıqlarının qiymətləndirilməsi prosesi. Mobil inkişafda platforma biliklərinin (Android SDK, UIKit, SwiftUI), alqoritmlərin və data strukturlarının, arxitektura nümunələrinin (MVVM, Clean Architecture, MVI) və mobil tətbiqin sistem dizaynının yoxlanılmasını əhatə edir. Böyük şirkətlər 3-dən 5-ə qədər tur keçirir, orta işə qəbul müddəti 4-6 həftədir. LinkedIn Talent Report 2025-in məlumatlarına görə, iOS və Android mühəndislərinə tələb iki il ərzində 34% artıb.
Əsas məqamlar
Texniki müsahibə — tərtibatçının peşəkar səriştələrinin, o cümlədən hard skills (texniki biliklər) və soft skills (ünsiyyət, komanda işi) yoxlanılmasının strukturlu qiymətləndirilməsi prosesidir. Mobil tərtibatçının standart müsahibə dövrü 3-5 turdan ibarətdir və ümumi müddəti 4-6 saatdır. İlkin müraciətlərin sayından uğurlu keçid faizi böyük texnologiya şirkətlərində 2-5% təşkil edir.
Mobil inkişafda işə qəbul prosesi veb inkişafdan fərqlənir: platforma spesifikası ilə bağlı suallar əlavə olunur — Activity/Fragment həyat dövrü, ARC və Swift-də yaddaş idarəetməsi, threadinq modelləri (Main Thread, Dispatch Queue, Coroutines), şəbəkə sorğuları və məlumatların keşləşdirilməsi ilə iş. Android tərtibatçısı Jetpack Compose, Room, WorkManager, Dagger/Hilt-i bilməlidir. iOS tərtibatçısı — SwiftUI, Core Data, Combine, URLSession. Tələblərdəki fərq təcrübə ilə artır: Senior vəzifələri üçün sistem dizaynı və bütün tətbiqin arxitekturası əlavə olunur.
Müsahibənin strukturu qreyddən asılıdır. Junior vəzifələri üçün dil və platformanın əsas bilikləri kifayətdir (1-2 tur). Middle tərtibatçısı 2-3 tur keçir, alqoritmlər bloku ilə. Senior müsahibəsi 4-5 turdan ibarətdir: alqoritmlər, mobil tətbiq arxitekturası, sistem dizaynı, davranış müsahibəsi və VPE (Vice President of Engineering) və ya CTO ilə final müsahibəsi.
HR skrininqi — 20-30 dəqiqə davam edən ilk mərhələ. Rekruter təcrübənin vakansiya tələblərinə uyğunluğunu yoxlayır, iş şərtlərini, maaş gözləntilərini və namizədin motivasiyasını müzakirə edir. Bu mərhələdə təcrübənizi aydın ifadə etmək vacibdir: layihələr, texnologiya stack-i, metrikalardakı nailiyyətlər (yükləmə vaxtının azaldılması, crash rate-in azaldılması, kompilyasiyanın sürətləndirilməsi). HR skrininqi texniki bilikləri yoxlamır, lakin formal tələblərə uyğun gəlməmə səbəbindən namizədlərin 40%-ə qədərini süzgəcdən keçirir.
Skrininqdən sonra alqoritmik müsahibə gəlir — əksər şirkətlər üçün əsas mərhələ. Müddət — 45-90 dəqiqə. Namizədə alqoritmlər və data strukturları üzrə 1-2 tapşırıq verilir. Həll onlayn lövhədə (Codility, HackerRank, CoderPad) və ya kağız üzərində yazılır. Təkcə düzgünlük deyil, həm də düşünmə sürəti, dəqiqləşdirici suallar vermək və həlli optimallaşdırmaq bacarığı qiymətləndirilir. interviewing.io (2025) məlumatlarına görə, namizədlərin 73%-i məhz alqoritmik mərhələdə uğursuz olur.
Arxitektura turu mobil tətbiqləri layihələndirmək bacarığını yoxlayır. Namizədə tətbiq (TODO siyahısı, mesajlaşma, xəbər aqreqatoru, striminq xidməti) layihələndirmək təklif olunur. Arxitektura nümunəsinin seçimi (MVP, MVVM, MVI, VIPER), təbəqələrin təşkili (Presentation, Domain, Data), DI (Dagger, Hilt, Swinject) ilə iş və naviqasiya qiymətləndirilir. Android üçün — Jetpack Navigation bilikləri, iOS üçün — Coordinator nümunəsi və SwiftUI NavigationStack.
Davranış müsahibəsində soft skills qiymətləndirilir: komandada işləmək, münaqişələri həll etmək, qərarları əsaslandırmaq bacarığı. STAR metodu (Situation, Task, Action, Result) istifadə olunur — namizəd təcrübəsindən konkret bir vəziyyəti təsvir edir. Nümunə sual: „Tapdığınız və düzəltdiyiniz ən çətin bug haqqında danışın“. Final turu komanda rəhbəri və ya VPE ilə strateji düşüncə və şirkətin mədəniyyətinə uyğunluğu yoxlayır.
Alqoritmik tapşırıqlar — böyük texnologiya şirkətlərində (Google, Meta, Yandex, Tinkoff, Avito) müsahibələrin məcburi komponentidir. Əsas məqsəd ability to solve (problemləri həll etmək qabiliyyəti) qiymətləndirməkdir, dil biliklərini yox. Namizəd istənilən proqramlaşdırma dilindən istifadə edə bilər — Android üçün Kotlin, iOS üçün Swift üstünlük təşkil edir. Tipik mövzular: massivlər, hash-cədvəllər, qraflar, dinamik proqramlaşdırma, ağaclar (Binary Tree, Trie, Segment Tree).
LeetCode (2025) məlumatlarına görə, alqoritmik müsahibədən əmin keçmək üçün 250-400 tapşırıq həll etmək lazımdır. Görünmə tezliyinə görə əsas mövzular: Two Pointers (12%), Sliding Window (10%), Qraflarda DFS/BFS (14%), Binary Search (8%), Dynamic Programming (18%), Hash Map / Set (15%). Big O notasiyası — məcburi element: namizəd öz həllinin zaman və yaddaş mürəkkəbliyini izah etməli və optimallaşdırma təklif etməlidir.
// LeetCode 1: Two Sum — klassik HashMap problemi
fun twoSum(nums: IntArray, target: Int): IntArray {
// Complement = target - nums[i] və onun indeksini saxla
val map = mutableMapOf<Int, Int>()
for (i in nums.indices) {
val complement = target - nums[i]
// Complement tapılarsa — cüt tapıldı
if (complement in map) {
return intArrayOf(map[complement]!!, i)
}
map[nums[i]] = i
}
throw IllegalArgumentException("No two sum solution")
}
// Vaxt: O(n), Yaddaş: O(n)Two Sum tapşırığı — müsahibələrdə ən populyar tapşırıqdır (LeetCode məlumatlarına görə, 20 milyondan çox göndəriş). O(n) həlli HashMap-dən istifadə edir: hər element üçün target - nums[i] fərqinin artıq rast gəlib-gəlmədiyini yoxlayırıq. Əgər bəli — indeksləri qaytarırıq. Əgər yox — cari elementi HashMap-də saxlayırıq. İki daxili dövrə ilə O(n²) sadə həlli Senior vəzifələri üçün keçidsiz sayılır.
Platforma sualları mobil tərtibatçı müsahibəsində üç bloka bölünür: platformanın əsas bilikləri, UI və çoxthreading ilə iş, şəbəkə sorğuları və məlumatların saxlanması. Android üçün məcburi: Activity və Fragment həyat dövrü, Fragment v1 vs Fragment v2 fərqləri, ActivityResult API (onActivityResult əvəzi), ViewModel + StateFlow, Compose lifecycle. iOS üçün: UIViewController həyat dövrü, ARC (Automatic Reference Counting), DispatchQueue və OperationQueue, SwiftUI lifecycle (View — @State — @Binding — @ObservedObject).
Tipik sual: „Ekran döndərildikdə Activity-nin həyat dövrünün hansı callback-ləri çağırılır?“. Düzgün cavab: onPause → onStop → onDestroy → onCreate → onStart → onResume. Əlavə sual: „Dönmə zamanı vəziyyəti necə saxlamaq olar?“ — ViewModel-də SavedStateHandle, onSaveInstanceState Bundle və ya Jetpack Compose-da rememberSaveable vasitəsilə. iOS üçün: „Fona keçərkən UIViewController-ə nə olur?“ — viewWillDisappear → viewDidDisappear → didEnterBackground (AppDelegate).
| Komponent | Android | iOS |
|---|---|---|
| Həyat dövrü | Activity: onCreate → onStart → onResume → onPause → onStop → onDestroy | UIViewController: viewDidLoad → viewWillAppear → viewDidAppear → viewWillDisappear → viewDidDisappear |
| Vəziyyətin saxlanması | SavedStateHandle, onSaveInstanceState, rememberSaveable | Codable + UserDefaults, Core Data, @SceneStorage |
| Çoxthreading | Coroutines (Dispatchers.Main, IO, Default) | GCD (DispatchQueue.main, .global, .background) |
| UI quruluşu | Jetpack Compose (Modifier, @Composable) | SwiftUI (View, @ViewBuilder, Modifier) |
| Naviqasiya | Jetpack Navigation Component, Cicerone, Decompose | NavigationStack, Coordinator, Router (RIBs) |
System Design Interview mobil tərtibatçı üçün müştəri tətbiqinin arxitekturasını və onun serverlə qarşılıqlı əlaqəsini layihələndirmək bacarığını yoxlayır. Standart tapşırıqlar: xəbər lentini (Instagram/TikTok kimi), çatı (Telegram kimi), video pleyeri (YouTube kimi), birinci səviyyəli keşi (L1 — in-memory, L2 — disk) layihələndirmək. Müddət — 60 dəqiqə. Düşüncənin strukturluğu qiymətləndirilir, təfərrüatların sayı yox.
System Design üçün cavab şablonu: 1) Clarify requirements — funksional (lent, bəyənmələr, şərhlər, şəkil yükləmə) və qeyri-funksional tələbləri (offline, yükləmə sürəti, batareya istehlakı) dəqiqləşdirmək. 2) High-level design — təbəqələrin sxemini çəkmək: UI Layer → ViewModel → Repository → Network / Cache / DB. 3) Deep dive — əsas komponentləri təfərrüatlandırmaq, məsələn, paginasiya mexanizmi (Android üçün Paging 3, iOS üçün Offset-based vs Cursor-based). 4) Trade-offs — kompromisləri müzakirə etmək: keş vs məlumat təzəliyi, offline-first vs online-only.
Mobil tətbiqlər üçün System Design-in əsas mövzuları: keşləşdirmə (LRU Cache, limitli Disk Cache), şəkillərlə iş (Coil, Glide, SDWebImage — yükləmə, keş, placeholder, gedişat), trafik optimallaşdırması (JSON əvəzinə protobuf, sıxlaşdırma, Differ/GraphQL), oflayn iş (Room + Sync Adapter, Core Data + iCloud, fon sinxronizasiyası üçün WorkManager). Offline-first — Senior vəzifələri üçün ən çox rast gəlinən mövzulardan biridir.
iOS üçün App Thinning, Slicing, On-Demand Resources və build optimallaşdırması ilə bağlı suallar əlavə olunur. Android üçün — R8/ProGuard, App Bundles (AAB vs APK), Dynamic Delivery və Minification haqqında. „Yaddaş məhdudiyyəti olan şəkil keşini necə tətbiq etmək olar?“ arxitektura sualı LRU Cache (access order ilə LinkedHashMap), Disk LRU Cache (Jake Wharton-un DiskLruCache) və Coil/Glide memory cache layer anlayışını yoxlayır.
Müsahibəyə hazırlıq planlaşdırılan müsahibədən 4-8 həftə əvvəl sistematik yanaşma tələb edir. Əsas strategiya: nəzəriyyənin təkrarı üçün 2 həftə (dil, platforma, alqoritmlər), alqoritmik tapşırıqların həlli üçün 2-4 həftə (LeetCode-də 100-300 tapşırıq), mock müsahibələr üçün 1-2 həftə (Pramp, interview.io, dostlarla). Senior vəzifələri üçün System Design hazırlığı əlavə olunur (2-3 həftə). Plan hədəf səviyyədə 70-80% uğurlu keçid verir.
Mobil tərtibatçılar üçün spesifik hazırlıq daxildir: Android Developers Guide / iOS Developer Library oxumaq, məşhur kitabxanaların mənbə kodunu təhlil etmək (Retrofit, OkHttp, Coil, Koin, Alamofire, Kingfisher), Clean Architecture və CI/CD (GitHub Actions, Fastlane) ilə pet-layihə yazmaq. Nümunə tətbiq yazın GitHub-da modul arxitekturası, DI, testlərlə (Unit + UI + Snapshot) — bu dərin anlayışı göstərəcək və müsahibədə arqument olacaq.
| Həftə | Nə etməli | Nəticə |
|---|---|---|
| 1-2 | Nəzəriyyənin təkrarı: dil (Kotlin/Swift), platforma (Android/iOS), alqoritmlər (big O, əsas strukturlar) | Əsas mövzular üzrə konspekt |
| 3-4 | LeetCode: 100-150 tapşırıq, mövzular: Arrays, Hash Maps, Trees, DFS/BFS, DP | Medium tapşırıqların əmin həlli |
| 5-6 | System Design: „Designing Data-Intensive Applications“ oxumaq, 5-7 dizayn praktikası | System Design üçün hazır cavab şablonu |
| 7-8 | Mock müsahibələr (5-10 müsahibə), platforma suallarının təkrarı, davranış sualları | Real müsahibəyə tam hazırlıq |
Səhv 1: səssiz həll. Namizəd kodu səssizcə yazır, düşüncə axınını şərh etmir. Müsahibə aparan həll prosesini qiymətləndirə bilmir. Düzgün: hər addımı səslə söyləmək — „Görürəm ki, tapşırıq qrafın axtarışına gəlir. BFS-dən istifadə etməyi təklif edirəm, çünki ən qısa yolu tapmaq lazımdır“. Belə ünsiyyət müsahibə aparana səhv zamanı namizədi istiqamətləndirmək imkanı verir ki, bu da müsbət qiymətləndirilir.
Səhv 2: dərhal kod yazmaq. Tələbləri dəqiqləşdirmədən və yanaşmaları müzakirə etmədən kod yazmağa başlamaq — uğursuzluğun əsas səbəblərindən biridir. Kod yazmazdan əvvəl: giriş/çıxış məlumatlarını dəqiqləşdirmək, künc hallarını müzakirə etmək, Big O qiymətləndirməsi ilə 2-3 yanaşmanı müqayisə etmək və yalnız müsahibə aparanla razılaşdıqdan sonra optimal həlli yazmaq lazımdır. Düzgün nümunə: Clarify → High-level approach → Big O → Write code → Test with examples → Discuss trade-offs.
Səhv 3: platformanı bilməmək. Namizəd alqoritmləri əla həll edir, lakin Activity və Fragment arasındakı fərqi və ya Swift-də weak/unowned arasındakı fərqi izah edə bilmir. Mobil vakansiyalar üçün platforma bilikləri alqoritmlərlə bərabər qiymətləndirilir. Öyrənin: SDK versiyalarının fərqləri (compileSdk vs minSdk vs targetSdk), məşhur kitabxanalar üçün ProGuard/R8 qaydaları, Swift Concurrency (async/await, actors) və MainActor. Hər üçüncü iOS namizədi ARC ilə bağlı suallarda uğursuz olur.
Tez-tez verilən suallar
Standart tur sayı 3-5-dir: HR skrininqi (30 dəqiqə), alqoritmlər (60 dəqiqə), arxitektura/sistem dizaynı (60 dəqiqə), davranış müsahibəsi (45 dəqiqə), komanda rəhbəri ilə final turu (60 dəqiqə). Startaplarda 2-3 tur ola bilər, böyük şirkətlərdə (Google, Meta) — 6 tura qədər. Ümumi müddət müsahibə dövrü — şirkətdən asılı olaraq 2 həftədən 6 həftəyə qədər.
Top 5 mövzu alqoritmik müsahibə üçün: dinamik proqramlaşdırma (18% tapşırıq), qraflarda DFS/BFS (14%), Two Pointers (12%), Sliding Window (10%), Binary Search (8%). FAANG-da müsahibədən keçmək üçün LeetCode-də 250-400 tapşırıq həll etmək tövsiyə olunur. Medium səviyyəsi — məcburi minimum. Senior vəzifələri üçün ağaclar və prioritet növbələr üzrə tapşırıqlar əlavə olunur.
Bir aylıq plan: həftə 1 — dilin və platformanın təkrarı (Kotlin/Swift dili, əsas kitabxanalar, həyat dövrləri). Həftə 2 — LeetCode Medium (100 tapşırıq, mövzular: Arrays, Hash Maps, Trees). Həftə 3 — mobil tətbiqlər üçün System Design (keş, paginasiya, offline-first). Həftə 4 — mock müsahibələr (Pramp və ya həmkar ilə minimum 3). Əsas məsləhət: mock müsahibələri real şəraitə yaxın keçin — deadline, tanış olmayan müsahibə aparan, onlayn lövhə.
Junior: 1-2 tur, əsas alqoritmlər (reverse string, fizzbuzz, basic tree traversal), dil və platforma əsasları ilə bağlı suallar. Middle: 2-3 tur, Medium alqoritmlər, arxitektura sualları (MVP/MVVM), şəbəkə və keş ilə iş. Senior: 4-5 tur, Hard alqoritmlər, System Design, bütün tətbiqin arxitekturası, CI/CD, code review, liderlik və mentorluq haqqında davranış sualları. Senior-un özü suallar verməsi və müzakirə aparması gözlənilir.
Nümunə suallar: „Komandada münaqişə haqqında danışın və onu necə həll etdiniz“, „Hansı funksiya ən çətin idi və niyə“, „Niyə məhz bizdə işləmək istəyirsiniz“, „Komandada prosesləri yaxşılaşdırmaq üçün nə etdiniz“. Strukturlaşdırılmış cavab üçün STAR metodundan (Situation, Task, Action, Result) istifadə edin. Əvvəlcədən təcrübənizdən 3-4 hekayə hazırlayın — bu, davranış suallarının 80%-ni əhatə edir.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun