- MemSQL'de (şimdi SingleStore) 2013'te aldığım veritabanı ile ilgili programlama görevi
→ "Memcached gibi bir anahtar-değer deposuna incr / decr benzeri bir mult komutu ekleyin. Size 1 saat vereceğim."
- Bu soru, adayları üç tipe temiz bir şekilde ayırdığı için mükemmel bir teknik mülakat problemi
- Tip 0: Gerçek kodla uğraşmaları gerektiğine şaşıranlar. Aslında bu aşamaya kadar gelemezlerdi ama yine de işe alınmamalılar
→ O dönemde MemSQL C++11 ile geliştiriliyordu, bu yüzden C ile yazılmış Memcached'e dokunmak amaçla gayet uyumluydu.
- Tip 1: Sorunu görüp "Çarpma, toplamanın tekrarıdır; o zaman mevcut olanı tekrar ederim! Ama kilitleri de yönetmek gerekir..." diyenler
→ Uzun süre debelenip çalışan kod üretemeden başarısız olurlar. Yine işe alınmazlar
- Tip 2: "Çarpma, toplamanın
+ yapılan yerde * yapılması dışında aynıdır" deyip Copy&Paste yaparak + işaretini hızla * ile değiştirenler
→ Bu gruptakilerin işe alınma olasılığı çok yüksektir
- En iyi adaylar ise... hâlâ bolca zamanları kaldığı için çıktıyı cilalayabilir, biçimlendirmenin tutarlı olup olmadığını kontrol edebilir, unit test ekleyebilir ve hatta "tasarım kararları"nı yeniden gözden geçirebilirler
Sonuç
- Bu programlama görevini sevmemin nedeni, gerçek programlamanın küçültülmüş bir modeli olması
- Büyük bir kod tabanını bakımda tutarken, tam olarak anlamadığınız kodlar veya gereksiz deyimsel kalıplar mutlaka olur
- Bu problem, tek bir doğru cevabı olduğu için mülakat için biçilmiş kaftan:
bool incr değerini int opcode olarak değiştirmek
- Şu anda iki aritmetik işlem komutu (
incr/decr) var ve bunu üç komuta genişletiyorsunuz
- Bu görev, yetersiz adayları elemek ve nitelikli adayları doğru yola yönlendirmek için çok iyi tasarlanmış bir problem
3 yorum
İlgili kodu ne kadar hızlı bulabildiğinizin önemli bir belirleyici nokta olacağı anlaşılıyor.
Sıfırdan bir programı baştan yazmak yerine, mevcut koda — üstelik zaten iyi bilinen ve yaygın olarak kullanılan bir açık kaynak projeye — özellik ekleme yaklaşımı olduğu için bunun daha iyi olduğunu düşünüyorum.
HN'de de her zamanki gibi... orijinal mülakat sorusunu ortaya atan kişi çıkıp AMA yapıyor. https://news.ycombinator.com/item?id=31065143