Mülakat

React Native & JavaScript Mülakat Soruları — Seviye 4 (İleri)

MülakatNew ArchitectureHermesSeviye 4

New Architecture, JSI, Fabric, Hermes ve OTA (mağazasız güncelleme) üzerine 20 ileri seviye soru-cevap.

EG

Emre Gürbüz

5 Ağustos 2026 · 4 dk okuma

Seviye 4, New Architecture (yeni mimari) ve runtime (çalışma zamanı) katmanına odaklanır. JSI, Fabric, Turbo Modules, Hermes bytecode ve OTA gibi production kararlarını mülakat diline, anlaşılır Türkçeyle çevirir.

Seviye 4 — İleri · Sorular 61–80 / 100

Bu serideki seviyeler

Soru 61

JSI nedir, bridge’den farkı nedir?

JSI (JavaScript Interface), JS motoruna gömülü C++ çağrılarıdır; JSON köprü kuyruğu yoktur. Senkron çağrı mümkün olur ama JS thread’i uzun süre meşgul etme riski doğar. New Architecture ve Reanimated’ın zemini JSI’dır.

Soru 62

Host object yaşam süresi (lifetime) neden kritik?

JS çöp toplayıcı (GC) ile native bellek aynı anda temizlenmez. Yanlış tasarım use-after-free (silinmiş belleği kullanma) veya sızıntı üretir. Destroy sırası ve thread aidiyeti Spec’in parçasıdır.

Soru 63

Bridgeless (köprüsüz) mod ne demek?

Merkezi async bridge’in kalkması; native çağrıların JSI üzerinden yapılmasıdır. Tam geçiş için Turbo Modules + Fabric ve bağımlılık uyumu gerekir.

Soru 64

Codegen Spec’in değeri nedir?

Native API sözleşmesini derleme zamanına taşır: metotlar, tipler, event’ler. Runtime sürprizini azaltır. Spec kayarsa genelde build kırılır — bu iyidir.

Soru 65

Static Hermes / AOT ne vaat eder?

Daha fazla işi build zamanına çekerek cihazdaki parse/compile maliyetini düşürmeyi hedefler. Dil/tooling kısıtları vardır; “aç ve unut” değildir.

Soru 66

Hermes bytecode ile OTA uyumu neden önemli?

OTA (Over-The-Air: mağazasız JS güncelleme), native binary ile uyumlu bundle dağıtmalıdır. Native modül değiştiyse OTA yetmez, mağaza sürümü gerekir. Geri alma (rollback) politikası şarttır.

Soru 67

Fabric mounting layer’da ne olur?

Shadow tree değişiklikleri gerçek native view hiyerarşisine yazılır (commit). Concurrent render ile yarış durumları sözleşme ile yönetilir. Özel view’larda prop diff hataları sık kök nedendir.

Soru 68

Reanimated worklet kuralları (UI thread) neler?

Worklet’ler UI runtime’da çalışır; JS tarafındaki her şeyi serbestçe yakalayamazsınız. Shared value semantiği ve “JS’e sıçrama” maliyetini bilmek gerekir.

Soru 69

New Architecture migrasyonu nasıl planlanır?

Bağımlılık envanteri → kritik native yüzeyleri Spec’e alma → interop ile kademeli açma → metrik (çöküş/TTI/jank) → varsayılan yapma. Büyük uygulamada tek seferde flag çevirmek risklidir.

Soru 70

Interop katmanının borcu nedir?

Eski ve yeni mimarinin yan yana yaşamasını sağlar ama çift maliyet ve kenar hatalar üretir. Geçici köprüdür; kalıcı mimari sanılmamalı, kapanış tarihi planlanmalıdır.

Soru 71

MMKV gibi JSI depolama neden AsyncStorage’dan hızlı?

Çoğu işlem JSI ile köprü JSON maliyeti olmadan, daha doğrudan native store üzerinden gider. Yine de devasa işlerle ana thread’i kilitlemeyin; parçalayın.

Soru 72

Vision Camera frame processor modeli neden farklı?

Kareler klasik bridge’e gitmeden worklet/JSI yolunda işlenebilir. Gerçek zamanlı kamera/CV için şarttır; yanlış thread veya fazla kopya kare düşürür.

Soru 73

Mobilde microfrontend gerçekçi mi?

Web kadar olgun değil. OTA + paket sınırlarıyla denemeler var ama versiyonlama, native bağımlılık ve güvenlik maliyeti yüksek. Çoğu ekip için erken optimizasyondur.

Soru 74

Uygulama boyutu (binary size) nasıl küçültülür?

Kullanılmayan native bağımlılık temizliği, asset bakımı, Hermes, resource shrink, Android App Bundle. Ölçüm olmadan “küçüldü” demeyin.

Soru 75

Brownfield (mevcut native uygulamaya RN ekleme) zorlukları?

Navigasyon sahipliği, bağımlılık çakışması, uzun build, tek süreçte çoklu RN runtime. Entegrasyon yüzeyini küçük tutmak başarıyı artırır.

Soru 76

Deterministik build ve supply chain neden önemli?

Lockfile, private registry, checksum, imzalı artifact. Her npm install’ın farklı sonuç vermesi release riskidir. CI’da npm ci gibi sabit kurulum standarttır.

Soru 77

Feature flag + OTA + mağaza incelemesi dengesi?

Mağazalar yanıltıcı/gizli davranışı reddedebilir. Flag ile riskli native özelliği saklamak yerine guideline’a uygun rollout gerekir.

Soru 78

Crash aracında symbolication neden kırılır?

Eksik dSYM / mapping / source map, OTA bundle eşleşmemesi. Her sürüm artifact’ı arşivlenmezse canlı stack okunamaz.

Soru 79

Concurrent React’in Fabric ile anlamı nedir?

Render kesilip önceliklendirilebilir; UI tutarlılığı Fabric sözleşmesine daha çok dayanır. Eski Paper varsayımlı native UI kodu kenar durumlarda bozulabilir.

Soru 80

Ne zaman “React Native doğru seçim değil” dersiniz?

Aşırı platforma özgü fizik/UI, ağır 3D/oyun, çok sıkı realtime native toolchain, derin native ihtiyaç varken ekipte native kapasite yokluğu. Dogma değil tradeoff (ödünleşme) anlatın.


Önceki / sonraki seviye

Tüm mülakat seviyeleri

Diğer yazılar