Teknik bir röportajda şablon soruları kullanma [kapalı]


14

Son zamanlarda bir meslektaşımla görüşmelerdeki teknik sorular hakkında tartıştım. Mezun olarak, birçok şirkete gittim ve aynı soruları kullandıklarını fark ettim. Bir örnek, "Bir sayının asal olup olmadığını belirleyen bir işlev yazabilir misiniz?", 4 yıl sonra, belirli bir sorunun küçük bir geliştirici için bile oldukça yaygın olduğunu görüyorum. Buna doğru bakmıyor olabilirim ama yazılım evleri kendi röportaj sorularını düşünecek kadar zeki olmamalı mı? Mezun olarak yaklaşık 16 röportaj yaptım ve bunların% 75'inde aynı sorular ortaya çıktı. Bu beni birçok şirketin tembel ve basit bir şekilde Google olduğuna inandırıyor: 'Yazılım geliştiricileriyle görüşme için şablon soruları' ve bu yaklaşımı benimsemede kendilerine bir kötülük olduğunu hissediyorum.

Soru: Bazı şablonlar dışında bir dizi soru kullanmak daha mı iyidir yoksa yazılım evleri daha özgün olmak ve kendi görüşme materyallerini bulmak için mi çaba göstermelidir?

Benim görüşüme göre, bir röportajda başarısız olsaydım ve gittiğim ve üzerinde durduğum sorulara iyi cevaplar ararsam, sorular aynıysa bir sonraki röportajdan geçebilirdim.


1
Meraktan, FizzBuzz tarzı sorular nereden geldi?
Issız Gezegen

1
Yazılım evi, çoğu insanın şirkette bulunmadıkları ve soruyu görmedikleri sürece almak için birkaç gün sürecek çözümü mükemmelleştirerek binlerce saat harcadıkları kişi haline gelmemelerine dikkat etmemelidir. zaten.
JB King

2
Şablon cevaplarını tercih ediyorsanız, şablon sorularını kullanın.
back2dos

Yanıtlar:


18

Bu tür soruların birçoğu tam olarak etrafta dolaşıyor, çünkü net, mümkün olduğunca az alan bilgisi gerektiren, birisinin hile sorusu olmadan bir algoritma bulma yeteneği gerektiren sorular bulmak zor. " olsun "ya da" alamadım "ve insanların adaylara karşı karşılaştırmak için tarihsel bir geçmişe sahip oldukları. Ve en iyi sorular, görüşmecinin adayın problem çözme becerilerini ölçmesine izin veren birden fazla doğru cevap seviyesine sahiptir. Örneğin, birisi önemsiz bir ana bulma algoritması önerirse, adayı daha karmaşık algoritmalardan birine yönlendirmek için uygulamayı veya görüşmeciyi nasıl optimize edebileceğiniz hakkında konuşabiliriz.

Bir dizi farklı geliştiricinin, bir dizi görüşmeci için belirli bir sorunun ne kadar zor olacağını ve tahminlerin tüm harita üzerinde olduğunu değerlendiren gruplarda bulundum. Birçok kişi başlangıçta FizzBuzz'a bakar ve bunu çok kolay bir şekilde reddetir. Eğer soruların ne kadar zor olduğunu iyi bilmeden görüşmeye girerseniz, görüştüğünüz beşinci kişinin ilk kişiye göre büyük bir avantajı vardır, çünkü ilk kişinin olumsuz bir izlenimini oluştururken insanların FizzBuzz ile mücadele ettiğini öğrendiniz. röportaj yaptınız çünkü aynı mücadeleleri vardı.

