Bu siteyi ve SO'yu okumak, bir adayın sıfırdan bağlantılı bir liste uygulamak zorunda olduğunu söyleyen çok sayıda röportaj soruları ve cevapları gördüm. Genellikle bu, FizzBuzz'ı yazmak gibi adayların programlanması için bir "alıştırma" alıştırmasıdır. Buradaki fikir eğer aday bunu yapamazsa, programlayamazlar ve neredeyse derhal reddedilmeleri gerektiğidir.
Ancak, yardım edemem ama bunun aşağıdaki nedenlerden dolayı kötü bir uygulama olabileceğini düşünüyorum:
- C # ve Python gibi modern üst düzey diller, listeleri yaygın olarak kullanır; Kendi bağlantılı liste nesnenizi yazmak, sadece olağandışı koşullar altında ve daha sonra muhtemelen tavsiye edilmeyen durumlarda gerekli olacaktır.
- C ++ gibi daha düşük seviyeli diller, yineleyiciler / liste kapları ve nesnelerle standart kütüphanelere sahiptir.
- İlk iki nokta ışığında kodlayıcılar, bir listeyi (bağlantılı, çift bağlantılı, vb.) Kendileri uygulamayı bile düşünmeden yıllara gidebilirler. Bazıları üniversite günlerinden beri böyle şeyleri görmeyebilir bile.
- Bilgi işlem gücü aynı zamanda yıllar öncesindeki faktör değildi, bu yüzden işaretçilerle verimlilik eskiden olduğu gibi değil.
- "Bağlantılı liste örneği" gibi basit bir web araştırması, başvurucunun gerçek yeterliliğini göstermeyecek şekilde ezberlenebilecek ve geri atılabilecek birçok kod örneği ortaya çıkarır.
Açık uçlu sorulara / adayların problem çözme / eleştirel düşünme yeteneklerine ilişkin tartışmalara öncülük etmek için bağlantılı bir listeyi kullanmanın büyük olasılıkla gerçekten iyi bir röportaj uygulaması olduğunu söylemeliyim . Herhangi bir şekilde görüşmeci, bir başvuru sahibinin neye benzediğini ve kitlenin nasıl yararlı olduğunu düşündüğünü gerçekten görebilir.
Bir masaüstünde veya web uygulamasında çalışan programcılar için "bağlantılı liste kodu yok, iş yok" un bu ikili yaklaşımının biraz modası geçmiş olduğunu düşünüyorum. Aynı zamanda oldukça zararlı olabilir; Bir listenin başı ile nasıl düzgün çalışacağını hatırlayamayan bir aday, mükemmel bir kodlayıcı ve iş arkadaşı olabilir ve karışımda kaybolabilir. Düşünceler?
EDIT : Sorulması iyi ya da kötü bir soru olup olmadığını işin bağlamına bağlı olduğunu gösteren birçok (iyi) yorum vardır. Kesinlikle katılıyorum, bu yüzden bu soruyu tekrar söylememe izin verin: Bağlantılı bir listeyi uygulamak, FizzBuzz gibi sorulara benzeyen çok geniş bir kodlama işi yelpazesi için ortak bir görüşme sorusu veya faktoriyalleri hesaplamak için özyinelemeli bir işlev yazmaktır. Bu soru, program adaylarını genel kurulda değerlendirmek için yaygın olarak kullanılacak yeterli faydaya sahip midir? Ya da "Kıdemli Geliştirici, Katıştırılmış Bağlantılı Listeler Ekibi" konumları dışında sorulacak kötü bir soru mu düşünülmeli?