Dart
Flutter developer interviewlarına hazırlıq üçün Dart dili: null safety, records və pattern matching, class modifiers, mixin-lər, Future/Stream, event loop və isolate-lar. Flutter branch-inin ilkin şərtidir.
Mərhələlər
Dil əsasları
Dart sintaksisinin gündəlik işdə istifadə olunan hissəsi: `var`/`final`/`const` seçimi və compile-time ilə runtime fərqi, funksiya parametrlərinin üç forması və closure-lərin dəyişən tutma qaydası, kolleksiyalar və `Iterable` laziness-i, string-lərin immutability-si və Unicode tələləri, həmçinin Dart 3-ün record-ları və pattern matching imkanları. Mərhələ interview-da ən çox soruşulan tələlərə — `final` ilə `const` fərqi, `int`-in `double` olmaması, lazy zəncirin iki dəfə icrası və `sealed` üzərində exhaustiveness — xüsusi diqqət yetirir.
Null safety və tip sistemi
Dart-ın sound null safety modeli və tip sisteminin dərinliyi: nullable `T?` ilə non-nullable `T` arasındakı fərq, null-aware operatorlar, flow analysis və promotion-un niyə sahələrdə işləmədiyi, `late`-in daxili mexanizmi və lazy initialization, generic-lər, bounded tiplər, kovariantlığın runtime bədəli, həmçinin `==`/`hashCode` müqaviləsi və immutable value object-lər. Bu mövzular Flutter müsahibələrində tip təhlükəsizliyi və model dizaynı sualları kimi qarşına çıxır.
🔓 Tövsiyə: əvvəlcə: Dil əsasları
OOP və dil xüsusiyyətləri
Dart-ın obyekt modelinin müsahibədə ən çox soruşulan hissələri: konstruktorların bütün formaları (factory, const, redirecting, initializer list), Dart 3 class modifiers və sealed class-larla exhaustive switch, mixin-lər və linearizasiya, enhanced enum-lar, həmçinin extension method-lar və onların compile-time həlli. Hər mövzu "bunu müsahibədə necə cavablandırmalı" baxışı ilə yazılıb.
🔓 Tövsiyə: əvvəlcə: Null safety və tip sistemi
Asinxron Dart
Dart-ın asinxron modeli baş-ayaq: Future və async/await, async gap və paralelləşdirmə, stream-lərin əsasları (single-subscription vs broadcast, ləğvetmə öhdəliyi), async* generator-lar və stream transformasiyaları, event loop ilə microtask növbəsi və icra sırası tapmacaları, sonda isə isolate-lər — nə vaxt həqiqətən lazımdır və nəyə başa gəlir.
🔓 Tövsiyə: əvvəlcə: OOP və dil xüsusiyyətləri
Praktika və interview
Branch-in yekun mərhələsi: bilikləri iş prosesinə çevirmək. Asinxron kodda xəta emalı, `package:test` ilə test yazmaq və kodu test edilə bilən qurmaq, pub/pubspec və analyzer ilə gündəlik alət zənciri, klassik Dart tələlərinin səhv-düzgün kataloqu və nəhayət interview-un özü — rapid-fire suallara 20-30 saniyəlik model cavablar və live coding prosesi: dəqiqləşdir, yanaşmanı və mürəkkəbliyi səsləndir, yazarkən danış, dry-run et, trade-off-ları müzakirə et.
🔓 Tövsiyə: əvvəlcə: Asinxron Dart
📚 Mənbələr və sənədlər
- Dart dili üzrə rəsmi sənədlərrəsmidart.dev
Dilin bütün konstruksiyaları — sual yaranan hər yerdə ilk baxılacaq mənbə.
- Effective Dartrəsmidart.dev
Rəsmi üslub və dizayn tövsiyələri; interviewda "niyə belə yazdın?" sualına cavab verir.
- Dart API referencerəsmiapi.dart.dev