Microsoft gibi büyük teknoloji şirketlerinin çoğu temel olarak veri yapılarına odaklanmaktadır. Veri yapıları mezunlardan bekledikleri tek şeymiş gibi görünüyor.
Hayır, dahası var. Örneğin, aynı zamanda size kısa bir miktar içinde yeni çerçeveler, API'ler ve hatta programlama dilleri öğrenebilir hızlı bir öğrenci olmasını bekliyoruz. Çıplak asgari bir çubuktur. Yeni bir çerçeve, API veya dil öğrenmek için uzun zaman alan biri, Microsoft'taki çoğu ekipte başarılı bir geliştirici olmayacaktır.
Ve elbette, veri yapılarının ham bilgisinden başka görüşmelerde odaklandığımız daha birçok konu var. Belirsiz özelliklerle başa çıkma yeteneği, örneğin, güvensiz kod üreten kodlama modellerini veya bir düzine başka şeyi tanıma yeteneği. Ancak veri yapılarını anlama yeteneği kesinlikle çok büyük bir tanesidir.
Öyle özellikle görüşmeler son CS mezunlarının veri yapılarının test bilgisi doğru eğilimli olmaktadır olgusu. Birçoğu gerçek dünya deneyimi olmayan yeni mezunların, on beş yıllık endüstri deneyimine sahip birisinin iyi olacağı şeylerle iyi olması beklenmemektedir.
İtiraf etmeliyim ki, veri yapılarında o kadar güçlü olmadığımı
Kendin hakkında bunu bilmen güzel. Bunu kendinizle ilgili olarak değiştiremiyorsanız veya istemiyorsanız önerim, veri yapıları olan tesis gerektiren bir işe başvurmamanızdır.
Bu genel bakış açısı iyi bir programcının mutlaka veri yapıları hakkında iyi bilgisi olan bir kişi olduğu yönündedir.
İyi bir programcının, inşa edilmesi gereken çeşitli programları oluşturmada iyi olan bir programcı olması tatolojiktir. Birçok programcı, veri yapıları hakkında derinlemesine bilgi gerektirmeyen işler üzerinde çalışır. Bazıları, örneğin, kullanıcı arayüzü tasarımı hakkında derinlemesine bilgi gerektiren görevler üzerinde çalışır. Veya veritabanı normalleştirmesi. Ya da her neyse. Bu insanlar hala kendi alanlarında "iyi programcılar" olabilir.
neden tüm bu veri yapılarına vurgu yapıyor?
Veri yapıları hakkında röportaj soruları soruyorum çünkü ekibimde geliştiriciler her gün karmaşık veri yapılarını tasarlıyor, uyguluyor ve yönetiyor. Dün yarım düzine geliştiricinin belirli bir ağaç düğümüne tek Boole alanı eklemenin artılarını ve eksilerini tartıştıkları dört saatlik bir toplantı yaptık. Muhtemelen ekibimde veri yapılarını derin bir seviyede anlama yeteneğinden daha önemli bir beceri yoktur. Yaptığımız şey bu olduğundan röportajda soru sormamak aptalca olurdu.
Veri Yapıları hakkında bilgi sahibi olmak, birinin programlamadaki kariyerini gerçekten etkilemiyor mu?
Bu kesinlikle benim takımımda iş bulmanızı önleyecektir. Ama daha önce de söylediğim gibi, programlama çok büyük bir alandır. Veri yapıları hakkında bilgi gerektirmeyen birçok bilgisayar programı vardır.
iyi ve kötü bir programlayıcıyı ayırt etmek için bu konudaki bilgi gerçekten yeterli mi?
Hayır. Ancak Microsoft'ta başarılı olamayacak geliştiricileri tespit etmek neredeyse her zaman yeterlidir. Öncelikle tespit etmekle ilgilendiğim şey olduğundan, veri yapılarının bilgisi görüşmelerde test ettiğim faktörlerden biri.