Geliştiriciler yeni sorular soruyorlarsa, istenmeyen kültürel veya etki alanı bilgilerine de sahip olma eğilimindedirler. Örneğin, bir spor hakkında sorular soracaklar; bu, o sporun kurallarını bilen ya hızlı bir şekilde bir belirsizlik tespit edebilen ya da “açık” bir varsayım yapabilen insanlara avantaj sağlama eğilimindedir. Spora tamamen aşina olmayan biri, oyunun kurallarını anında anlamalıdır ve bir hata yapma veya daha az karmaşık bir cevap bulma olasılığı daha yüksektir. Veya kasıtsız olarak adayların nispeten küçük bir kibrit bileceğini / hatırlayacağını varsayan bir soru soracaklar. Örneğin, muhasebe sistemleri üzerinde yıllardır çalışan biri, herkesin çift girişli muhasebe sisteminin ne olduğunu bildiğini ya da basit bir çift girişli muhasebe sistemi şema tanımını kabul eden bir sorunun yetkili bir geliştirici için açık olacağını varsayabilir. Ancak, nakit dengesini artıran ve nakit dengesini azaltan bir krediyi nakit olarak borçlandırma fikri etrafında kafalarını almak zorunda olan iyi bir geliştiriciyi kolayca atabilir. Ancak Muhasebe 101'i alan biri çabucak yetişir. Niyetiniz adayın muhasebeye aşinalığını test etmekse, bu oldukça makul bir soru olabilir. Ancak bir konu uzmanı aramıyorsanız sorunlu olacaktır. Ancak, nakit dengesini artıran ve nakit dengesini azaltan bir krediyi nakit olarak borçlandırma fikri etrafında kafalarını almak zorunda olan iyi bir geliştiriciyi kolayca atabilir. Ancak Muhasebe 101'i alan biri çabucak yetişir. Niyetiniz adayın muhasebeye aşinalığını test etmekse, bu oldukça makul bir soru olabilir. Ancak bir konu uzmanı aramıyorsanız sorunlu olacaktır. Ancak, nakit dengesini artıran ve nakit dengesini azaltan bir krediyi nakit olarak borçlandırma fikri etrafında kafalarını almak zorunda olan iyi bir geliştiriciyi kolayca atabilir. Ancak Muhasebe 101'i alan biri çabucak yetişir. Niyetiniz adayın muhasebeye aşinalığını test etmekse, bu oldukça makul bir soru olabilir. Ancak bir konu uzmanı aramıyorsanız sorunlu olacaktır.

Birisinin, insanların kullandığı birkaç yüz "ortak" şablon sorusunun cevaplarını ezberleyebileceğini düşünmeme rağmen, bu beni görüşmeci olarak çok fazla rahatsız etmiyor. İlk olarak, eğer böyle yaparlarsa, biraz çalışkanlık ve problem çözmeyi yansıtırlarsa, biraz etkileyici olurdu. İkincisi, genellikle oldukça iyi bir eğitim olurdu - eğer geliştirici bir dizeyi tersine çevirmeyi bilirse, primer bulmak için bazı algoritmaları bilirse, döngüler yazmayı ve FizzBuzz için kontrol yapılarını nasıl uyguladığını bilirse, gelen çeşitli grafik algoritmalarını bilir düzenli olarak, vb. - muhtemelen oldukça iyi bir geliştirici. Eğer geliştirici cevapları hiçbir şey öğrenmeden ezberlemeyi başarmış olsaydı, görüşmeci biraz detaya inmek istediğinde ya da


7

Ben bu kolay sorular fizzbuzz olduğunu düşünüyorum, bir dize ters, vb, ve sonra bazı sorular vardır, oysa daha önce görmediyseniz röportaj ek baskı ve kısa sürede istenen optimal çözümü elde etmek zor kısıtlamaları. En kötü yanı, bazen teknik bilgisi olmayan işverenlerin bu soruların bazılarını sormaları ve çok özel bir cevap aramalarıdır .... En uygun cevabı vermezseniz, mutlak bir salak olduğunuzu düşünürler. Cevabınız çalışıyor olsa bile, sorunu çözüyor ve optimal olmasa da çok verimsiz değil ....

Bazı Örnekler:
Bir kart destesini nasıl karıştırırsınız? Fisher-Yates yöntemini arıyorlar http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shufflediğer cevaplar "yanlış" ..... Bu kartları daha önce karıştırmak istemediğiniz ve özellikle bakmadığınız sürece bilmeniz gereken bir şey değil. Cevabı yaparken cevap verebilirsiniz, ancak gördüklerimden bu soğuk algınlığı bilmenizi bekliyorlar, bu yüzden çözüm bulmaya izin vermek için çok zaman olacak. Daha az verimli (ama belki daha açık) bir başka yol da, orijinal diziye bir işaretçi ve rastgele bir sayı olan bir sayı içeren yeni bir dizi oluşturmak ve diziyi rastgele sayıya göre sıralamaktır. Ardından yeni bir kart dizisi oluşturmak için sıralanmış diziyi kullanın. Her durumda, bunu bir işe alan kişiye sunmak için 0 kredi aldım.

