Yaklaşan Google röportajı, bazı hazırlık önerileri için [kapalı]


29

Nerede olursan ol kitaplara çarpıyordum. Bir yazılım mühendisi pozisyonu için birincisi telefonla gelen bir röportajım var. Tüm blog yazılarını okudum, tüm röportajların hesaplarını okudum (bazıları oldukça eski) ve Google, hiçbiri burada kimseyi şaşırtmayacak olan bir kitap listesi bile önermişti. Yine de, bir süre hazırlandıktan sonra, kaplanacak kadar büyük bir zemin olduğu hissini sallayamıyorum ve derinlikli mi yoksa genişlikte mi olacağından asla emin değilim. Kendimi bir compsci alanının tamamını yeniden öğrenirken buldum, yalnızca diğerine geçerken nitty ayrıntılarının çoğunu unutmak için.

Bu nedenle, bu sorunun iyi bir cevabı olduğunu bilmiyorum, ancak görüşmeden önce kalan haftalarla nasıl başa çıkılacağına dair pratik bir tavsiye arıyorum. Beynimin bir kısmı tıkanmaktan yoruldu ve tabii ki geri kalanının şu anki iş yerimdeki zor problemler için kullanılması gerekiyor.


3
Bu, careeroverflow.com IMHO adresinde daha uygun olabilir. Ayrıca, başlangıç, üst düzey, vb. Gibi konumun düzeyini ve geçmişiniz için varsayım için çok fazla şey bırakmadınız.
vpit3833

3
@Fast Fish: Ne söyle, sadece üşüt Bir IQ Testine girin ve 135+ Google puanınız varsa veya Google yoksa puanınız olduğunu biliyorsunuz.
Fanatic23

9
Programcılar hakkında olduğu gibi burada harika. Temsilcisi yüksek insanlar neden kuarktakileri sınıflandırıp örgütlemeyi seviyorlar?
Jonathan.

3
Zaten birçok iş görüşmesi sorusu var. Sorunuzda farklı olan nedir? Cevabınız "Google" ise, bu yüzden tam burada değil. Google röportajlarıyla ilgili sayısız site var, birçoğu bundan daha iyi bilgi alacak.
Nicole,

2
Ve yaklaşmakta olan görüşmeci P.SE’de gizlenmiyor mu? :)
haylem

Yanıtlar:


30

Bilmeniz gerekenler

  • Google sizi işe almak istiyor!

    Herhangi bir yazılım şirketinin hayat kanı çalışanlarıdır ve Google da farklı değildir. En iyisini ve en iyisini işe almak istiyor ve görüşmeyi yapan insanlar da sizin kadar başarılı olmanızı istiyor.

  • Google sizi mümkün olduğu kadar doğru değerlendirmek için elinden geleni yapacaktır. Bu onların işi.

    Google veri odaklı bir şirkettir. İşe alma kararlarına yönetici fiat tarafından karar verilmez. Bunun yerine, her görüşmeci bir pakette birleştirilen görüşme sırasında geniş notlar alır. Bu paket daha sonra karar verecek olan ayrı bir komite tarafından gözden geçirilecektir . Öyleyse, sadece görüşmecilerinizden biriyle 'bağırmıyorsanız' endişelenmeyin! Önemli olan röportajda ne kadar iyi performans gösterdiğin.

Sahip olmanız gereken beceriler

