Ön tarama kodlama testi - Ne kadar makul? [kapalı]


22

DÜZENLE

Konuyla ilgili iyi bir düşünce ve kendini yansıtma sonrasında, bu soruda ortaya attığım konuların çoğunun profesyonel bir perspektiften ziyade kişisel bir şeyden geldiğini anladım. Bu yüzden moderatörler, konuşmaya çalıştığım sorunun kişisel, öznel doğası nedeniyle bu soruyu beklemeye aldılar. Soruyu yeniden düzenlemeyi düşünüyordum ama soruyu daha objektif bir şekilde ortaya koymanın olası bir yolunu bulamadım, bu yüzden cevapların bir tür kanıt ya da referansla desteklenebileceği bir tartışma konusu olabilir.

Hala ilgilenenler için, bu sorudan ortaya çıkan tartışmaların bir özetini vermeye çalışıyorum:

  • 4 saatlik görüşme öncesi, saha dışı programlama testi normal değil ancak
  • birçok insan, bazı şirketler için hepsinden çok daha uzun süre röportaj yapacağınıza dikkat çekti.
  • Teste girip girmememiz kişisel kararımızdır ve bunu koşullarımıza ve şirket için işe alınmanın algılanan yararlarına göre değerlendirebiliriz.
  • insanlar gibi tüm şirketler farklıdır ve bir şirketin daha iyi görüşme öncesi bir test dışı test uygulaması yapması, onların gereksinimlerine veya koşullarına uygun olması durumunda tamamen makul olabilir.

Asıl sorumun benden 4 saat beklemenin ne kadar makul olacağını ve çözüm için (kodun değil, tasarımın) muhtemelen şirket için kullanılabilmesi için ne kadar ahlaki bir sorun ortaya koyacağına değinmek istedim . Şimdi görebildiğim gibi, bu soruların her ikisini de (en iyi ihtimalle) bir stackexchange gibi bir soru-cevap tipi topluluk aracı kullanmak yerine bir forum tartışmasında ele alınabilir.

Ancak tüm cevaplarınızı değerli buldum ve paylaştığınız için teşekkür ederim.

ORİJİNAL POST

Birkaç pozisyon için mülakat yapıyorum ve çoğu, telefon görüşmesi veya yerinde görüşme gerçekleşmeden önce bir kodlama testi sunmam gereken ön tarama aşamasını içeriyor. Bu fikre çok alıştım ve şirketlerin bunu yapmamı beklemelerini oldukça makul buluyorum, böylece kendi başıma ne tür işler üretebileceğime bakabiliyorlar.

Genel olarak, benim deneyimim, bu tür kodlama alıştırmalarının çoğunlukla küçük programlama görevleri olduğu yönündedir. Biraz mantık yapın, belki küçük bir algoritma uygulayın, bir dosyayı açın ve verileri okuyun / yazın, bunun gibi şeyler. En basit görev bile, adayın nasıl kodlandığını, genellikle bir şirketin doldurmak istediği iş türü için ne kadar iyi hazırlandığını görmek için mantık, test edilebilir bileşenlerin vb. Hoş bir şekilde ayrılmasıyla uygulanabilir.

Geçenlerde, bana, uygulamalarının tümüyle uzun bir açıklaması olan bir kodlama testi gönderen bir şirketle karşılaştım, işlerinin gerçek bir hayat problemini çözmemi istedi (şirketi korumak için özel şeyler söylemek istemiyorum, ancak test ne yaptıkları hakkında çok şey vardı). Gerçek verileri içeren oldukça karmaşık bir sistem tanımladılar, sonuçta kodlama testinin 4 saatten fazla sürmemesi gerektiği sonucuna vardılar .

Bir şirketten boş zamanlarımda kukla ödevleri için 4 saat çalışmamı, benim için merhaba demeden önce beklememi mantıklı mıdır? (İşveren bana kodlama testini gönderdi)

Beni yanlış anlamayın, yeni bir iş ve yeni zorluklar bulma konusunda motive oluyorum, ancak çoğu şirket benden böyle bir işe en fazla 1-2 saat harcamamı bekliyor ve bu tür işler her zaman çok daha az karmaşık hale geldi.

Bu şirketle sonuç olarak elde ettiğim şey şudur:

1) Motivasyonum iyi değil ve muhtemelen başka birini arıyorlar.

2) Gelecekteki çalışanlarına, onlara merhaba demeden bile bu kadar uzun bir kodlama testi yapmasını beklemelerine saygı göstermiyorlar.