Başka bir örnek, 1'den n-1'e kadar olan n sayısı listesindeki yinelenen bir sayıyı nasıl tespit edeceğinizle ilgili sorudur. Açık cevap (bir zaman perspektifinde nispeten etkilidir), her öğeyi eklemek için bir karma tablo kullanmaktır ve zaten eklenmiş olanı bulursanız, kopyayı buldunuz. En uygun cevap, çoğaltma yoksa sayıların 1 ile n arasında olması, beklenen toplamı n (n + 1) / n olarak alabilirsiniz. Daha sonra diziyi toplarsanız, beklenen toplamdan nd daha az olan gerçek toplamı elde edersiniz. Yani temelde n - (Beklenen Toplam - Gerçek Toplam) = yinelenen sayı ... Bu oldukça özel bir durum ... Aslında birkaç yıl önce aynı hile ile ilgili bir röportaj sorunları hakkında röportaj sorunları hakkında bir şey gördüm, bu yüzden Ben iyiydim ....

Bir diğeri, herhangi bir ek alan kullanmadan bir dizedeki tüm kelimeleri tersine çevirir. Bu konuda düşünmek zorunda kaldı ve işveren düşündüm 5 dakika içinde oldukça sabırsız (yarma ve ters dizeye yeniden katılma, ya da kelime kelime yeni bir dizi içine gidiş hem de çok kolay). Son kelimenin kenarlığını bulmak, ilk kelimenin sonunu bulmak ve tüm listeyi sürekli olarak 1 aşağı kaydırıp uygun mektubu ekleyerek geldim. Sonra listenin sonuna gelene kadar tekrarlayın. Bu yöntem işe yaradı ve görüşmeci kabul etti (biraz teknikti), ancak oldukça verimsiz. Eve geldiğimde en uygun cevabı aradım ve bu sadece listeyi tersine çevirip her bir kelimeyi tersine çevirmek. Bazı insanlar bununla gelebilir,

Şimdi bu problemlerden bazılarını gördükten sonra bunları daha kolay çözebilirsiniz. Çünkü aynı hilelerle bazı benzer sorular var. Özellikle n (n-1) / 2 formülü ve sayı listesinin birkaç varyasyonu olduğunu biliyorum. Ama yine de bu soruların neyi test ettiğini bilmiyorum. FizzBuzz herkesin yapabilmesi gereken bir şeydir (her ne kadar çok basit olmayan varyasyonlar gördüm, ancak bu durumda bile, kod yazmadan / hata ayıklama yapmadan bir görüşme durumu için gerçekçi olup olmadığını sorgulamaya başlarım). Bu sorulardan bazıları, onları gördüğünüzde açıktır, ancak görmediyseniz açık değildir. Herkesin bahsettikten sonra, ikili aramanın ilk doğru uygulanmasının ortaya çıkması yıllar aldı ... Şu anda ikili arama çok açık çünkü herkes bunu okuyabilir.

Yine de, en kötü yanı teknik olmayan kişilerin soruları sormasıdır, çünkü optimal olmasa da çözümünüzün doğru olduğunu anlayamazlar. Sadece çözümünüzün sunulan çözüm olmadığını biliyorlar ve bu yüzden hepsi yanlış, girişim için kredi alamıyorsunuz. Optimal olmayan çözümler bile genellikle programlama yapıları hakkında bilgi gösterir. Poker oyunları programlamıyorsam, birisinin bir kart destesini ne kadar iyi karıştırdığı umurumda değil. Ve ben olsaydım, onlara verimli algoritmayı gösterdikten sonra eminim yarıya yakışır herkes bunu takip edebilirdi.

Şablon soruları, şablon sorularının daha fazlasını görme olasılığı daha yüksek olduğu için daha uzun görüşme yapan adaylara sadece bir avantaj sağlıyor gibi görünmektedir. FizzBuzz bile, ilk gördüğünüzde çıldırmış olabilirsiniz, ancak tekrar tekrar gördüğünüzde buna daha fazla alışırsınız. Yapabileceğiniz en iyi şey, özel iş mantığı gerektiren bazı kodlama zorlukları vermektir. Örneğin, bazı veri kümeleri (nesneler / kayıtlar dizisi) oluşturun ve sonra her bir nesneye uygulamak ve bir cevap döndürmek için bazı iş kuralları oluşturun. Muhtemelen kayıtlar arasında dolaşıp mantığı bir milyon kez uygulamış olsalar da, kurallarınız benzersiz olacak, en azından oluşturduğunuz kuralları anlamak ve başarılı bir şekilde uygulamak zorunda kalacaklardı.

