Mülakat

React Native & JavaScript Mülakat Soruları — Seviye 1 (Kolay)

MülakatJavaScriptReact NativeSeviye 1

JavaScript ve React Native temellerini sade dille anlatan 20 kolay soru-cevap. Yeni başlayanlar ve hızlı tekrar için.

EG

Emre Gürbüz

8 Ağustos 2026 · 5 dk okuma

Bu seri, React Native ve JavaScript mülakatlarına hazırlanmak için kolaydan zora doğru ilerleyen 5 yazıdan oluşuyor. Bu ilk yazıda temelleri sade dille netleştiriyoruz: dilin temel kuralları, React düşünce modeli ve mobil geliştirmenin ilk katmanı.

Seviye 1 — Kolay · Sorular 1–20 / 100

Bu serideki seviyeler

Soru 1

JavaScript’te var, let ve const farkı nedir?

var eski değişkendir; işlev (function) içinde her yerden görünür ve “yukarı taşınma” (hoisting) ile başta undefined olur. let ve const ise süslü parantez bloğuna bağlıdır (block-scoped). const ile bağlanan isme yeni değer atanamaz; ama dizi/obje içeriği değiştirilebilir (arr.push(1) gibi). Günlük kodda önce const, gerekirse let; var kullanmayın.

Soru 2

== ile === arasındaki fark nedir?

== karşılaştırırken tipi zorla çevirir (coercion). === hem tipi hem değeri kontrol eder. Örnek: 0 == false true çıkar, 0 === false false çıkar. Beklenmeyen eşitlikleri önlemek için her zaman === / !== kullanın.

Soru 3

Primitive (ilkel) ve reference (referans) tipler nedir?

Primitive’ler (string, number, boolean, null, undefined, symbol, bigint) kopyalanırken değer gider. Obje, dizi ve fonksiyon ise referansla tutulur; atama aynı belleği paylaşır. Bu yüzden const kisi = {ad:"A"}; const x = kisi; x.ad="B" yazınca kisi de değişir.

Soru 4

null ile undefined farkı nedir?

undefined “henüz değer verilmedi / tanımsız” demektir. null ise “bilinçli olarak boş” demektir. Not: typeof null === "object" eski bir dil hatasıdır. API’lerde “bilerek yok” için null, “daha set edilmedi” için undefined yaygındır.

Soru 5

Arrow function (ok fonksiyon) ile normal function farkları nedir?

Arrow function’ın kendi this’i yoktur; tanımlandığı yerdeki this’i kullanır (lexical this). Ayrıca arguments objesi yoktur ve new ile sınıf gibi oluşturulamaz. Callback’lerde this kaybını önlemek için sık tercih edilir.

Soru 6

React Native nedir? Web React’ten temel farkı nedir?

React Native, React’in bileşen modeliyle gerçek native arayüz çizer (View/Text; web’deki div/span değil). Tarayıcı DOM’u yoktur; yerleşim (layout) Yoga ile, görünen şeyler ise iOS/Android native view’lardır. Stil çoğunlukla StyleSheet, gezinme ve jestler platforma özgüdür.

Soru 7

JSX nedir?

JSX, arayüzü JavaScript içinde yazmanızı sağlayan sözdizimidir. Derleyicide (Babel) normal fonksiyon çağrılarına dönüşür. React Native’de de aynı dönüşüm vardır; sonuç native bileşen ağacı olur.

Soru 8

Component (bileşen) nedir? Functional ile class farkı?

Bileşen, yeniden kullanılabilir bir arayüz parçasıdır. Class bileşenler eski lifecycle (yaşam döngüsü) metodlarıyla çalışır. Functional bileşen + hooks bugünün standardıdır; yeni kodda functional tercih edilir.

Soru 9

Props nedir?

Parent (üst) bileşenden child (alt) bileşene geçen, salt okunur veridir. Alt bileşen props’u değiştirmemelidir. Değişiklik gerekiyorsa üstteki state güncellenir veya callback (geri çağırım) prop ile yukarı haber verilir.

Soru 10

State nedir?

Bileşenin zamanla değişen yerel verisidir; değişince ekran yeniden çizilir (re-render). useState ile tutulur. Doğrudan state.x = 1 demek yerine setter ile yeni değer verilir.

Soru 11

useState temelde nasıl çalışır?

const [value, setValue] = useState(baslangic)setValue çağrılınca React yeniden çizmeyi planlar. Başlangıç değeri yalnızca ilk mount’ta (ilk kurulumda) kullanılır. Eski değere bağlı güncellemede setValue(v => v + 1) stale closure (eski değeri yakalama) riskini azaltır.

Soru 12

StyleSheet.create ne işe yarar?

Stilleri bir kez tanımlayıp sabit referans verir. Her render’da yeni {margin:8} objesi üretmekten iyidir. Okunabilirlik artar. Dinamik stillerde StyleSheet + o an hesaplanan alanlar birleştirilir.

Soru 13

Flexbox React Native’de varsayılan nasıl davranır?

RN’de varsayılan yön column’dur (dikey; web’de çoğu zaman yataydır). flex: 1 kalan boşluğu doldurur. Mobil yerleşimin omurgası Flexbox + Yoga motorudur.

Soru 14

TouchableOpacity / Pressable ne için kullanılır?

Dokunma (tap) etkileşimi içindir. Pressable daha yenidir: basılı durumu, hitSlop (dokunma alanını büyütme) gibi seçenekler sunar. Erişilebilirlik için accessibilityLabel ekleyin.

Soru 15

Safe Area (güvenli alan) neden önemli?

Çentik, Dynamic Island, alt çizgi (home indicator) gibi sistem bölgelerinde içeriğin kesilmesini önler. SafeAreaView veya react-native-safe-area-context ile kenar boşlukları (inset) uygulanır.

Soru 16

Platform.OS / Platform.select ne işe yarar?

iOS ve Android farklarını dallandırmak için kullanılır. Küçük UI farklarında pratiktir. Büyük farklarda Dosya.ios.tsx / Dosya.android.tsx ayırmak daha temiz olabilir.

Soru 17

ScrollView ne zaman kullanılır?

Kısa ve sınırlı içerik için uygundur. Çok uzun listelerde her şeyi birden yüklediği için uygulamayı yavaşlatır. Uzun listelerde FlatList / SectionList kullanın (ekran dışı öğeleri erteleyerek çizer).

Soru 18

Paket yöneticisi ve Metro’nun rolü nedir?

npm/yarn/pnpm kütüphaneleri yönetir. Metro, React Native’in paketleyici (bundler) aracıdır: dosyaları bulur (resolve), dönüştürür (transform), tek bundle’a yazar (serialize). Geliştirme sunucusu ve mağaza derlemesi bu hattı kullanır.

Soru 19

console.log production’da (canlı sürümde) neden sorun olabilir?

Gereksiz iş yükü, yavaşlık ve bazen hassas veri sızıntısı yaratabilir. Canlıda log seviyesi kısıtlanmalı; hata takibi için düzenli logger / Crashlytics gibi araçlar kullanılmalıdır.

Soru 20

TypeScript React Native’de ne kazandırır?

Prop ve sözleşme hatalarını yazarken (compile-time) yakalar. Refactor (yeniden düzenleme) daha güvenli olur, IDE yardımı artar. any’den kaçınıp domain tipleri yazmak hem mülakat hem kalite için iyidir.


Önceki / sonraki seviye

Tüm mülakat seviyeleri

Diğer yazılar