ReSharper'ın kodlama röportajları üzerindeki etkisi [kapalı]


18

R # veya CodeRush kullanan herkes, basit klavye kısayoluyla basit yapıları (ve karmaşık yapıları yeniden düzenleyen) ne kadar hızlı bir araya getirebileceğinizi bilir. Ancak, bu üretkenlik eklentileri görüşmeler sırasında yeteneklerin yanlış değerlendirilmesine neden oluyor mu?

Üretken bir kod yazarı olmanın bir parçası (ve bir röportajda iyi bir ilk izlenim bırakmak) iyi kod - hızlı yazmaktır.

İki adayım olsaydı:

  1. Eklenti kullanmaz. Sorunu düşünüyor, görüşme bilgisayarında tam olarak onun gibi görünen ve her zamanki gibi bir veya iki dakika içinde kodu yazan bir stok IDE'ye oturuyor. Bitti. Geçmek.

  2. Eklentileri kullanır. Sorunu düşünüyor, görüşme bilgisayarında hisse senedi IDE'sine oturuyor ve "fe + tab" nın artık otomatik olarak bir foreach döngüsü yazmadığını ve tüm kısayolların kaybolduğunu fark ediyor. Daha sonra normal kısayol tuşlarına basarak ve garip pencereleri açıp kızarmak için klavyenin etrafında dolanır. Normalde 30 saniye sürecek şeyi yazması 3 dakika sürer. Bitti. Zaman zaman IDE etrafında yollarını bilmiyor gibiydi. Bu IDE için yeni olmalı ve bu nedenle onunla veya belki de dil ile ilgili çok fazla deneyime sahip değildi. Pass, ama adlarının yanında bir 'meh' işareti.

Deneyiminize göre, görüşmeci veya görüşmeci olarak görüşmeler sırasında eklentileri nasıl ele alıyorsunuz? Adayın gerçekten bildiklerini elde etmek için en iyi uygulamalar nelerdir? Kodu anlamayan ve R # değerini koltuk değneği olarak kullanan adaylar olabilir. Kodu içeri ve dışarı bilen ve R # kullanan adaylar da olabilir, çünkü yerleşik VS veya Eclipse şablonlarından daha hızlıdır. IDE'yi hiç kullanmamak en iyisi midir? Kendi bilgisayarlarını getirmelerine izin verilsin mi? Diğerleri?


4
Bu soruyu konu dışı olarak kapatmak için oy kullanıyorum çünkü bu soru, yardım merkezi başına konu dışı olan iyi röportajın nasıl yapılacağı ile ilgilidir . Bununla birlikte, bu sorunun bir konu bileşeni vardır, yani " ReSharper gibi araçlar kişinin böyle bir araç olmadan kodlama yeteneğini nasıl etkiler "), ancak bu soru olarak düzenlemek bir düzenlemeye karşı çok agresiftir ve mevcut cevapları geçersiz kılar.
durron597

Standart bir IDE'de demo kodu yazmak zorunda kalsaydım, :wher yerde rastgele işaretlerle doldurulurdu .
LindaJeanne

Yanıtlar:


31

Çok yakın zamanda bir röportajda 2. aday oldum . Standart olmayan bir klavyeye ve alışılmadık test çerçevesine sahip bir PC'ye IDE'nin vanilya yüklemesi verildi ve birim testleri ile basit bir Fizz-Buzz uygulaması yazmam istendi. Kabarttım. Kod kesmek için çalışırken karanlıkta tökezleyen tam bir çaylak gibi görünmeliydim. Söylemeye gerek yok, ben pozisyon teklif değildi.

Öğrendiğim, eklentilerime çok fazla güvenmem. Onlar sadece daha hızlı yazılan kodu almak değil - aslında kod hakkında düşündüğüm şekli ve kodlama hakkında gitmek şekli. Örneğin, değişken isimler hakkında çok dikkatli düşünürdüm, çünkü gerçeklerden sonra değişmek için bir acı olabilirler. Şimdi, tam tersine, sadece değişkeni nasıl kullanacağım, bazı kodları hackleyeceğim, değişkenin ne için olduğunu söyleyeyim ve sonra Refactor-> Yeniden Adlandır'a basarak daha uygun bir şey diyeceğim .

Bu beni daha az yetenekli aday yapıyor mu? Bazı yönlerden, bence öyle . Not Defteri'nde kod yazabilen ve derleme ve doğru bir şekilde çalıştırabilen birinin, benim gibi alabileceği tüm IDE iyiliğine ihtiyacı olan biri üzerinde bazı avantajları vardır. Bu açıdan bakıldığında, herhangi bir şirketin neden benim gibi bir takım başı kiralamamayı tercih ettiğini mükemmel bir şekilde anlıyorum.