Diyelim ki öngörülen Maaş ve adayların bir listesi ve en sevdiği 3 video oyunu ve belki de bir başlangıç ​​maaşı. Zelda'yı seven adaylar 300 ceza alır, küçük denizkızı seven adaylar 200 bonus alır. Donkey Kong ve Super Mario Brothers'ı seven ancak Dr. Mario'yu sevmeyen adaylar 300 bonus kazanır. Metroid veya Kid Icarus gibi adaylar 200 bonus kazanırlar .... Bu biraz çılgınca görünür ama iş kurallarını mantıksal program yapılarına çevirme ve boolean mantık anlayışlarını test etme yeteneklerini gösterir. Genel olarak modül ve döngüler kullanmamak dışında fizzbuzz'dan çok farklı değil. Elbette onlara listeyi verebilir ve listeden dönmelerini sağlayabilir ve sonuçları belirli çıktı ölçütlerini kullanarak ekrana yazdırabilirsiniz.


4

Son iş arayışımda çok benzer bir durumdaydım. Sanırım tüm şirketlerde aynı bağlantılı soru sorusu vardı ama biri (şu anda çalıştığım).

Fark ettiğim bir şey, bu soruların ilk görüşmede verildiğiydi.

Görüşmeciler açısından, eğer bir kişi bu soruları doğru bir şekilde anlayamazsa, o zaman görüşmeye hazırlanmadılar, neden onlarla daha fazla zaman harcıyorsun? Yine de bunun doğru fikir olduğunu sanmıyorum. Şirket, Google'dan bir sonraki tura geçerek yanıtlar okuyabilen bir sürü insan alacak, ancak mutlaka yetkili geliştiriciler olan bir grup insan alacak.

Ortak FizzBuzz sorularını kişisel olarak sinir bozucu buldum, ancak kolay bir röportaj yaptı. Zorlu bir röportajı seviyorum. Potansiyel çalışanlarla görüştüğümde, sorunları düşünebileceklerini ve çözebileceklerini bildiğimden emin olmak isterim. Google'ı kullanabilmelerini bekliyorum.

Bir şirketin soru şablonu olmalı mı? Evet. İlk birkaç tur için adayların değerlendirilmesine yardımcı olur. Şablon, Google aracılığıyla kolayca bulunabilecek genel sorunlardan mı oluşmalıdır? Hayır. Bu sadece ilgili herkesin kısa değişmesi.


4

"Yazılım evleri daha özgün olmaya çalışmalı ve kendi röportaj materyallerini bulmalı mı?"

Evet, ama pratikte olacak olan şey işe başlamanız ve İK'dan yarın iki aday için görüşme döngüsünde olduğunuzu söyleyen bir e-posta bulmanızdır. Zaten timsahlar kıçına kalmışsınız ve müdürünüz yeni, iyi, röportaj soruları bulmak için yarım gün ayırdığınız için teşekkür etmeyecek. Zaman sıkıntısı olmak, geri sorulara düşmek sen ettik sorulan veya google çabuk bulabilmesi edilmiştir.


2
evet ve sonra gerçekten iyi röportaj soruları ile dolu bir belge var, aksi takdirde sormak anlamlı bir şey için mücadele adam bakan olabilir
Doug T.

3

Bahsettiğiniz sorular normalde fizzbuzz sorulardır ve işe alım için kullanılan bir soru değildir; onlar inkar eden bir sorudur (yani doğru cevaplar size hiçbir şekilde iş bulamaz, ancak yanlış cevaplar çöp kutusuna fırlatır). Yani çok değerli değiller.

Daha sonra gelen ve düşünülmeye ihtiyaç duyan sorulardır ve çoğu zaman, şirketin yaptığı iş türü ve takım dinamiğinin nasıl bir şeyle güçlü bir ilişkisi olacaktır.

Yani cevap: her ikisi.


4
Fizzbuzz tarzı sorunun soruları reddettiğini kabul ediyorum ... ama yanlış insanları otobüsten uzak tutmayın!
Peter K.

2

Sorularının çoğu veya tümü aynı ise, gerçekten kötü bir şeydir (onlar için, bu). Bu muhtemelen görüşmecinin göreve iyi hazırlanmadığını gösterir.

FizzBuzz testi gibi "şablon" giriş seviyesi soruları kullanmanın, çok fazla zaman ve çaba harcamadan, tamamen beceriksizliği ayıklamak için kabul edilebilir olabileceğini unutmayın. O zaman bile, temadaki varyasyonlar doğrudan Google'dan yanıt almayı önlemek için yararlıdır. Sonra tekrar, adaya yeni yazılan kodun gerçekte ne yaptığını ve neden çalıştığını (veya çalışmadığını) sormak kolaydır. Teknik açıdan yetkin bir görüşmecinin birisinin cevabı biliyormuş gibi yaptığını çabucak tespit edebileceğine inanıyorum.

