Quick Reference

Mülakat Öncesi Hızlı Bakış (Cheat Sheet)

Mülakata girmeden son 10 dakikada göz gezdirebileceğin özet anahtar kelimeler, kurtarıcı yanıtlar ve tuzaklar.

Kavram & Terim Teknoloji Kısa & Net Özet Mülakat Tuzağı
Mimari & DI
.NET Core (C#) Orta

.NET IoC konteynerine bir nesneyi ne sıklıkla üretip ne zaman çöpe atacağını söyleme kuralı.

"Transient her enjeksiyonda yeni nesne üretir. Scoped gelen her HTTP request boyunca tek bi..."
Singleton bir servisin içine Scoped bir servis (örn: DbContext) enjekte etmek! Buna "Capti...
Asenkron
.NET Core (C#) Orta

Uzun süren veritabanı veya HTTP isteklerinde işlemci çekirdeğini (thread) kilitlemeden serbest bırakmaktır.

"Async/Await yeni bir thread açmak demek değildir; I/O bekleme süresinde thread'i serbest b..."
Asenkron metodu Task.Result ile çağırmak ASP.NET SynchronizationContext ortamında Deadlock...
Veritabanı & ORM
.NET Core (C#) Orta

Sadece okuma yapacağın sorgularda EF Core'un hafıza takip mekanizmasını kapatıp performansı 3 katına çıkarmaktır.

"AsNoTracking(), veritabanından sadece okuma yapılacak (güncelleme yapılmayacak) sorgularda..."
AsNoTracking() ile çekilen bir nesnenin property'sini değiştirip _context.SaveChangesAsync...
Mimari & DI
PHP (Laravel) Orta

Tüm sınıfların bağımlılıklarını tek merkezden yöneten ve otomatik enjekte eden sihirli kutudur.

"Service Container, Laravel'de sınıfların bağımlılıklarını otomatik olarak çözümleyen (Depe..."
Sınıf içinde "new StripePaymentGateway()" yazarak bağımlılığı sıkı bağlamak (Tight Couplin...
Veritabanı & ORM
PHP (Laravel) Temel

Döngü içinde her satır için veritabanına ayrı ayrı koşup MySQL sunucusunu boğma hatasıdır.

"N+1 problemi, ilişkili model verilerinin döngü içinde her seferinde ekstra bir SQL sorgusu..."
Laravel Debugbar veya Telescope kullanmadan production'a çıkmak ve arka planda yüzlerce so...
Mimari & DI
Java (Spring Boot) Orta

Java nesnelerinin (Bean) doğumundan ölümüne kadar tüm hayatını Spring'in yönetmesidir.

"Spring IoC Container, uygulamanın nesnelerini (Bean) oluşturan, yapılandıran ve bağımlılık..."
Alan bazlı (@Autowired private UserRepository repo;) injection kullanmak; sınıfın test edi...
Veritabanı
Java (Spring Boot) İleri

Metot içindeki bir veritabanı işlemi patlarsa yapılan her şeyi sessizce geri sarmaktır.

"@Transactional, veritabanı işlemlerini atomik bir birim haline getirir. Spring arka planda..."
Checked exception (örn: IOException) fırlatıldığında varsayılan olarak rollback OLMADIĞINI...
Asenkron & Çekirdek
Node.js (NestJS / Express) İleri

Tek bir iş parçacığının (Single Thread) binlerce isteği hiç tıkanmadan koordine etme sırrıdır.

"Node.js tek iş parçacıklı bir Event Loop modeli üzerine kuruludur. Non-blocking I/O operas..."
CPU-intensive (ağır hesaplama/görüntü işleme) işlerini ana thread'de yapmak. Bu durumlarda...
Performans & Paralellik
Node.js (NestJS / Express) İleri

Cluster: Fabrikanın aynısından yan yana 4 tane kurmak. Worker Threads: Tek fabrikanın içine 4 işçi almak.

"Cluster modülü çok çekirdekli sunucularda HTTP isteklerini process düzeyinde yük dengeleme..."
Cluster kullandığınızda bellek (RAM) paylaşılmaz! Bir process'teki değişkeni diğerinde oku...
Mimari & DI
.NET Core (C#) Orta

.NET IoC konteynerine bir nesneyi ne sıklıkla üretip ne zaman çöpe atacağını söyleme kuralı.

"Transient her enjeksiyonda yeni nesne üretir. Scoped gelen her HTTP request boyunca tek bi..."
Singleton bir servisin içine Scoped bir servis (örn: DbContext) enjekte etmek! Buna "Capti...
Asenkron & Concurrency
.NET Core (C#) İleri

Uzun süren veritabanı veya HTTP isteklerinde işlemci çekirdeğini (thread) kilitlemeden serbest bırakmaktır.

"Async/Await yeni bir thread açmak demek değildir; I/O bekleme süresinde thread'i serbest b..."
Asenkron metodu Task.Result veya .Wait() ile çağırmak ASP.NET SynchronizationContext ortam...
Veritabanı & ORM
.NET Core (C#) Orta

Sadece okuma yapacağın sorgularda EF Core'un hafıza takip mekanizmasını kapatıp performansı katlamaktır.

"AsNoTracking(), veritabanından sadece okuma yapılacak sorgularda Change Tracker yükünü ort..."
AsNoTracking() ile çekilen bir nesnenin property'sini değiştirip _context.SaveChangesAsync...
Bellek & Performans
.NET Core (C#) İleri

.NET runtime'ın hafızayı 3 jenerasyon ve 85KB üzeri dev nesneler olarak temizleme motorudur.

"GC otomatik bellek yönetimi yapar ancak veritabanı bağlantısı, dosya akışı gibi unmanaged..."
using bloğu kullanmayıp SqlConnection veya HttpClient nesnelerini kontrolsüzce havada bıra...
Ağ & Performans
.NET Core (C#) İleri

Her istekte "new HttpClient()" yazarak sunucunun tüm TCP soketlerini tüketip çökertme hatasıdır.

"HttpClient doğrudan new ile üretilirse soket tükenmesine (socket exhaustion), Singleton ya..."
Her istek içinde "using var client = new HttpClient();" yazmak!
Dil & Temel
.NET Core (C#) Temel

Değer kopyalamak mı, adres işaret etmek mi? Değişmez (Immutable) DTO mimarisinin temeli.

"Class referans tipidir, heap'te yaşar. Struct değer tipidir, stack'te yaşar ve boxing/unbo..."
Büyük boyutlu verileri Struct yaparak metotlar arasında sürekli derin kopyalama maliyeti y...
Mimari & Tasarım
.NET Core (C#) İleri

Okuma (Query) ve Yazma (Command) operasyonlarını iki ayrı dünyaya ayırma mimarisidir.

"CQRS, veri okuma ve yazma modellerini ayırarak her birini bağımsız optimize etmeyi sağlar..."
Basit bir CRUD projesinde aşırı mühendislik (over-engineering) yaparak onlarca boş handler...
Bellek & Performans
.NET Core (C#) İleri

String substring veya dizi bölmelerinde yeni kopya üretmeden belleğe doğrudan pencere açmaktır.

"Span<T>, bellek üzerinde sıfır tahsis (zero-allocation) ile dizi veya metin manipülasyonu..."
Span<T>'yi async metotlarda veya Task içinde kullanmaya çalışmak (ref struct olduğu için h...
Asenkron & Kuyruk
PHP (Laravel) İleri

E-posta, SMS, PDF üretimi gibi ağır işleri arka plandaki işçilere (workers) devretmektir.

"Kuyruklar kullanıcıyı bekletmemek ve asenkron işlem yapmak içindir. Redis en popüler drive..."
Job içine devasa nesneler koymak yerine ID geçip handle() içinde taze modeli veritabanında...
Veritabanı & Tutarlılık
PHP (Laravel) İleri

İki kişinin aynı anda son kalan konser biletini veya son ürünü satın almasını engelleme kavgası.

"Yüksek çatışma (high contention) olan stok/bakiye işlemlerinde Pessimistic Lock (lockForUp..."
lockForUpdate() metodunu DB::transaction() bloğu DIŞINDA kullanmak (transaction yoksa lock...
Modern PHP
PHP (Laravel) Orta

PHP'nin eski yavaş algısını yıkan eşzamanlılık (Fibers) ve makine koduna derleme (JIT) devrimleri.

"Modern PHP, Fiber ile hafif asenkron eşzamanlılık, JIT ile matematiksel performans, Attrib..."
Switch-case yerine match kullanırken eşleşmeyen durumlarda UnhandledMatchError fırlatılaca...
JVM & Bellek
Java (Spring Boot) İleri

Java kodunuzun işletim sisteminde nasıl yer kapladığı ve çöplerin nasıl toplandığı.

"Stack LIFO mantığında çalışır ve çok hızlıdır. Heap dinamik tahsis edilen nesneleri barınd..."
Statik koleksiyonlara (List, Map) sürekli nesne ekleyip temizlememek; bu nesneler GC root...
Concurrency
Java (Spring Boot) İleri

1 milyon eşzamanlı isteği sadece birkaç işletim sistemi thread'iyle yönetme devrimi.

"Virtual Threads (Project Loom), Spring Boot'ta reaktif programlamanın (WebFlux) getirdiği..."
Virtual Thread'leri ThreadPool ile havuza almaya çalışmak! Virtual thread'ler tek kullanım...
Veritabanı & ORM
Java (Spring Boot) Orta

Aynı nesneyi aynı transaction içinde veritabanından tekrar tekrar sormayı önleyen tampon bellek.

"1st level cache Session seviyesinde varsayılan açıktır. N+1 sorununu çözmek için JPQL JOIN..."
FetchType.EAGER kullanarak her ilişkide gereksiz devasa tabloları JOIN yapmak. Standart he...
Mimari & Tasarım
Node.js (NestJS / Express) Orta

Node.js dünyasına Spring Boot ve Angular benzeri kurumsal kurallar nizamı getirmek.

"Guard yetkilendirme (RBAC/JWT) yapar ve boolean döner. Pipe gelen veriyi doğrular veya dön..."
İş mantığını Controller içine yığmak. Tüm iş mantığı Service katmanında olmalıdır.
Bellek & I/O
Node.js (NestJS / Express) İleri

10 GB'lık log dosyasını 50 MB RAM kullanarak saniyeler içinde okuyup sıkıştırma sanatı.

"Stream'ler büyük veri akışlarında RAM tüketimini sabit tutar. Backpressure, okuma hızı yaz..."
Büyük dosya transferlerinde res.send(fs.readFileSync(file)) kullanmak ve sunucunun RAM'ini...
TypeScript
Node.js (NestJS / Express) İleri

Kod yazarken değil, derleme aşamasında tip üreten metaprogramlama sihirbazlığı.

"TypeScript tip sistemi Turing-complete'tir. "infer" kelimesi, bir generic tipin içindeki d..."
Tembellik edip her yere "any" basmak ve TypeScript'in tip güvenliği avantajını tamamen çöp...
Concurrency & Çekirdek
Go (Golang) İleri

Go'nun 2 KB bellek ile milyonlarca mikro iş parçacığını yönetme sırrı: G, M, P.

"Go scheduler işletim sistemi çekirdeğinde değil, kullanıcı alanında (User-space) çalışan i..."
Goroutine Leaks: Kapanmayan bir kanalı sonsuza dek bekleyen goroutine'lerin RAM tüketerek...
Eşzamanlılık
Go (Golang) Orta

"Belleği paylaşarak iletişim kurma; iletişim kurarak belleği paylaş!"

"Unbuffered kanallar kesin senkronizasyon garantisi verirken, Buffered kanallar kuyruk işle..."
Kapalı bir kanala (closed channel) veri yazmaya kalkışarak programı panikletmek (panic: se...
Mikroservis & Yaşam Döngüsü
Go (Golang) Orta

Kullanıcı sayfayı kapattığında arkadaki tüm veritabanı sorgularını anında iptal etme emri.

"Context, dağıtık sistemlerde kaynak israfını önleyen en kritik Go yapısıdır. Bir HTTP iste..."
defer cancel() çağırmayı unutarak context kaynaklarının bellekten temizlenmesini engelleme...
Bellek & Derleyici
Go (Golang) İleri

Go derleyicisinin "Bu değişken fonksiyondan kaçtı mı?" dedektifliği.

"Stack tahsisleri sıfır maliyetlidir çünkü fonksiyon bitince Stack pointer geri çekilir. He..."
Her şeyi pointer ile dönmenin her zaman daha hızlı olduğunu sanmak; bazen küçük struct'lar...
Çekirdek & Performans
Python (FastAPI & Django) İleri

CPython'un tek seferde sadece tek bir thread'in bytecode çalıştırmasına izin veren koruma kilidi.

"GIL, CPython'un bellek güvenliği için koyduğu bir kilittir. Ağ ve veritabanı beklemesi gib..."
FastAPI async endpoint'i içinde bloklayıcı time.sleep() veya requests.get() çağırarak tüm...
Modern Web & API
Python (FastAPI & Django) Orta

Flask kolaylığı + Go performansı + otomatik Swagger dokümantasyonu.

"FastAPI, Python tip ipuçlarını (type hints) kullanarak tek seferde hem veri doğrulaması (P..."
Pydantic modelini veritabanı ORM modeli sanmak; Pydantic veri transferi (DTO/Validasyon) i...
Dil & Verimlilik
Python (FastAPI & Django) Orta

10 milyon satırlık veriyi RAM'e tek seferde yüklemeden yudum yudum işleme sanatı.

"Generator'lar Python'da Iterator protokolünü uygulayan özel fonksiyonlardır. range() fonks..."
Bir generator'ı [x for x in my_generator()] diyerek tekrar listeye çevirip tüm bellek avan...
Veritabanı & ORM
Python (FastAPI & Django) Orta

Django'da N+1 sorgu felaketini önleyen iki can simidi.

"Bire-bir ve bire-çok ilişkilerde tek JOIN ile çekmek için select_related(); çoğa-çok veya..."
ManyToMany ilişkilerinde select_related() kullanmaya çalışmak (Django izin vermez, hata fı...