Spring Boot Mülakat Soruları
Yazan: Aaron Cao · Güncellendi

Autoconfiguration ve starter'lar, dependency injection ve bean scope'ları, profile'lar ve dış konfigürasyon, Spring Data JPA, REST controller'lar ve exception handling, testing slice'ları ve Actuator hakkında sorular bekleyin. Senior görüşmelerinde işlem sınırları, caching ve servisin yeniden başlatmalar arasında nasıl davrandığı da eklenir.
Mülakatçılar autoconfiguration ve starter'lar hakkında ne sorar?
Spring Boot'u muhtemelen her gün, başlangıç logunu okumadan kullanıyorsunuz ve mülakatçılar bunu bilir, bu yüzden buradan başlarlar. Bu bölüm, framework'ü mü yoksa yalnızca varsayılanlarını mı anladığınızı test eden soruları kapsar.
@SpringBootApplicationgerçekte neleri birleştirir ve bir parçasını kaldırırsanız ne bozulur?- Autoconfiguration neyi yapılandıracağına nasıl karar verir ve conditional annotation'ların rolü nedir?
- Starter nedir ve içinde dependency'lerin dışında ne vardır?
- Belirli bir autoconfiguration'ı nasıl override eder veya devre dışı bırakırsınız?
- Embedded server nereden gelir ve nasıl değiştirirsiniz?
İyi bir yanıt, mekanizmayı yaptığınız bir şeyle ilişkilendirir: exclude etmek zorunda kaldığınız bir bean, değiştirdiğiniz bir starter ya da condition evaluation report üzerinden izlediğiniz bir başlangıç hatası.
Hangi temel container ve veri soruları çıkar?
- Dependency injection. Constructor'a karşı field injection, constructor injection neden tercih edilir ve aynı tipte iki aday bean nasıl çözülür.
- Bean lifecycle ve scope'lar. Singleton neden varsayılandır, request veya prototype scope ne zaman doğrudur ve bir singleton bean'i paylaşmayı ne güvensiz kılar.
- Konfigürasyon. Property önceliği, environment başına profile'lar ve
@ConfigurationProperties'e karşı dağınık value injection. - Spring Data JPA. Türetilmiş query metodları, N artı 1 problemi, lazy'ye karşı eager fetching ve native query'ye ne zaman inilir.
- İşlemler.
@Transactionalproxy'si gerçekte neyi intercept eder, self-invocation işlemi neden sessizce atlar ve rollback kuralları checked exception'larla nasıl çalışır.
İşlem proxy sorusu, kendinden emin bir yanıtın dağıldığı en yaygın noktadır, bu yüzden annotation'ı adlandırmak yerine proxy sınırını açıklamaya hazır olun.
REST tasarımı, testing ve operasyonlar hakkında nasıl konuşulur?
Container'ın ötesinde, mülakatçılar üretimde karşınıza çıkan kısımları görmek ister. Web katmanında: status code seçimleri, validation ve her controller'da try-catch yerine @ControllerAdvice ile merkezi error handling. Testing'de: tam bir @SpringBootTest ile web-layer test gibi bir slice arasındaki fark ve tek bir controller testi için tüm context'i başlatmanın neden yavaş bir alışkanlık olduğu. Operasyonlarda: Actuator'ın neyi expose ettiği, hangi endpoint'lerin herkese açık olmaması gerektiği ve health check'lerin deployment'ı nasıl beslediği.
Lojistik şirketinde mid-level bir pozisyon için mülakat yapan bir backend mühendisi düşünün. Kendisine, zamanlanmış bir job'ın neden bazen eksik veri yazdığı soruluyor. Tahmin etmek yerine işlem sınırını anlatıyor, job'ın kendi üzerinde transactional bir metod çağırdığını fark ediyor ve bunu atlayan proxy davranışını açıklıyor. Mülakatçı doğrudan teklif görüşmesine geçti, çünkü yanıt ezberlenmiş bir tanım yerine bir debugging alışkanlığı gösteriyordu.
Diğer diller ve framework'ler için soru setleri question banks altında toplanır.
Nasıl pratik yapmalısınız ve canlı bir asistan nereye uyar?
Kendi servisinizin başlangıç logunu bir kez okuyun ve anlatabilir hale gelin. Sonra sesli çalışın, çünkü bir kavramı bilmekle onu kırk saniyede anlatmak arasındaki fark, bu görüşmelerin karar noktasıdır. /mock-interview sayfasındaki bir AI mülakatçı, kendinize sormayacağınız takip sorularını sorabilir.
Sözlü bir video mülakatı sırasında SubcueAI, mülakatçının sorusunu transkribe eder ve sizin tarafınızda önerilen bir yapı gösterir; bu, macOS ve Windows'ta masaüstü overlay'inde ya da Chromium tarayıcı uzantısının yan panelinde olur. Görüşmeye hiçbir meeting bot katılmaz ve toplantı sayfasına hiçbir şey enjekte edilmez. Dürüst sınır kodlama turudur: ekran izlenen veya gözetimli bir platforma geçilirse canlı yardım kapsam dışıdır ve ekranınızı paylaşırsanız üzerindeki her şey görünür.