Soru bankası · Şirket setleri

Goldman Sachs Java Backend mülakatı

Bir adayın raporladığı dört turluk Goldman Sachs Java backend sürecindeki core Java, Spring Boot, SQL, güvenlik ve rate limiter soruları; her biri junior, mid ve senior cevaplarla.

19 soru12 çoktan seçmeli
Konu özeti

Bu set, LinkedIn'de paylaşılmış tek bir aday raporuna dayanıyor. Rapor tarih vermiyor; teklif "38 LPA" olarak geçtiği için pozisyon Hindistan'da. Goldman Sachs'ın ekipleri ve lokasyonları arasında süreç değişir; burada okuduğun şey "Goldman Sachs her zaman bunu sorar" değil, "bir adaya bunlar soruldu ve banka mülakatlarının tipik derinliği bu" demektir. Soruların kaynağı her soruda Aday raporu olarak işaretli; cevaplar ise bu sitenin kendi anlatımıdır.

Rapordaki turlar:

  1. Online assessment: {, } ve * içeren bir string'in dengeli olup olmadığı (joker her şey olabilir) ve en sık geçen k kelime.
  2. DSA + core Java: Bağlı listeyi ikili gruplar halinde ters çevirme; ardından == ve equals(), HashMap'in iç yapısı, çakışma ve treeify, load factor 0,75'in gerekçesi, Java Memory Model, thread safety.
  3. Spring Boot + low-level design: Kullanıcı başına dakikada 5 istek sınırlayan bir rate limiter; stereotype anotasyonları, bean scope ve yaşam döngüsü, Spring Boot'un açılışı, @Transactional'ın iç işleyişi ve tuzakları.
  4. Güvenlik + veritabanı: SQL sorgu optimizasyonu; API gateway'de kimlik doğrulama, OAuth ve JWT, token süresi, JWT'nin geçersiz kılınması, refresh token akışı.

Nasıl çalışılır? Online assessment için üç problemi süre tutarak çöz: joker karakterli parantez dengesi, en sık geçen K kelime ve ikinci turdaki bağlı listede ikili yer değiştirme. Online assessment'ta kenar durumlar gizli testlerle ölçülür; boş girdi ve eşitlik kuralı en çok puan kaybettiren yerlerdir.

Core Java turu ezber değil, mekanizma ister. "HashMap O(1)'dir" demek yetmez; hash'in nasıl karıştırıldığını, bucket'ın neden ağaca döndüğünü ve 0,75'in neden seçildiğini anlatabilmelisin. Kaynaklar: equals/hashCode ve HashMap için Kitap Bölüm 1, String pool ve == için Kitap Bölüm 2, JMM ve concurrency için Kitap Bölüm 5.