3) Sadece üzerinde çalıştıkları sorunlardan birini ortaya çıkarmak istiyorlar ve bunu ücretsiz olarak çözebilecek coşkulu bir genç adam olup olmadığını görmek istiyorlar (yine, beni yanlış anlama, ben bir komplo teorisi değilim ama böyle hikayeler duydum ...)

Bir şirketin adayların sahte kodlama testlerinde onlarla konuşmadan zaman geçirmelerini beklemesinin ne kadar makul olduğunu düşünüyorsunuz? Genel olarak deneyiminiz nedir?



Yorumunuz adil. Bununla birlikte, bir kişinin ön tarama görevinde 4 saat geçirmesini beklemenin ne kadar makul olduğunu düşündüğünüzle ilgileniyorum.
Aston

1
Piyasanın taşıyacağı şey ile tanımlanabilmesi için makul bir teklif. Bu şartlarla dalgalanacak. Eğer bu bir çalışanın pazarıysa (yani, birkaç adayın peşinden giden pek çok şirket), bu tür bir şeye karşı bir işveren piyasasına göre daha az tolerans olacaktır. Şu an sahip olduğum pozisyon için görüşme toplam on iki saat harcadım, çünkü bunu yapmanın olası yararları açıkça ortaya kondu. On yıl sonra haklılardı ve harcadığım her dakika değerli bir yatırımdı.
Blrfl

3
Herhangi bir büyük yazılım şirketinden herhangi biriyle röportaj yaparsanız, sık sık bulundukları yere (benim için 10 saat seyahat süresi olan) uçarsınız ve daha sonra 8 saatlik bir gün geçirirsiniz (veya iki tanesi duyulmamış) programlama / tasarım / mülakat. Meselenin, talep etme yetkisi bulunan şirketin algılanıp algılanmadığından şüpheleniyorum.
Steven Evers,

