Güncel Yazılım Mülakat Soruları ve Cevap Anahtarları
26 Mart 2025
Yazılım dünyasında teknik mülakatlar, sadece bilgi düzeyinizi değil, problem çözme ve iletişim becerilerinizi de ölçen bir platformdur. Bu yazıda, güncel yazılım geliştirici pozisyonları için sıkça sorulan teknik mülakat sorularını kapsamılı bir şekilde ele aldık.
SEO uyumlu olacak şekilde hazırlanan bu içerik, hem adaylar için bir rehber niteliğindedir hem de blog sahipleri için değerli bir kaynak olabilir.
📊 C# ve .NET Temelli Mülakat Soruları
✔️ Değer Tipleri ve Referans Tipleri Nedir?
Soru: ref ve out anahtar sözcüklerinin farkı nedir? string neden referans tiptir?
Açıklama: C#'ta int, bool, struct gibi tipler value type iken, class, array, string gibi tipler reference type'tır. Bu fark, bellekte saklanma ve aktarım şekillerini etkiler.
Örnek:
void Degistir(ref int x) {
x = 10;
}
✔️ Encapsulation (Kapsülleme) Nedir ve Neden Önemlidir?
Soru: Private alanları dışarıdan erişilemez hale getirmenin avantajı nedir?
Açıklama: Nesne yönelimli programlamanın temel ilkelerinden biridir. Verinin dışarıdan kontrolsüz şekilde erişilmesini engeller.
Örnek:
public class Kullanici {
private string _sifre;
public string Sifre {
get { return "***"; }
set { _sifre = value; }
}
}
✔️ Abstract Class vs Interface
Soru: Hangi durumlarda interface, hangi durumlarda abstract class tercih edilir?
Açıklama:
- Interface: Sözleşme sunar, birden fazla interface implement edilebilir.
- Abstract Class: Davranış içerir, kalıtım sunar.
Örnek:
public interface ILoglanabilir { void Log(); }
public abstract class Hayvan { public abstract void SesCikar(); }
✔️ Garbage Collector (GC) Nedir?
Soru: Manual bellek yönetimi yapabilir misiniz?
Açıklama: .NET bellek yönetimini otomatik yapar ama IDisposable ile kaynaklar manuel olarak temizlenebilir.
Örnek:
using(var dosya = new FileStream("log.txt", FileMode.Open)) {
// otomatik temizlenir
}
🚀 ASP.NET Core ve MVC Mülakat Soruları
✔️ MVC Yaşam Döngüsü Nasıl İşler?
Soru: Bir HTTP isteği sunucuya geldiğinde hangi adımlar gerçekleşir?
Açıklama: Request > Routing > Controller > Action > View şeklinde ilerler.
✔️ Routing Mekanizması ve Özel Rotalar
Soru: Attribute routing nedir, ne zaman tercih edilir?
Örnek:
[Route("api/kullanicilar/{id}")]
public IActionResult GetById(int id) {...}
✔️ Middleware Nedir?
Soru: Custom bir middleware yazar mısınız?
Örnek:
public class LogMiddleware {
public async Task Invoke(HttpContext context) {
Console.WriteLine($"Gelen: {context.Request.Path}");
await _next(context);
}
}
🔧 Frontend Teknolojileri: HTML, CSS, JS, Vue ve Angular
✔️ HTML/CSS/JS Temelleri
Soru: Flexbox ve Grid arasındaki farklar nelerdir?
Örnek:
.container { display: flex; justify-content: space-between; }
✔️ Vue.js ve Angular Kullanımı
Soru: Vuex veya Angular servisleriyle state yönetimini nasıl yaparsınız?
Örnek: Vuex ile global state:
export const store = createStore({ state: { sayac: 0 } });
🚪 Web Servisleri ve Mikroservis Mimarisi
✔️ RESTful API ve gRPC
Soru: REST yerine gRPC kullanmanın avantajları nelerdir?
Açıklama: Performans, binary protokol, kontrat bazlı iletişim (protobuf)
✔️ Mikroservis Yapısı Nedir?
Soru: Event-driven mikroservis tasarımı nasıl gerçekleştirilir?
Açıklama: Kafka, RabbitMQ gibi mesajlaşma sistemleri kullanılır.
📂 Veritabanı Bilgisi ve Performans
✔️ Index Kullanımı
Soru: Clustered ve Non-clustered index farkı nedir?
Örnek: Clustered index fiziksel sıralamayı belirler.
✔️ varchar vs nvarchar
Soru: Neden her kolon nvarchar olmamalıdır?
Açıklama: nvarchar daha fazla yer kaplar, sadece Unicode destekli veriler için kullanılmalıdır.
✔️ ORM Kullanımı (EF Core, Dapper)
Soru: Lazy loading nedir, performansa etkisi nedir?
Açıklama: Verinin ihtiyaç duyulana kadar yüklenmemesi.
Örnek:
context.Kullanicilar.Include(k => k.Roller).ToList();
🏗️ Yazılım Mimarisi ve En İyi Pratikler
✔️ SOLID Prensipleri
Soru: Open/Closed prensibini açıklar mısınız?
Açıklama: Kod geliştirilmeye açık, değiştirilmeye kapalı olmalıdır.
Örnek: Strategy Pattern kullanımı.
✔️ CQRS ve DDD Yaklaşımı
Soru: CQRS ve Mediator pattern arasındaki ilişki nedir?
Açıklama: Komut ve sorguları ayırarak karmaşıklığı azaltma yöntemidir.
🔹 Son Söz: Mülakatlara Nasıl Hazırlanmalı?
- Gerçek projelerden örnekler hazırlayın.
- Kodlama pratiği yapın (LeetCode, HackerRank).
- Takım içi iş birliğinizi vurgulayın.
Yorumlar