Nisan ayında Amazon’un Dublin ofisinde mülakat yaptıktan ve teklif aldıktan sonra, yaşadığım tecrübeyi paylaşma kararı verdim.

amazon-logo-300px
Bir gün merakımdan Amazon’nun kariyer sayfasında açık olan ilanlara bakıyordum. O gün gözüme bir pozisyon takıldı, iş ilanında güvenlik alanındaki verilerin analizi için uğraşacak, Scala ve Spark bilen kişi arıyorlardı. Çok sıradan bir başvuru ile(sadece cv) başvurumu tamamladım. Yaklaşık 1 hafta sonra Amazon’un İK’sı tarafından mülakat daveti aldım ve zorlu süreç böylece başlamış oldu.

İlk mülakat İK ile telefon üzerinde oldu. Teknik hiç bir soru olmadan sadece beni tanımaya yönelik soruları cevapladım.

Aradan iki gün geçtikten sonra ikinci mülakat daveti ile geldiler. Bu mülakat da telefon üzerinde olacaktı ancak bu sefer tamamen teknik mülakattı. Mülakat yaptığım kişi Madrid ofisinde çalışıyordu. Yaklaşık 1 saat sürdü. Normal soruların yanında kısa cevaplı teknik sorular vardı. Kapanış ise yaklaşık 25 dk süren bir problemin, online bir notepad üzerinde çözümü ile bitti. Ne sorulduğunu paylaşmam doğru olmayacaktır ancak yazının ileriki aşamalarında bununla ilgili bilgiler veriyor olacağım.

Aradan tekrar iki gün geçtikten sonra üçüncü telefon mülakatı için davet geldi. Bu sefer ki mülakatım, Seattle ofisinden biri ile oldu. Tekrar kısa cevaplı soruların ardından, iki kodlamalı problem çözdüm. Bunlardan biri normal algoritma sorusu, ikincisi ise Spark’da bir problemin çözümüydü. Sizden tamamen çalışacak çözüm bekleniyor. Dolayısı ile eğer statically typed bir dil kullanıyorsanız compile olabilecek şekilde, dynamically typed ise direkt hatasız yorumlanacak şekilde yazılmalı.

İki veya üç gün sonra, yeni bir mülakat daveti aldım. Asıl süreç bundan sonra başlıyor, çünkü bu sefer mülakat İrlanda ofisinde olacaktı. Burası biraz stresli bir süreç. Ben Amsterdam’da çalıştığım için Schengen ülkelerine vize muafiyetim var ancak İrlanda Schengen üyesi bir ülke değil. Dolayısı ile bir ton doküman ile Den Haag’da bulunan İrlanda elçiliğine başvurumu yaptım. Vizenin elime ulaşması tam olarak üç hafta sürdü.

Vize onaylandıktan sonra, tüm masraflar Amazon tarafından karşılanmak üzere Amsterdam’dan Dublin’e uçuşumu gerçekleştirdim.

Tüm yaşadıklarımı anlatmadan önce mülakat günü hakkında kısa bir bilgi vereceğim. Benim mülakatım saat 11:00’da başladı ve 17:30’da son buldu. Bu uzun süreçte yaklaşık 9 kişi ile mülakat yaptım. Her bir mülakat oturumuna iki kişi dahil oldu ve biri sürekli not alıyordu.

