it-swarm.asia

İyi röportaj programlama projeleri

Potansiyel çalışanlara programlama yeteneklerini ölçmeleri için verebileceğim bazı küçük programlama projeleri arıyorum. Bunlar doğrudan kolej dışında programcılar olacak. Birini birkaç saat sürecek projeler arıyorum ve görüşme sonrası cevaplarını e-postayla gönderecekler.

Bunun bir örneği, bu metin paragrafını alıp alfabetik benzersiz kelimelerin bir listesini döndürmek olacaktır. Her bir Word'den sonra, Word'ün kaç kez göründüğünü ve Word'ün hangi senaryolarda göründüğünü söyleyin.

Herkes iyi bir öneriniz var mı?

26
bigtang

Uzun zamandır birisinin kısa sürede yapabileceği hiçbir şeyin bana o kişi hakkında yararlı bir şey söyleyemeyeceği sonucuna vardım. Ancak her iyi adayın size çok şey söyleyebilecek kişisel projeleri vardır. Bu yüzden, belirli zorlukları "bana gurur duyduğun ve adını damgalamaktan mutluluk duyduğun bir kod ver" ile değiştirdim.

Onların seçim projesi size herhangi bir saatlik görevden daha fazlasını söyler. Ve sonra daha da fazla bilgi edinmek için tartışarak bir saat geçirebilirsiniz.

43
pdr

Bu akıl almaz saçmalıktan çok yoruldum. Kod örnekleri için bana sordu, onları parçaladı ve sonra onların 2 yaşındakiler kırık tarafından yazılmış gibi görünüyordu sistemlerden örnek kod açıklamak istedi. Benden belirsiz sıralama algoritmaları, ağ hizmetleri, guis, veri yapıları (her zaman bir ağaç veya bağlantılı bir liste) uygulamam istendi. Görüşmecinin ne düşündüğüne dair sinir bozucu soruların her çeşidi, programlamanın en önemli parçasıdır.

Sonunda hepsi işe yaramaz. Bir çalışanı değerlendirmenin en iyi yolu onu 30 gün boyunca işe almak ve işi ne kadar iyi yaptığını görmektir. Testleri geliştirmek istediğiniz her zaman harcayın, bu size birisinin günlük olarak nasıl çalıştığı hakkında bir şey söylemez.

28
Satanicpuppy

Birinin kendi zamanında pratik bir proje yapmasına izin vermek, mutlaka bunu yapanların kendileri olduğu anlamına gelmez.

Herkes röportaj için erken gelir (en azından olmalı). Onları görmeye hazır olana kadar üzerinde çalışmaları için bir 'siz beklerken' sayfamız var. Bir başvuru sahibinin temel olarak kullandığımız dilde bilgisini test eden sekiz (8) sorusu vardır.

Herkesin önlerinde bir bilgisayarla onları doğru olarak alabileceği için, herkesin cevaplarının doğru olmasını istemiyoruz. Süreci arıyoruz, hatta soruyu deniyorlar mı, cevaplarına nasıl geliyorlar.

Röportaja girdiğimizde, onlarla birlikte ilerleriz ve soruları doğru cevapları almaları için cevaplayabiliriz. Ayrıca, cevaplarını nasıl aldıklarını sormamızı da sağlar.

Bu, önceki çalışmalarla birleştiğinde, adayları filtrelemenin en iyi yolları olduğunu görüyoruz.

GÜNCELLEME 2016/06/15

Geliştiricileri işe alma şeklimizi önemli ölçüde değiştirdik.

Aşama 1: 7 soru sorduğumuz 15 dakikalık bir telefon görüşmesi. İlk 2, "Üzerinde çalıştığınız en eğlenceli şey nedir?" (programlama ile ilgili olmak zorunda değildir) ve "Boş zamanlarınızda eğlence için neyi kodlarsınız?".

Aşama 2: Kendi zamanında tamamladıkları mini bir proje. Daha sonra onlarla bir ekran paylaşımı yapıyoruz ve bize ne inşa ettiklerini gösteriyorlar. Ekran paylaşımı sırasında, projelerinde iki değişiklik yapmalarını ve ardından bunun üzerinde çalışmalarını ve çalışmalarını izlemelerini sağlıyoruz.

Aşama 3: Yüz yüze görüşme.

Bu süreç kültürün hemen uygun olduğunu anlamamıza izin verir (aşama 1). Eğer işi yapabilirlerse ve konuşmalarıyla yürürlerse (2. aşama). Son olarak, değerlerinin aradığımız şeyle aynı olduğundan emin olun (aşama 3).

12
RDL

Jon Jagger 'ın fantastik Cyber-Dojo ' a göz atmak isteyebilirsiniz.

kasıtlı uygulama of Test Odaklı Geliştirme ve takım dinamikleri hakkında bilgi edinmek için tasarlanmış web tabanlı bir entegre ortamdır. Çok sayıda küçük programlama görevi (kata) vardır ve Python ve Ruby - Java) arasında bir dizi dili destekler. ve C++.