Spring turunda "anotasyon koyunca çalışıyor" cevabı yerine proxy, BeanPostProcessor ve refresh() düzeyinde konuşmak beklenir: Kitap Bölüm 6 (bean'ler ve yaşam döngüsü), Kitap Bölüm 8 (@Transactional) ve Kitap Bölüm 24 (açılış süreci). Rate limiter için önce rate limiter sınıfı pratiğini kodla, sonra dağıtık sürümü dağıtık rate limiter sistem tasarımıyla çalış.

Dördüncü tur için SQL tarafında "index ekle" demeden önce ölçmeyi anlatmalısın: Kitap Bölüm 9 ve Kitap Bölüm 10 (index, EXPLAIN). Güvenlik soruları için güvenlik soru bankası ve bu setteki OAuth/JWT soruları yeterli bir temel verir.

Bankacılık bağlamını unutma: para hesaplarında BigDecimal karşılaştırması, transaction sınırları, token iptali ve rate limiter'ın Redis çöktüğünde ne yapacağı gibi sorular, "çalışıyor" cevabından "hata durumunda ne olur" cevabına geçmeni bekler.

Sorular (19)

01BaşlangıçAday raporucore-javaequalsstring-poolinteger-cache

== ile equals() arasındaki fark nedir?

02OrtaAday raporucore-javahashmapcollections

HashMap içeride nasıl çalışır?

03OrtaAday raporucore-javahashmaptreeifycollision

HashMap'te çakışmalar nasıl yönetilir, Java 8 ile ne değişti?

04OrtaAday raporucore-javahashmapload-factorpoisson

HashMap'in varsayılan load factor'ı neden 0,75?

05İleriAday raporuconcurrencyjmmhappens-beforevolatile

Java Memory Model nedir, happens-before ne demek?

06OrtaAday raporuconcurrencythread-safetyconcurrenthashmapatomic

Bir sınıfı thread-safe yapmak için hangi yolları kullanırsın?

07BaşlangıçAday raporuspringstereotypecomponent-scanexception-translation

@Component, @Service ve @Repository arasındaki fark nedir?

08OrtaAday raporuspringbean-scopelifecyclepostconstruct

Spring bean scope'ları nelerdir, bir bean'in yaşam döngüsünü anlat.

09OrtaAday raporuspring-bootstartupauto-configurationapplicationcontext

Bir Spring Boot uygulaması başlarken neler olur?

10OrtaAday raporuspringtransactionalaopproxy

@Transactional içeride nasıl çalışır?

11İleriAday raporuspringtransactionalself-invocationrollback

@Transactional'ın en sık tuzakları nelerdir?

12OrtaAday raporusqlindexexplainslow-query-log

Yavaş bir SQL sorgusunu nasıl optimize edersin?

13OrtaAday raporuguvenlikoauth2jwtoidc

OAuth 2.0 ile JWT arasındaki fark nedir?

14OrtaAday raporuguvenlikjwttoken-expirationclock-skew

Access token'ın süresi (expiration) nasıl çalışır, süreyi nasıl seçersin?

15İleriAday raporuguvenlikjwtrevocationdenylist

JWT'yi süresi dolmadan geçersiz kılabilir misin?

16İleriAday raporuguvenlikoauth2refresh-tokenrotation

Refresh token akışı nasıl çalışır, nasıl güvenli tutulur?

17İleriAday raporuguvenlikapi-gatewayjwtjwks

API gateway'de kimlik doğrulamayı ve güvenliği nasıl kurarsın?

18OrtaAday raporulow-level-designrate-limitersliding-windowtoken-bucket

Kullanıcı başına dakikada en fazla 5 istek kabul eden bir rate limiter tasarla (tek instance).

19İleriAday raporurate-limiterredisdistributedlua

Aynı rate limiter'ı 20 instance'lı bir serviste nasıl çalıştırırsın?

Çoktan seçmeli (12)

01Başlangıç

Integer a = 128; Integer b = 128; için a == b ve a.equals(b) varsayılan JVM ayarlarıyla ne döndürür?

Tek doğru cevap var.

02Orta

Java 21'de HashMap'in bir bucket'ı hangi koşulda bağlı listeden kırmızı-siyah ağaca dönüşür?

Tek doğru cevap var.

03Orta

HashMap'in varsayılan load factor'ının 0,75 olmasının en doğru gerekçesi hangisidir?

Tek doğru cevap var.

04İleri

Aşağıdakilerden hangileri Java Memory Model'e göre happens-before ilişkisi kurar? (Birden fazla doğru var.)

Birden fazla doğru olabilir.

05Başlangıç

@Repository'yi @Component'ten davranış olarak ayıran şey nedir?

Tek doğru cevap var.

06Orta

Bir singleton servise field injection ile prototype scope'lu bir bean enjekte edildi. Servisin metotları çağrıldıkça ne olur?

Tek doğru cevap var.

07Orta

Aynı sınıftaki @Transactional olmayan process() metodu, aynı sınıftaki @Transactional save() metodunu this.save() ile çağırıyor. Ne olur?

Tek doğru cevap var.

08Orta

@Transactional (varsayılan ayarlarla) bir metot java.io.IOException (checked) fırlatıyor. Varsayılan davranış nedir?

Tek doğru cevap var.

09Orta

Bir JWT hakkında aşağıdakilerden hangisi doğrudur?

Tek doğru cevap var.

10İleri

Refresh token rotation ve reuse detection kullanan bir sistemde, daha önce kullanılmış (rotate edilmiş) bir refresh token tekrar gelirse önerilen davranış nedir?

Tek doğru cevap var.

11Orta

Kullanıcı başına 'dakikada en fazla 5 istek' için fixed window sayacının temel sorunu nedir?

Tek doğru cevap var.

12Orta

PostgreSQL'de SELECT id, amount FROM payments WHERE customer_id = ? AND status = 'PENDING' ORDER BY created_at DESC LIMIT 20 sorgusu için en uygun index hangisidir?

Tek doğru cevap var.