Öte yandan , hala yetenekli ve yetenekli bir Kıdemli Geliştiriciyim. Benim için neyin işe yaradığını öğrendim ve kendi zayıf yönlerim ve sınırlamalarım dikkate alındığında beni üretken yapan tembelliği uyguluyorum. Kısacası, beni geri çeviren gibi bir şirkete gerçekten fayda sağlayabilecek bir programcıyım .

İlginçtir, birkaç hafta önce bir röportaj daha yaptım. Önceki deneyimlerimin ardından, ek araçlar veya bunları satın almak için bütçe hakkında bir soru sordum. Vardı ne ki (daha doğrusu cömert) teklifine aşağı çevirerek bana bir neden daha verdi keşfetme onlar için yapılmış bana .

Dolayısıyla, Groucho'yu yeniden yorumlamak için, " Bir çalışan için benim gibi birine sahip olacak hiçbir şirkete katılmam. "

Yine de ReSharper kullanmama izin vermedikçe hayır.


2
İnsanlarla röportaj yaptığımda boş bir kağıda kod yazmalarını sağladım. Güzel olması gerekmiyor ve derlenmesi gerekmiyor, ancak hedef dile benzemesi gerekiyor. Çalışan bir ürün aramıyorum; aradığım şey bir düşünce modelidir; görüşmeci sorunları düşünebilir ve kod kullanarak çözebilir mi?
Robert Harvey

BTW Mevcut ekonomik iklimde cazip teklifleri geri çevirebilmek güzel olmalı .
Robert Harvey

12

Onlara ( adaylara, yani ) istedikleri şeyi kullanmalarına izin verin . Eski, sadece yaklaşabileceğinizi göstermek için İsviçre çakısı ile bir Wal-Mart inşa edin . Günlük işlerinde ne gerekiyorsa kullanacaklar (umarım, umarım ki) röportajda istediklerini kullanmalarına izin verin. Nihai sonuç önemlidir. Ve piyasada hangi araçların mevcut olduğunu ve bunları verimli bir şekilde nasıl kullanacağını bilen bir adayı daha memnuniyetle kiralayacağım, o zaman hepsini manuel olarak yapan kişiyi. Bu bir katil endüstrisi.

ps Örnek olarak, Vim'i (veya Emacs'ı) düşünün - herhangi bir özelleştirilmiş ayar, eklenti vb. olmadan kullanmak ister misiniz?


+1 Ayrıca, kodlama göreviniz gerçekten sadece foreach hakkında bildiklerini kontrol ediyorsa, gerçekten ne kadar yararlı olduğunu soruyorum (FizzBuzz gibi bir şey bile bundan çok daha fazla bakıyor). Java topluluğundan biriyle sohbet ediyordum ve Resharper'ı kullandıklarında iyi .net kodlayıcılarının kim olduğunu söyleyebileceğinizi söyledi. Bunun% 100 doğru olduğundan emin değilim - ama
anladınız

1
Röportajda beyaz tahtaya kod yazmak için aday edinme, programlama yeteneklerinde ÇOK ortaya koymaktadır. Bir görüşmeci olarak, bu kişinin rolü ne kadar desteklemesi gerektiği konusunda bir karar çağrısı yapıyorsunuz.
Michael Shaw

8

ReSharper gibi araçların sizi gerçekten daha iyi bir aday haline getirdiğini iddia ediyorum.

Birincisi, ReSharper gibi bir şey size bilmediğiniz dil yapıları ve kodunuzu bir sorun hakkında düşünmeye veya okunabilirlik için yapılandırmaya yönelik daha iyi yollar hakkında öğretecektir. ReSharper, bir anlamda, kötü veya eski alışkanlıklara geri dönmenize veya kötü tür tembelliklere geri dönmenize izin vermek yerine, askı kodu için en iyi uygulamalarla sizi keskin tutar.

İyi bir kodlayıcının temel yapıları anlaması gerekir, ancak bunları elle yazmaz. İyi bir tembel, aletlerin sıkıcı işlerini yapmasına izin verir ve tasarruf edilen ekstra zaman bunun yerine sorunu düşünmek için harcanır. Bu, genel olarak daha iyi bir geliştirici yapar.

Akıl yürütme çizgisini, görüşme süreci sopa ve taş bıçakları tercih ederse, temelde kırıldığını belirterek tamamladım.


1

İnsanlardan IDE'de değil, beyaz tahtada kodlamalarını istememin nedenlerinden biri budur. Oyun alanını düzleştirir. Ve insanlar "ah canım, yeniden şekillendirici bunu genellikle benim için halleder" derler. Heck, yerleşik snippet'ler, beyaz tahtanın size veremeyeceği döngüler ve benzeri şeyleri ele alır. Bu durumda "Umarım noktalama işaretleri oradadır; Ben bir R # erkeğiyim" gibi bir şey söylemek muhtemelen sana karşı bazı sözdizimi sorunları tutmama engel olmak için ihtiyacın olan tek şeydir.