Verimlilik için tasarlanan IDE'lerin aksine, kod tamamlama, sözdizimi vurgulama veya otomatik yeniden düzenleme yoktur, böylece görüşme yaptığınız kişinin bunlar olmadan neler yapabileceğini görebilirsiniz.

En iyi şey, bir kata yaptıktan sonra geri dönüp her kata'nın kırmızı/yeşil ilerlemesine (veya belki TDD * 8 'yapmazlarsa bakabilirsiniz) bakabilirsiniz. Her derleme/test, test sonuçlarıyla birlikte git deposundaki değişiklikleri yapar.

Görüşme kodlama testleri için bunu kullanmanın sadece adayların bir sorunu çözme yeteneği değil, aynı zamanda problem çözme yaklaşımları ve hakkında çok şey söyleyebileceğini düşünüyorum. dış etkenlerle kısıtlanmadığında kullandıkları süreç, adayın üzerinde harcamak istediğiniz zamana uygun bir kata seçmeniz yeterlidir.

Kendi CyberDojo sunucunuzu istiyorsanız, tüm proje github'da bulunabilir ve oradan bağlı bir Anahtar Teslim Linux cihazı sanal makinesi bile vardır, yani zaten VMware player veya VirtualBox yüklüyse, cihazı indirdikten sonra birkaç dakika içinde çalışmaya başlayabilirsiniz!

4
Mark Booth

Sadece bunu yapan bir şirketle görüştüm. 6 ya da 7 soruluk bir soru kağıdı verdiler. Talimatlar, her sorunu çözmek için bir yöntem yapmaktı.

Görevin bir kısmı, kodu yeniden kullanabileceğinizi anlamaktı. Sorunlar başka çözümlerden kod kullanabilir. Sıralı da değildi. Örneğin, 3. soru 5. soru için kullanılan yöntem kullanılarak yazılabilir.

Böyle bir şey denemenizi öneririm.

Sorulara gelince? Project Euler sitesindeki bazı başlangıç ​​soruları iyidir.

Bir projeyi nasıl bir araya getirebileceklerini görmek istiyorsanız basit bir oyunu da deneyebilirsiniz.

Ya da, bir şey bulmak istemiyorsanız, son projeden sizi bazı kodlarla göndermelerini isteyin.

3
Tyanna

İnsanlardan bir projeyi tamamlamalarını istemek için, aklınızda değerlendirmek ve projeyi bu becerileri test edecek şekilde tasarlamak istediğiniz belirli bir beceri kümesine sahip olmalısınız.

Bunun bir örneği, bu metin paragrafını alıp alfabetik benzersiz kelimelerin bir listesini döndürmek olacaktır. Her bir Word'den sonra, Word'ün kaç kez göründüğünü ve Word'ün hangi senaryolarda göründüğünü söyleyin.

Bu soruda ne arıyorsun? Bunu çözmek için kaç yol var ve her yaklaşım size cevabı yazan kişi hakkında ne anlatıyor? Bu soruya etkili bir cevapla gösterilen beceriler, işletmeniz için en önemli becerilerle aynı mı?

Bu soruların cevaplarını istemiyorum; Sadece bir grup adayı sürece tabi tutmadan önce cevapları düşünmeni istiyorum. Hangi becerileri aradığınızı biliyorsanız, bu becerileri aramak için bir soru oluşturmak zor değildir. Başka birinin sorusunu, neyi değerlendirmek için tasarlandığını (herhangi bir şey varsa) tam olarak anlamadan kullanırsanız, gerçekten kendinizi kandırıyorsunuz ve herkesin zamanını boşa harcıyorsunuz.

3
Caleb

Bunun bir örneği, bu metin paragrafını alıp alfabetik benzersiz kelimelerin bir listesini döndürmek olacaktır. Her bir Word'den sonra, Word'ün kaç kez göründüğünü ve Word'ün hangi senaryolarda göründüğünü söyleyin.

Bunu hangi dilde yazarlar? Eğer C'ye yoğun bir şekilde odaklanan bir okuldan geliyorlarsa, bu Python/Perl/Ruby vb. Öğreten kadar hızlı yazmak olmazdı ... hatta Java veya C #. Bununla birlikte, iyi bir küçük testtir.

Röportaj sırasında daha kolay olanları önereceğim. Hile sorusu yok. Bu konuda TMN ile birlikteyim. Onlara temel görevleri yerine getiren ve ne yaptıklarını soran (diğer insanların kodlarını okuyarak) birkaç işlev verin. Ardından, seçtikleri bir dilde yazmak için onlara birkaç temel görev (<20 satır) verin. Bu, bir giriş seviyesinin kod yazıp yazamayacağını bilmesi için yeterli olmalıdır (bir giriş seviyesi konumunda). Bu röportaj ve GPA ile birlikte bilmeniz gerekenler hakkında size iyi bir fikir vermelidir.

0
Awaken