Röportajınızdan önce aşağıdaki beceri / teknikleri geliştirdiğinizden emin olun. Doğrudan bunlarla ilgili bir soru sorulmasa bile, onları incelemek kesinlikle başınızı doğru zihniyete sokabilir.

  • Veri yapıları

    Dizi ve Bağlantılı Liste arasındaki fark nedir? Bir Ağaç ve Bir Grafik? Birini diğerinden ne zaman kullanırsın? Bu, hız / bellek değişimini nasıl etkiler?

    Görüşme sorusu çalışan bir çözümle bitmiyor. Yaklaşımınızın çalışma zamanını ve ne tür işlem yapabileceğinizi açıklayabilirsiniz. Örneğin, "her şeyi önbelleğe alırsam X konserinde RAM alır, ancak daha hızlı performans gösterirdi çünkü ...". Veya "İşlemleri yaparken ikili ağacı sıralı tutarsam, X'in daha yavaş olması, Y'nin daha hızlı olması vb."

  • Algoritmalar

    Temel grafik hareket algoritmaları, ağaç hareket algoritmaları ve sayıları sıralamak için iki iyi yaklaşım.

    Dinamik Programlama kullanarak önemsiz bir problem çözmeyi denediğinizden emin olun. Zorlu röportaj soruları söz konusu olduğunda asınız budur!

  • Karma tablolar

    Bu cok büyük. Hash tabloları hakkında bilmeniz gereken her şeyi bilin, kendiniz uygulayabilmekten, hash fonksiyonlarını bilmeye, kova sayısının neden önemli bir sayı olması gerektiğine kadar. Karma tablolarla ilgili kavramlar, Bilgisayar Biliminin hemen her alanıyla ilgilidir.

  • Kendin hakkında konuşmak

    Görüşme yapan kişiyle yapılan sohbetin ilk birkaç dakikası, sizi ayıran her türlü deneyimi açıklamak için önemli bir zamandır. İlgili projeler, önemli teknik başarılar ve benzerleri. Unutmayın, röportajı yapan kişi, onlar gibi yüzlerce akıllı insan olmasa bile onlarca röportaj yaptı. Peki, bu onları şaşırtacak ne söyleyebilirsiniz?

    Örneğin, bir röportajda, görüşmeci ile üniversitedeki Go oyununu oynamak için yazdığım bir program hakkında konuştum. Go oyunu için bir AI yazmak çok zor ve bunu ispatlamak için korkunç bir Go-bot'um var! Sonuç olarak, kendiniz ve nasıl programlanacağını bilen bazı akıllı kişiler değilsiniz.

Çok fazla strese girmeyin, bu sadece diğerleri gibi bir röportaj. Hiç kimsenin size rögar kapakları veya Mt. Fuji.


7

Rahatlayın

Röportajın benimki gibiyse, röportajcı seni teslim etmek için orada değil, nasıl düşündüğünü görmek için orada .

EDIT: Bu sadece ilk telefon görüşmesiydi, bundan başka bir şey bilmiyorum ... ve yaptıysam muhtemelen sana söyleyemem!


2
İşi aldın mı?
Manoj R

1
@Manoj: lol - hayır, ama mesele bu değil. Aslında röportaj yaptıkları işi istemiyordum, ancak süreci ve fırsatların neler olduğunu merak ediyordum. California'ya taşınmaya niyetim yoktu / olmadı!
Steven A. Lowe

2

Aşağıdaki makaleyi http://get-that-job-at-google.blogspot.in/ adresinden ödünç aldı.

Kodlama Bilgisi C / C ++ ve Java, Google Mülakatçıları için tercih edilen programlama dilleridir. Bunlardan en az birini gerçekten iyi biliyor olmalısın. Telefon ekran görüşmelerinde ve yerinde görüşmelerde de kod yazmanız beklenir.

CS röportajları için önerilen kitaplar : Algoritmalara Giriş - Cormen

Açıklanan Programlama Görüşmeleri

Kodlama Röportajlarını Kırmak

Röportajlar için Algoritmalar

Kodlama uygulaması için önerilen web siteleri : InterviewStreet, Topcoder

Big-O Algoritmik bir görüşmeye hazırlanmanın başlangıç ​​noktası bu olmalı. İşe alınmayacağını garanti edeceği için temel karmaşıklık analizleriyle mücadele etmemelisiniz. Tanıdık olmalı ve O, tations ve Ω notasyonlarını anlamalısınız. Veri Yapıları ve Algoritmalar kitabından karmaşıklık analizi konusunu okumanızı tavsiye ederim.