Beyaz tahtaya anlaşılabilir kod yazma yeteneğine ihtiyacım var, böylece işleri nasıl yapacağımızı öğrendiğimiz bir toplantı yapabiliriz. Ve elbette, hayatınızda gerçekten kod yazıp yazmadığınızı görmek istiyorum. Mülakatlarınız değişebilir.


Tüm Beyaz Tahta işini neden yapmak istediğinizi tamamen anlıyorum - bunun çok sayıda kötü adayı ayıkladığını düşünüyorum - ama aynı zamanda büyük bir yetenek de ayıklayacaktır. Tabii ki, iyi bir beyaz tahta havuzunuz olduğu sürece bunun bir sorun olması gerekmez.
Kramii

2
@Kramii: Bilirsiniz, "büyük" yetenek kendilerini ve kodlarını bir beyaz tahta ile açıklayabilmelidir. Bu yüzden onları neden ayıklayacağını gerçekten göremiyorum.
Spoike

1

Harika bir soru BTW - Bunu sık sık düşündüm.

Araç ustalığı, iyi bir geliştirici olmanın merkezinde yer alan bir beceridir. Bir geliştirici , bir IDE kullanarak not defterinde kodlamayı tercih ettiğini iddia ettiğinde alarm zillerinin çaldığını her zaman hissettim . Süreçle üründen daha fazla ilgilendiğini gösteriyor.

Toprağa bir traktörle çapa kadar gitmeyi tercih etmek gibi - hobi bahçıvansanız iyi, ancak rekabetçi bir ekonomide endüstriyel bir çiftçi olarak desteklenemez.

Ancak, araçlarımıza bağımlı hale geliriz. İnsanlar, araçlarımızın aniden alındığı varsayımsal durumla nasıl başa çıkacağımız konusunda korkuyor gibi görünüyor. Hesap makinelerinin sınavlara girmesine izin verme konusunda da aynı argüman vardı.

Gerçek şu ki, araçlar her yıl daha iyi ve daha iyi ve daha ucuz ve daha ucuz oluyor ve onlarsız olacağını varsaymanız için hiçbir neden yok. Ve araçlar, yüksek kalitede tekrarlayan şeyler yapmakta harikadır - bu, inanılmaz homo-sapien akıllılarımızın tüm gücünü zor (ve ilginç) parçalara odaklayabileceğimiz anlamına gelir.

ReSharper, Visual Studio'ya harika bir ektir. Şu anki şirketim röportaj yaparken ReSharper'a sahip değildi - ama röportajımda o kadar inatçı davrandım ki pozisyonu kabul ettiğimde bana bir kopya aldım ve benimle görüşen geliştirici için bir kopya aldım. Şimdi şirket genelinde kullanıma sunuluyor. İyi araçlar hiçbir zaman kendileri için ödeme yapmaz.

Bu yüzden soruyu cevaplamak için: araçlara bağımlılığınız bir röportajda yeteneklerinizin yanlış değerlendirilmesine neden olabilir , ancak görüşmecinin yeteneklerinin her zaman doğru bir değerlendirmesini verecektir. Bir şirket görüşmenizde araç desteğinin değerini bilmiyorsa - onlara ışığı göstermelisiniz. Ve eğer hala görmezlerse, o zaman orada bir pozisyon kabul etmekten çok endişe duyarım.


Çalışmaya alışkın olduğum araçlar ve şirketten ne beklediğim hakkında yapılan röportajlarda çok netim. Bazı şirketlerin her geliştirici için yalnızca bir monitör sağladığını düşünüyor musunuz? Bir röportajcıya "Yarı hızda koşuyorum çünkü güvendiğim araçlar burada değil" demede bir sorunum yok, özellikle de tuş kombinasyonunu kullandığımda ve çalışmıyor. Nominal bir vanilya IDE'sinde bile bir şeyleri özelleştiriyorum, çünkü ellerim şeylerin nerede olduğunu biliyor ve yeniden eğitimden rahatsız olamıyorum. Dvorak klavye ya da Almanca yorum yazmak ya da bana vermek istedikleri diğer handikaplar için.

@moz - İşverene, araçlara yatırım yapmadan en iyi şekilde yararlanamayacaklarını söylemelisiniz. Bir adım daha ileri gidip doğru araçları edinmelerini sağlarım. Muhtemelen onlar için çalışmak çok eğlenceli olmayacak. Bir şeyi manuel olarak yeniden düzenlediğinizde, zamanınıza yeterince değer vermediğiniz için onları lanetleyeceksiniz. Vasat bir yerde çalışmak gelecekteki kazanç gücünüzü de etkileyebilir. İki geliştiricinin farklı kısayol yapılandırmaları varsa, herhangi bir çift programlama yaparsanız ilginç olabilir. Mümkün olduğunca standart yapılandırmaya uymaya çalışıyorum.
sheikhjabootie
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.