Google Yazılım Mühendisi Mülakat Soruları (2026)
Google'ın yazılım mühendisi süreci, veri yapıları ve algoritmalara verdiği önemle tanınır. Çoğu aday iki veya üç kodlama turuyla, en az bir sistem tasarımı turuyla (L4 ve üzeri için), ve Google'ın içeride 'Googleyness and Leadership' dediği davranışsal bir turla karşılaşır. Beklenen seviye egzotik numaralardan çok, sıkı bir karmaşıklık analiziyle birlikte temiz, doğru, iyi iletilmiş çözümlerdir.
Mülakatçılar, belirli bir problemi ezberleyip ezberlemediğinizi değil, nasıl düşündüğünüzü değerlendirmek üzere eğitilmiştir. Problemi netleştirmenizi, varsayımlarınızı belirtmenizi, zaman ve alan hakkında yüksek sesle akıl yürütmenizi, ve kısıtları sıkılaştıran takip sorularını ele almanızı dinlemek isterler. Sonra optimize ettiğiniz çalışan bir brute force, açıklayamadığınız yarım hatırlanan bir optimal çözümü yener.
Aşağıdaki sorular Google'ın güvendiği kategorileri yansıtır. Yaklaşımınızı anlatmayı pratik edin: L3 ve L4 sinyali arasındaki fark genellikle ham problem çözme hızı değil, iletişim ve ödünleşimleri tartışma becerisidir.
Google Yazılım Mühendisi Mülakat Soruları ve Nasıl Cevaplanır
1. Bir aralık listesi verildiğinde, birbiriyle örtüşen tüm aralıkları birleştirin.
Yaklaşım: Başlangıç zamanına göre sıralayın, ardından mevcut başlangıç ≤ önceki bitişken birleştirerek bir kez tarayın. O(n log n) sıralama tarafından domine edilir. Sıralı değişmezi yüksek sesle belirtin — Google mülakatçıları kodlamadan önce açıkça belirtilmiş bir yaklaşımı ödüllendirir.
2. Sıralanmamış bir dizide k. en büyük elemanı bulun.
Yaklaşım: k boyutunda bir min-heap (O(n log k)) ve quickselect (ortalama O(n)) sunun. Ödünleşimi tartışın: quickselect ortalamada daha hızlı ama en kötü durumda O(n²); heap daha kararlı ve streaming yapabilir. İkisini de belirtmek derinlik gösterir.
3. Bir ikili ağacı serileştirin ve geri serileştirin.
Yaklaşım: Bir gezinme seçin (null işaretleyicilerle preorder temizdir) ve her iki yönün tutarlı olduğunu gösterin. Ayırıcıyı ve nasıl yeniden oluşturduğunuzu tartışın. Google, null düğüm sınır durumunu açıkça ele almanızı sever.
4. Word ladder: iki kelime arasındaki en kısa dönüşüm dizisi.
Yaklaşım: Kenarların bir harfle farklı kelimeleri bağladığı bir grafik üzerinde BFS olarak modelleyin. Bitişikliği verimli bir şekilde (joker karakterli bucket'lar) kurmayı ve BFS'nin neden en kısa yolu garanti ettiğini tartışın. Çift yönlü BFS güçlü bir takip sorusudur.
5. Bir LRU cache tasarlayın.
Yaklaşım: O(1) get/put için hash map + çift bağlantılı liste. Tahliye (eviction) yolunu açıkça anlatın. Bu, zaman baskısı altında iki yapıyı temiz bir şekilde birleştirip birleştiremediğinizi test eden klasik bir Google ısınma sorusudur.
6. 2D bir ızgaradaki ada sayısı.
Yaklaşım: Ziyaret edilmemiş her kara hücresinden DFS veya BFS flood fill yaparak bileşenleri sayın. O(satır×sütun). Alan ödünleşimi olarak yerinde (in-place) işaretlemeyi bir ziyaret edilenler kümesine karşı belirtin — yaygın bir Google takip sorusu.
7. En sık aranan k sorguyu döndüren bir sistem tasarlayın.
Yaklaşım: Önce okuma vs yazma oranını belirleyin. Büyük ölçekte yaklaşık top-k için bir count-min sketch veya hash map üzerinde bir heap'i tartışın, ve nasıl sharding yapacağınızı anlatın. Bu, birçok Google sürecinin içerdiği sistem tasarımı turuna köprü kurar.
8. Tam verilere sahip olmadan bir karar vermek zorunda kaldığınız bir zamanı anlatın.
Yaklaşım: STAR. Google'ın 'Googleyness' turu, belirsizlikle rahat olmayı, yargıyla dengelenmiş eyleme yatkınlığı, ve sonuçtan öğrenmeyi arar. Somut bir sonuç ve farklı yapacağınız şey içeren gerçek bir örnek seçin.
Google yazılım mühendisi mülakatınızda gerçek zamanlı yardım alın
Gerçek bir Google mülakatında Natively soruyu metne döker, paylaşılan kod belgesini ekran OCR'ı ile okur, ve 500 ms'nin altında karmaşıklık analiziyle yapılandırılmış bir yaklaşım önerir — tamamen cihazınızda. Algoritma ve Googleyness turlarında yapılandırılmış kalmak için kullanın.