Ve daha da önemlisi, birisi giriş seviyesi testini geçerse, daha zor sorular gelmelidir, burada hazır cevapları okumanın yeterli olmadığı yerde. Şahsen, bir bilmeceye özgü çözümden ziyade, genel olarak görüşmecinin düşünce süreçleri ve problem çözme yetenekleri ile ilgileniyorum. Diğer önemli konu geliştirme süreçleri ve yaklaşımları olacaktır - bu konularla ilgili somut sorular yerine açık uçlu bir tartışma başlatırım. Bu konularda doğru ya da yanlış cevap yoktur, bu nedenle önceden hazırlık imkanı yoktur. Ancak bir tartışmadan sonra ben ve ekibin bu adayla rahatça çalışıp çalışmayacağımız hakkında çok şey öğreniyorum.

Bu nedenle, sınırlı sayıda "şablon" sorusu uygundur, ancak iyi bir röportaj, görüşmecinin adayın (reklamı yapılan ve gerçek) beceri seviyesi, zihinsel durumu (sinirlilik / yorgunluk) vb.


Evet, ama FizzBuzz testini yaptığınızı söyleyin, böylece uygun olmayan biri başarısız olur. İyi cevaplar arayabilir ve bu soruyu başka bir şirkete aktarabilirler, bu beni rahatsız eden şeydir ve bence şirketlerin şablon soruları kullanmama yükümlülüğü olmalı. İyi bir üst düzey yazılım geliştiricisi, kolaydan zora doğru değişen iyi soruları düşünebilmelidir.
Issız Gezegen

2
@Desolate Planet: Şey olsa da, fizzbuzz'da başarısız olan insanların cevapları aramak için bir tür olmadığından şüpheleniyorum ... sadece bir sonraki röportajda sorulan soruyu almadıklarını umuyorlar.
Steven Evers

Hımm ... ama 3 - 4 röportajı bozduktan sonra bile, kendilerine sorulan sorulardaki kalıpları tespit edecek kadar akıllı olacaklar. Yine, bu sadece genel olarak teknik röportajlar hakkında aldığım bir düşünce ve bana bu konuda zayıf bir yol olarak bakıyor.
Issız Gezegen

1
@Desolate, o zaman iş başvuru sahiplerini iyi filtrelemek bile umurunda olmayan bir şirkette iş bulmayı başarabilirler ... böylece her ikisi de hak ettiklerini elde eder.
Péter Török

@Peter, söylediklerinize katılıyorum, ancak iş için doğru olabilecek ve şirkete katkıda bulunabilecekleri bir şey olan diğer adaylar için adil değil. Birileri büyük cevaplar aradı ve süreç boyunca vals aldı, çünkü şansı olmayabilir. Tüm şirketlerin böyle olduğunu söylemiyorum, ancak genellikle bir şirkete katıldığımda, ağ sürücüsünde bir görüşme soruları listesi içeren bir kelime belgesi var ve hemen hemen aynı görünüyorlar. Bana çok tembel geliyor.
Issız Gezegen

2

Sahte koddaki röportaj şablonum:

soru (FizzBuzz_type_question) == doğru ise

her biri için (array_of_more_interesting_questions'daki soru q) soru (q)

görüşmeyi sonlandır.


1

Bence röportaj şu şekilde ayrılmalıdır:

  • Sosyal yönü (İK şeylerinin yanı sıra) - Bu kişi kuruluşumuza iyi uyuyor mu? Doğru tutumu var mı - Yönetim tarzımızı takip etmeye istekli mi? Şirketler ve ekipler farklı olduğu için bunun orijinal olması gerekir.

  • Rol için genel uygunluk - Yine bu bir yerden bir yere değişmelidir

  • Çekirdek: İşin ana alanına odaklanan konu soruları - Bu bilimseldir ve bilimsel olduğu için orijinal olması gerekmez.

  • Günlük iş uygunluğu: Bunlar, adayın günlük olarak yapmasını beklediğiniz konular hakkında sorulardır. Bilimsel olabilir, ancak yapması beklenen gerçek işten daha iyi olabilir. Bu bölüm bir yerden bir yere değişecektir.

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.