1
'Büyük yazılım şirketleri' ile olan deneyimim, ilk aşamada 1 saatlik telefon görüşmesi olduğu ve bunun adil olmasıydı. Burada kaçırdığım şey, herhangi bir girdi olmadan 4 saatlik çalışma beklememleri. Biraz daha düşünmeye başladım ve belki de fazla zamanları olmayacağını ve birinden hoşlanırlarsa bu 4 saatlik çalışmadan onu işe alacaklarını düşündüm. Bu durumda onların yaklaşımını anlayabiliyorum (bu Dunk'un cevabı ile ilgilidir).
Aston

Yanıtlar:


24

Diğer cevaplar çok uzağında olmadığından, bir an şirketin tarafını tutmama izin verin. Nitelikleri tamamen bilinmeyen kişilerden gelen 4 saatlik kodlama testinin bir araya getirilmesinden kullanılabilir bir kod tabanı oluşturmak neredeyse imkansız olurdu. Yeterince ayrıntılı bir şartname oluşturmak, cevapları incelemek ve kodunuzun geri kalanıyla entegre etmek 4 saatten uzun sürecektir. Yararlı kurumsal düzeyde yazılım projeleri söz değil, binlerce adam saat gerektirir. Bir iş kurma düşüncesi, haftada bir geri dönüş süresi olan 4 saatlik artışlara bölünmesi fikri çok saçma.

İşletmede gerçek hayat problemi vermek, birinin işinde gerçek hayat problemlerini çözmede şok edici bir şekilde iyi olup olmayacağını belirlemenin en iyi yollarından biridir. Bunu sık sık görüşmelerde yapıyorum (genel tasarım ilkelerini istemem ve 4 saatlik bir kod olmasa da) ve her seferinde çözdüğüm bir problemdi. Daha önce çözmemiş olsaydım, test neredeyse tüm rakip değerlerini kaybederdi.

4 saatlik bir testin size değip değmeyeceği kişisel bir karardır. Her zaman tam zamanlı bir işi tam zamanlı bir iş olarak görmeyi öğrendim. İşsiz veya işsiz olduğunuz ve günde 8 saat iş ararken, 4 saatlik bir kodlama testi bir şey değildir. Paslı dilleri tazelemek, portföy programları yazmak ve özgeçmişleri özel konumlar için kişiselleştirmek gibi işlerde bundan çok daha fazla zaman geçirdim.

Öte yandan, en iyi işçilerden bazıları zaten kazançlı bir şekilde istihdam ediliyor ve yalnızca rasgele daha iyi fırsatlar arıyor. Bu durumdaki insanların, fırsat yıldız olmadığı sürece, 4 saatlik bir testin zorlukları boyunca geçmeleri pek mümkün değildir. Ancak, bu şirketin sorunu, sizin değil.

Şirketin çalışanlarına karşı tutumu hakkında ne anlama geldiğinin farkına varıncaya kadar, muhtemelen kalifiye olmayan adaylarla uğraşmaktan bıktıklarından başka bir şekilde bir şey söyleyebileceğinizi sanmıyorum. Kötülerle birlikte iyilerden bazıları.


Ayrıca, OP testin 4 saatten uzun sürmemesi gerektiğini söyledi. Test bir aday = <4 saat sürerse, muhtemelen yine de ilgilenmeyeceklerini düşünüyorum.
Tombatron

Cevap için teşekkürler. Belki de böyle bir görevin yerine getirilmesi için 4 saatini kolayca almayan ikinci tipim, bu yüzden belki de sahip olan başka birini arıyorlar. Ve evet, gerçek bir hayat problemi vermek, bahsettiğiniz nedenlerden dolayı faydalıdır ve bir TV şirketi için röportaj yaparken, bir kanal şirketi hesaplaması yapmam gerektiğinde, bir FX şirketi için özetlemem gerektiğinde, bu tür görevlerle karşılaştım. CSV dosyasındaki para birimi ve bu adil, ancak bu şirket benim için beklentilerini biraz fazla ileri gitti. Belki sadece benim için.
Aston

3
Bunun biraz basit olduğunu düşünüyorum. Tüm çözümlerin diğer sistemlerle entegre olması gerekmez - bu örneğin bir veri ayrıştırma işlemi olabilir. Her ne kadar kod doğrudan şirket tarafından kullanılamamasına rağmen, tasarım çok iyi kullanılabilir. Test süreci tasarım gereği yüzeysel olmalı ve bir saatten daha fazlasının çok fazla olduğunu düşünüyorum.
Kirk Broadhurst

2
İş avına tam zamanlı bir iş olarak bakmak, yalnızca işsizseniz makul olur. Çalışıyorsanız, ancak piyasada daha iyi bir şey olup olmadığını görmek için test ediyorsanız, söz konusu bağlılık düzeyi kısa vadede geçerli değildir çünkü sadece tükenirsiniz.
Dan Neely,

11

Hayır, tipik değil , neden problemlerini ücretsiz olarak çözüyorsun? (4 saat)

Bir programlama testi için 1 saat tipiktir. Geçmişte programlama testimiz 4 soruydu. İlk 3 soru 1/2 saat sürdü, son bir 1/2 saat sürdü. Ayrıca, beklenen zaman diliminde bulunduğumuzdan ve testin adil ve uyumlu bir şekilde yapıldığından emin olmak için testi evdeki mevcut işe alımlara verdik.

İlk birkaç soru, programlayamayan insanları dışlayan “Fizz Buzz” tipi idi. Aşamalı zorlaşıyorlar. Son soru bir problem çözme alıştırmasıydı. Genel olarak yazılan kod miktarını birkaç yüz satıra (toplam) sınırlamaya çalıştık ve zekice bir numara gerekmiyor. İnsanları hata yönetimi, stil, sözdizimi, organizasyon vb. Konularında da puanladık. Sorular, işimizle ilgili değil, mevcut platformun yazdığı beceriler ve teknoloji ile ilgiliydi.

Tipik olarak, büyük adaylar tahsis edilenden daha kısa sürede tamamladı. Bazen insanlar, sınav yapmadaki stres nedeniyle izin verdiğimiz fazladan zaman talep ediyorlardı, ancak herkesi belli bir sınırda tuttuk. Test şu anki gelişme ortamındaydı ve insanlar referans bilgileri için internete girebildiler. Ayrıca sınavın beklentilerini her aday için de inceledik.

Bir zamanlar kod tabanımızı (gerçek dünya) teste dahil etmeyi tartıştık ancak sonunda sonunda çalınan / çalınan kodun (patronumuzun biraz paranoyak olduğu) kaygıları nedeniyle attık. Sonunda quiz.slnizole bir geliştirme makinesinde ayrı bir ürünle gittik .

Sonunda, adil bir testle gelmenin zor olduğunu gördük, ancak ne çok zor ne de çok kolay. Adaylarımıza sınavlardan sonra yaptıkları sınav hakkında her zaman sorduk ve gelecek adaylar için incelemek üzere geri bildirimlerini topladık.


Cevap için teşekkürler. Yöntemlerin adil görünüyor. Kolay sorular ve zor sorular fikrini seviyorum, çünkü adaya daha fazla açıklama yapmasalar bile, ne kadar iyi yaptıkları konusunda iyi bir fikir veriyor. Diyelim ki 3 kolay görevi yapıyorum ve sonuncuyu yapıyorum, kendimi başarısızlık gibi hissetmiyorum, ama aynı zamanda iyileştirmem gerektiğini kabul edebilirim. Benim durumumda beni gerçekten rahatsız eden şey, şirket benimle konuşmadan önce bile sahadaki 4 saatlik beklentidir.
Aston

@ Aston - Ayrıca son soruyu tamamlamadıysanız, otomatik olarak sizi diskalifiye etmedi. Belki de bir programcı olarak işe alınmazsınız ama belki başka bir yere. Bazı durumlarda adaylar başka pozisyonlar için işe alındı ​​(destek, KG). Önce insanların röportajını yaptık, ardından sınavı takip ettik. Sanırım ilk ve hemen o kişiyi dışlayabileceksiniz, ama belki de iyi bir teknik ama programlama dışı adayları kaçırmış olabilirsiniz.
Jon Raynor

8

Görüşme sırasında kodlama testlerinin zaten bir sürü zor olduğunu düşünüyorum. Hiç kimse normal ortam ve araçlar olmadan baskı altındaki en basit rutinden başka bir şey kodlamaz, bu nedenle elde ettiğiniz sonuçlar en iyi ihtimalle şüphelidir.

Bir programcının kabiliyetinin gerçekten iyi testler olduğunu buldum, ona bazı proje kodları vermek ve onlardan incelemesini istemek, kodun birkaç belirgin hatası, birkaç belirgin kod sorunu ve birkaç sorgulanabilir uygulaması varsa, bu gerçekten iyi çalışıyor. İyi bir kodlayıcı, hepsini size söyleyecektir ve neden bazı kodların 'yanlış' olmadığını, ancak bakımı kolaylaştırmak için daha iyisini yapabileceğini tartışmak üzere sizinle iletişime geçecektir. Kötü bir programcı bir hata bulur ve durur.

Yarım saatten fazla süren bir test yapmanızı bekleyen herhangi bir iş, uzun zamandır, yeteneklerinizi belirsiz bir fikirden daha fazlasını sağlayan iyi ve hedefli bir test yapmak için harcamamıştır. (çoğu şirket görüşme öncesi kurulum üzerinde çalışmak için zaman harcamak için çok zor bulur).

Sizin gibi bir test yapsam, cevabı sahte kodla yazardım. Normal bir çalışma projesi için yapabileceğiniz tüm derleme, derleme ve test aşamalarını geçmeden kodlama ve tasarım anlayışımı göstermek için bu yeterli olmalı.


1
Açık olmasam özür dilerim, ancak görüşmeden önce yapılan bir teste atıfta bulundum, bu yüzden bunu kendi başıma evde yapabilirim.
Aston

1
Bununla birlikte, yine de sahte kod yapardım. Ya bir problemin nasıl çözüleceği konusundaki düşüncelerimi isterler ya da sizden serbest çalışmak isterler. İkincisi, çalışmak istediğiniz bir yer olmayacak.
gbjbaanb

@gbjbaa: VEYA daha olası senaryo, yaptığınız iş türünü görmek istemeleridir. Bu bakımdan önemsiz görevler yeterli değildir. Sahte kod kesmeyecek. Ayrıca, sorunu tanımlamak, gözden geçirmek, inceltmek ve onaylatmak için 4 saatten fazla sürdüğünü iddia ediyorum. Yani, bunu kendilerine sorduklarından daha kısa sürede kendi başlarına uygulayabildiklerine göre, neden serbest çalıştıktan sonra olduklarını düşünüyorsunuz? Eğer görev bir ya da iki hafta aldıysa, amacınızı 4 saatte görebiliyorum. Ayrıca, düşünceleri ifade etmede iyi olan ve problem çözmede çok kötü olan birçok insanla röportaj yaptım.
Dunk,

1
Görev gerçek bir dünya durumuna çok yakın bir yerdeyse her zaman biraz şüpheliyim. Yöneticilerin sadece daha akıllı ve daha zeki insanlardan belirli bir sorunun nasıl çözüleceğine dair ipuçlarını almak için röportajlar düzenlediği hikayeleri duydum. Kendileri çözemediler, ama başka birinin nasıl çözeceğini görmeye istekliydiler. Sonunda kimseyi işe almak istemediler, ama bu farklı bir hikaye.
Aston

3

4 saatiniz olmayabilir, ancak şirketleriyle daha fazla ilgilenen biri mutlaka olacaktır. Esasen, bir şirketin benden önce sadece görevi yapmamı istediği benzer bir işe dayanarak işe alındım. Anlaşılan, temiz ve anlaşılır kod yazmak, kapsamlı test senaryoları ve anlaşılabilir ve tutarlı tasarım dokümantasyonu yazmak bir anormallik. Aslında birinin yaptığını görmek insanları mahvetti. Her neyse, röportajda konuştuğum herkes bana yaptıklarım için övgüde bulundu ve röportajda kimseyi etkilemek zorunda olmadığımı hissettim, çünkü çoktan kararlarını vermişlerdi. Basitçe benim için aptalca bir şey yaparak hayır demek için bir sebep vermemem meselesiydi.

Bu yüzden, 4 saatin oldukça büyük bir zaman yatırımı olduğu konusunda hemfikir olmama rağmen, işin ne yapabileceğinizi gerçekten gösterme şansına sahip olmanız yeterli. İşiniz çok iyi, gerçek bir görüşme durumunda olabileceğinizden daha fazla ses konuşabilir.

Not olarak: Son zamanlarda benzer bir şey denedim ama çok daha küçük bir problem kullandım ve sonuçlardan hiç memnun olmadım. Küçük problemler, kişinin bilgisini yeterince göstermek için önemsizdir. Ayrıca, önemsiz sorunlar, kişinin sorunu çözmek için gerekli bazı hile / ayrıntıları tanımasını gerektirir. Bu nedenle, bir kişinin zamanını çok fazla almakla gerçek fayda elde etmemek arasında bir denge vardır çünkü görev önemsizdir. 4 saatlik bir görevin, adayların yeteneklerini gösterebilmeleri için yeterince karmaşık olması ve kimsenin rahatsız etmeyeceği kadar uzun olmamalarının muhtemelen doğru zaman olduğunu düşünüyorum.


Cevap için teşekkürler. Biraz kendi kendine yansıma, cevabınız ve odağı kendimden şirkete verme denemesinden sonra, bunun perspektifinden nasıl makul olabileceğini görebiliyorum. Belki de süreçleri oldukça fazladır, 4 saatlik bir çalışma yapın ve birinden hoşlanırlarsa davet edip bir teklif verirler. Belki de insanların kötü durumdayken yaşadıkları kötü deneyimler yaşadılar, ancak daha büyük görevlerde değillerdi ya da iyi aday olmayanlar ile görüşmeye çok zaman harcadılar. Hala 4 saat biraz fazla düşünüyorum, ama yapabilirim ...
Aston

1

Bir noktada 6 saatlik kodlama testi yaptım. Bu sınava girdiğimde işe alınacağım konusunda oldukça yüksek bir güvene sahiptim - bu gerçekleşirken takipten memnun kalmamıştım.

Açıkçası her biri 4 saat isteyen çok sayıda işveren olması aşırı derecede fazla. Testte aradığım kişi kodlama tarzımdı - işe alındım çünkü benimki ona en yakın olandı. Bu bağlamda soruna şu açıdan bakın: Birincisi, her durumda çözmenin sizin için değerli olduğu ilginç bir sorun mu var? Ne de olsa değerli bir şey öğrenebilirsin.

İkincisi, testi 'geçebilirseniz', işe alındığınız anlamına mı geliyor? Bu oldukça açık değilse, o zaman bunu yapmanın başka sebepleri olup olmadığına karar vermelisiniz.

Üçüncüsü, '4 saat' sürdüğünü tahmin edebilirler, ancak farklı şekilde öğrenebilirsiniz. Bunun ne kadar sürmesi gerektiğini gerçekten biliyorlar mı? Büyük olasılıkla cevap hayır. Bu nedenle, dört saat içinde sığmayacaklarını anlayana kadar insanları 4 saat sonlarında test etmeye devam edecekler. Bu durumda zamanınızı boşa harcıyorsunuz. O zaman en iyi yaklaşım işe alım müdürüyle saldırganlaşmak ve dört saatte durup onlara ne vereceğinizi ya da bitinceye kadar devam edip etmemelerini söyleyip beklememelerini anlamaktır. Kısacası, bunun içine sarılmış bir karakter testi olabilir ve bunu basitçe şartlarıyla kabul etmeye çalışmak deneyimsizliği ortaya çıkarabilir.

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.