logo

Goldman Sachs Röportaj Deneyimi | 19'u ayarla

GS ile Bengaluru ofisinde bir röportaj yaptım. Java kullanarak tam yığın geliştirme konusunda 4 yıllık tecrübem var. Bir danışmandan telefon aldım.
    1. Tur
    1. Java'da hangi kavramlardan memnunsunuz? Koleksiyon dedim. Hangi koleksiyon derslerini kullandığınızı sordu? HashMap ArrayList ve HashSet dedim.
    2. Set'i ne zaman ve listeyi ne zaman kullanırsınız? Set'in benzersiz boş olmayan öğeleri desteklediğini ve List'in bu kısıtlamaya sahip olmadığını söyledim. Yani benzersiz öğeler istersem Set'i kullanacağım. Başka bir düşünce sordu mu? Koleksiyon üzerinde yapılacak sorgu türlerini söyledim. Arama gibi. Herhangi bir örnek sordu mu? Çalışan veri tabanı dedim. Listeyi kullanabilmemiz ve ikili arama veya benzer bir teknikle arama yapabilmemiz için çalışanların benzersiz olması gerekir; çünkü genel olarak belirli bir sıraya göre sıralanırlar. Ancak sanırım O(1) arama süresi cevabını veya Set'i bekliyordu. HashMap ve HashSet'in çalışmasını ve bunun bir geliştiricinin öğelerin benzersizliğini kolayca elde etmesine nasıl yardımcı olacağını açıkladım ancak görüşmeyi yapan kişi orijinal sorusuna verdiğim yanıttan ikna olmadı.
    3. equals() ve hashCode()'un sözleşmesi nedir? Ya biri geçersiz kılındıysa ama diğeri geçersiz kılındıysa?
    4. Belirli bir dizide ikinci minimumu bulun .
    5. Sıralanmış ve döndürülmüş bir dizide pivot noktasını bulun.
    6. Bana soru var mı?
    2. Tur
    1. İş deneyiminiz hakkında kısa bir giriş yapın.
    2. Son projenizin tasarımına genel bir bakış verin.
    3. Diyelim ki, bir öğe listesi veya tablosunun bulunduğu ve her öğenin bir kar özelliği, bir indirim özelliği vb. olduğu bir kullanıcı arayüzüm var. Birden fazla kullanıcının herhangi bir öğenin durumunu tutarsız bırakmamasını nasıl sağlayabilirim? Kullanıcı nitelikleri güncelleyebilir veya başka bir web hizmeti de aynısını yapabilir. Öğenin ayarlayıcı yöntemlerini senkronize etmeyi önerdim. Eşyaların nasıl sıralanacağını sordu. Öğelerin bir dizi listesinde yer alacağını söyledim ve Karşılaştırılabilir arayüzü uyguladım. Çalışan bir kod istedi. CompareTo() yönteminin içine ifadeyi yazdığımda, sıralama kriterlerinin zor kodlaması olduğundan tasarımın esnek olmadığını söyledi. Birisi başka bir özelliğe göre sıralama yapmak istediğinde, bu kadar çok yinelenen nesneyi yönetmenin imkansız hale geleceğini söyledi. Factory Method Pattern ile bunu yapabiliriz dedim. Bunun üzerine görüşme turunu etkili bir şekilde sonlandırdı. Arada bir yerde Karşılaştırıcı arayüzünden bahsetmişti ve ben de ona bunun nasıl çalıştığını anlattım. Mevcut sınıfları değiştirmek istemiyorsanız bunun iyi bir seçim olduğunu söyledim. Sanırım, karşılaştırma() yönteminin uygulanmasını bekliyordu, çünkü bu, yinelenen nesneler gerektirmeyecek ve farklı kriterlere göre sıralama, Comparator'ı farklı sınıflarda her sıralama kriteri için bir sınıf uygulayarak ve ardından bu Comparator uygulamasıyla Koleksiyonlar sınıfının sort() yöntemini çağırarak yapılabilir.
    4. Bana soru var mı?
    O gün için gitmesi söylendi. Tavsiye: Sizden istenmedikçe veya tasarım desenleriyle ilgili sorunları çözme konusunda deneyiminiz olmadığı sürece tasarım desenlerini gündeme getirmemeye çalışın. Görüşmeciyi dinleyin ve uyanık olun. İpuçları veriyorlar. 1. turda da döndürülmüş dizi sorusunda bir hata yapmıştım. Kodumun başarısız olacağı bir test senaryosu verdi. Hatayı düzelttim. Mülakat gününden önce yeterince uyuyun. Goldman Sachs için Tüm Alıştırma Problemleri ! Test Oluştur