Şimdi kısaca yaşanılanları anlatayım.

  1. Oturum: Bu oturumda başka bir takımınin lideri ile konuştum. Kısaca gün hakkında bilgi ve bir kaç tüyo verdikten sonra, Amazon Liderlik Prensipleri ile ilgili sorular sordu. Bunun ne demek olduğunu ileriki aşamada anlatıyor olacağım. Bu aşamada hiç teknik bir soru yoktu.

  2. Oturum: Bu oturuma, başvurduğum takımda çalışan iki kişi girdi. Normal sorular ile başladıktan sonra, iki adet soru sordular. İki soru da tamamen çalışacak şekilde, beyaz tahtada çözüldü. Açıkçası günün en iyi oturumlarından biri buydu. Beklenilenden çok daha iyi bir çözüm sunmuştum. Burada önemli olan, yazdığınız kodun çalışacak olması, edge case dediğimiz durumlar karşısında güvenilir olması ve algoritma analizinin doğru sunulup, tartışılması.

  3. Oturum: Aslında bu aşama bir mülakat değildi. Amazon içerisinden tamamen rastgele biri bana öğlen yemeği için eşlik etti. Yemek sırasında istediğiniz soruyu sorabilirsiniz. Biz daha çok machine learning, recommender systems hakkında konuştuk. Kendisi bana aynı zamanda, daha önceki mülakatlarımda alınan notları okuduğunu ve her şeyin harika gittiğini de söyledi. Açıkçası bu baya motive edici oldu.

  4. Oturum: Bu oturuma da iki kişi dahil oldu. Aynı öncekilerde olduğu gibi, normal sorular ile başladık ve iki adet beyaz tahta problemi ile devam ettik. Bu arada, istediğiniz programlama dilini kullanabilirsiniz. Ben hep Scala kullandım. Açıkçası sorulardan biri baya zorlayıcıydı. Biraz zaman harcadıktan sonra güzel bir algoritma karmaşıklığında çözüm sundum. Dolayısı ile bu aşama da başarılıydı.

  5. Oturum: Bu oturum, benim ileride çalışacağım takımın lideri ile oldu. Açıkçası buradaki soru bu zamana kadar gördüğüm en zor sorulardan biriydi. Önce normal sorular ile başladıktan sonra, problemi beyaz tahtada anlattı. Problemin anlatılması bile baya uzun sürdü. Uzun bir süre sesli düşünme sonunda aklıma gelen çözümü paylaştım. Hoşuna gittiğini söyledikten sonra tahtada kodlamaya başladım. Çözüm doğru olsa da algoritma karmaşıklığı yüksekti. Bir kaç optimizasyon sonrası çözüme ulaştım. Çözümün istediği gibi olduğunu belirtti.

  6. Oturum: Açıkçası bu aşamada artık çok yorgun hissediyordum. Şansıma mülakat Amerika’dan biri ile oldu. Dolayısı ile bir kodlama problemi yoktu. Bu bir sistem dizayn oturumuydu. Problemi anlattıktan sonra dizayn etmemi istedi. Burada önemli nokta, önce problemi anlamak için sorular sormalısınız. Ortaya bir çözüm sundum, daha sonrasında sistemi ölçeklemem istendi. Sonuç olarak bu aşama da güzel geçmişti.

Kısacası tüm günüm bu şekilde geçtikten sonra ofisten ayrılıp şehrin tadını çıkardım. Sonuç ise tamamen olumluydu. Aradan bir iki güç geçtikten sonra teklifi aldım ve kabul ettim.

Biraz da önerilerimden bahsedelim. Amazon, Google ve Apple gibi firmaların mülakatlarına hazırlanmak emek gerektiriyor. Pozisyona bağlı olsada bana göre en az iki hafta gerekiyor. Ayrıca genel mülakat tecrübesine sahip olmak çok yardımcı olacaktır. Peki ben neler yaptım?

How can I crack an interview at Amazon?

How should I prepare for my Amazon SDE interview in 2 months?

Açıkçası, temel konularda zorlanmadım. Çünkü her zaman algoritmalar ve veri yapılarına ilgi duymuşumdur. Bu aşamada en büyük yardımcınız GeeksforGeeks olacaktır. Eğer temelinizde sıkıntı varsa yavaş yavaş çalışmanızı öneririm. Bu konuda bir diğer önerim ise, soruları çözdükçe Github'da oluşturduğunuz depoda tutun. Tekrar etme aşaması daha kolay olacaktır.

GeeksforGeeks | A computer science portal for geeks

LeetCode | Online Programming Learning Platform

Cracking the Coding Interview

İkinci önerim ise sistem dizayn kısmında bilgili olmanız. Açıkçası bu aşama da bana fazla zaman kaybettirmedi. Şu anki işim gereği, sürekli ölçeklenebilirlik ile uğraşmaktayım. Aşağıdaki kaynaklar fazlası ile yardımcı olacaktır.

The System Design Primer

Grokking the System Design Interview

Son olarak Amazon Liderlik Prensipleri. Nedir bu? Şuradan gerekli tüm bilgiyi edinebilirsiniz. Tüm oturumlarda bunlar ile ilgili sorular geliyor ve Amazon için bu çok önemli. Çok iyi teknik bilginiz olsa dahi, eğer bu maddeleri taşımıyorsanız, işi almanız çok zor olacaktır.

Örnek bir soru: “Bana yöneticin ile yaşadığın bir zıtlık anını anlat.”

Daha fazla bilgi için, bu kaynaga bakabilirsiniz.

Umarım yazı ileride Amazon ile mülalatı olanlara için faydalı olmuştur.

Burak KOSE


Comments

comments powered by Disqus