Sıralama QuickSort ve MergeSort gibi O (n * lgn) algoritmalarını kolaylıkla yazabilmelisiniz. En iyi, en kötü ve ortalama durum karmaşıklıklarını karşılaştırın ve anlayın. Bu tabloyu wikide çok kullanışlı buldum; Tüm sıralama algoritmalarının önemli özelliklerini listeler. Kabarcık sıralama veya Ekleme sıralama gibi temel O (n ^ 2) algoritmalarını ihmal etmeyin, çünkü diğer algoritmalar bunlar üzerinde gelişir. Görüşmeler, temel bir fikri geliştirmekle ilgilidir, sıralama algoritmaları bu sürece yardımcı olacaktır.

Karma Tablolar Şüphe duyduğunuzda karma tabloları düşünün. Sorunların çoğunda faydalıdırlar ve sık sık sonuçları önbelleğe alarak bazı sorunların zaman karmaşıklığını iyileştirmemize yardımcı olurlar.

Ağaçlar Temel ağaç yapısı, geçiş ve manipülasyon algoritmalarından geçer. İkili arama ağaçlarına dayanan algoritmalar uygulayabilmelisiniz. Röportajda kendilerine kod yazmanız beklenmese de, dengeli ağaçlara aşina olmalısınız: AVL ağaçları, Kırmızı-Siyah ağaçları, Trie, n-ary ağaçları vb. Bu çaprazlamalardan birinde basit değişiklikler yaparak birçok ağaç problemini çözebiliriz.

Grafikler Grafikler Bilgisayar Bilimi'nde çok önemli bir kavramdır. Grafiklerin üç temel gösterimini (nesneler ve işaretçiler, matris ve bitişik liste) uygulayın ve artılarını ve eksilerini öğrenin. Görüşme sırasında fazla zaman yoktur, bu yüzden çok karmaşık bir şey beklememelisiniz. Ancak, temel grafik geçiş algoritmaları (DFS ve BFS) bir zorunluluktur, bunları tüm temel temsillerde uygulamanız gerekir. Dijkstra veya Floyd-Warshall algoritmalarını ve minimum yayılma ağacı algoritmalarını (Kruskal ve Prim) uygulayabilmelisiniz. Topolojik sıralama hakkında bilgi edinin, çünkü birçok sipariş probleminde şaşırtıcı şekilde çok faydalıdır.

Dinamik Programlama Bu uygulamaların küçük olması nedeniyle muhtemelen en önemli konudur. 35-40 dakikalık bir sürede 2-3 dinamik algoritma uygulayabilmelisiniz. Bu blog veya web'deki kaynakları kontrol ederken, görüşme başına en az bir dinamik programlama sorusu beklemeniz gerektiğini göreceksiniz.

İşletim Sistemleri İşlemler, iş parçacıkları ve eşzamanlılık sorunları hakkında bilgi edinin. Muteksler, semaforlar, monitörler ve nasıl çalıştıklarını öğrenin. Kilitlenme ve livelock'un ne olduğunu ve nasıl önlenebileceğini anlayın. Bağlam değiştirme, zamanlama vb. Hakkında bilgi edinin.

Matematik Sayma, birleştirici ve olasılık konularında bilgi sahibi olmalısınız.

Google'ın yayınları Vaktiniz varsa Google'ın aşağıda listelenen çığır açan yayınlarını okuyun. Google Dosya Sistemi

Google Bigtable

Google MapReduce


İlgili metni buraya yazmalı ve link-rottan kaçınmalısınız.
ölümcül

Üzgünüz, bu foruma yeniyim. Cevabımı geliştirdim
chinmay

1
“... Java ... Google için programlama dillerini tercih etti” diye bilmiyordum. Chrome'un neden kaynakları diğer tarayıcılar olarak 3 kat kullandığını açıklar. (Kapıyı çalın. Kim var? ... uzun bir duraklama ... Java!)
Josh Campbell

1

Son birkaç ayını kariyerinde geçirdiysen, rahatlamayı göze alabilirsin. O anda olan röportajda ne olacağı planlanamaz ama daha iyi rahatla ve turu sürecek enerjiye sahip ol.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.