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ı...
|