Bloga dön

Java Geliştirici İşe Almadan Önce 5 Soru

Beş Java mülakat sorusu: eşzamanlılık, koleksiyon seçimi, canlı ortam hata ayıklama, tutarlılık sınırları ve orta düzey işe alımda teslimat ödünleşimleri.

Diğer diller: EnglishPolskiDeutschSuomi

Karanlık bir veri merkezinde yan yana dizilmiş, ışıklı sunucu rafları
Fotoğraf: wige, Pixabay

Java, Stack Overflow 2025 Developer Survey anketinde kurumsal alanın temel dili olmaya devam ediyor. Birçok aday özgeçmişinde Spring ve Java’yı listeliyor; ancak daha azı eşzamanlılık altında servislerin doğruluğunu nasıl koruduğunu gösteriyor. r/ExperiencedDevs ve r/java orta düzey başlıklarındaki temalar, JVM ayrıntılarından çok canlı ortam yargısına önem veriyor.

Bu beş soru eşzamanlılık deneyimini, koleksiyon seçimlerini, uzaktan hata ayıklamayı, tutarlılık sınırlarını ve ödünleşimleri ortaya çıkarır; wait/notify bilgi yarışmalarını değil.

1. “Çözdüğünüz bir yarış koşulu (race condition) ya da thread pool sorununu anlatın. ExecutorService (veya benzeri) bunda nasıl rol oynadı?”

Güçlü adaylar belirtiyi, paylaşılan durumu ve çözümü adlandırır (kilitler, değişmezlik veya kuyruklama). Zayıf yanıtlar, bir olay olmadan thread teorisini ezberden tekrarlar.

2. “Geliştirdiğiniz eşzamanlı bir kullanım senaryosu için hangi koleksiyonu (ya da eşzamanlı koleksiyonu) seçtiniz? Neden o?”

Erişim desenine uygunluk istiyorsunuz: map mi list mi, ConcurrentHashMap mi yoksa synchronized sarmalayıcılar mı? Zayıf yanıtlar her durumda varsayılan olarak ArrayList kullanır.

3. “Yerelde yeniden üretemediğiniz bir canlı ortam sorununda nasıl hata ayıklarsınız?”

Log kayıtlarını, metrikleri, istek kimliklerini, heap veya thread dump’larını ve güvenli geri alma (rollback) işlemini dinleyin. Güçlü adaylar gerçek bir vakayı anlatır. Zayıf yanıtlar süreç olmadan yalnızca “daha fazla log ekleriz” der.

4. “Geliştirdiğiniz bir serviste bir işlemi (transaction) veya tutarlılık sınırını adım adım anlatın.”

Çerçeveyi derinlemesine bilmek şart değil; örnek olarak Spring de kabul edilebilir. İyi yanıtlar birlikte commit edilenleri, yeniden denemeleri ve hata modlarını kapsar. Zayıf yanıtlar yalnızca @Transactional ifadesini adlandırır.

5. “Java ile geliştirdiğiniz bir özelliği anlatın. Hangi ödünleşimleri kabul ettiniz?”

Önceliklendirmeyi öğrenirsiniz. Güçlü adaylar gecikmeyi, karmaşıklığı ve işletilebilirliği tartar. Zayıf yanıtlar kararlar olmadan çerçeveleri listeler.

Yanıtları karşılaştırılabilir kanıta dönüştürün

Her finalist için bir eşzamanlılık olayı, bir koleksiyon gerekçesi, yeniden üretilmesi zor bir hata ayıklama ve canlıya alınmış bir ödünleşim kaydedin.

Her finalist için tek değerlendirme kartı

Bu açık pozisyon için her adaya aynı beş soruyu sorun. Tutarlı sorular tutarlı değerlendirmeyi destekler; bu da EEOC’nin işverenlere, aynı pozisyondaki başvuranlara aynı standartları uygulama yönündeki rehberiyle uyumludur (EEOC).

Canvider JobCraft ile Java servis kapsamını iş ilanında tanımlayın, InterviewGen ile boşluk odaklı takip soruları hazırlayın ve DecisionHelper ile finalistleri yayınladığınız kriterlere göre karşılaştırın.

Sonraki adım: InterviewGen’i keşfedin ve DecisionHelper’ı inceleyin, ardından ücretsiz başlayın.