Son zamanlarda Facebook'un, doğru şekilde tamamlandığında otomatik olarak bir telefon görüşmesi alacağınız bir programlama zorluğu yaşadığını öğrendim.
Tower of Hanoi tipi problemi çözebilecek bir algoritma yazmanızı isteyen bir örnek zorluk var . Bir dizi mandal ve disk verildiğinde, ilk ve son yapılandırma; Algoritmanız, son yapılandırmaya ulaşmak ve adımların çıktısını almak için mümkün olan en az adımı belirlemelidir.
Bu örnek meydan okuma size 45 dakikalık bir zaman sınırı verir, ancak zaman sınırınızın süresi dolduğunda geçip geçmediğini görmek için kodunuzu test etmenize izin verir.
Çözebilecek herhangi bir sevimli matematik çözümü bilmiyordum ve hile olacağını düşündüğüm için bir tane aramak istemedim. Bu yüzden, kendi başıma en iyi sorunu çözmeye çalıştım.
Çalışan ve geçen bir algoritma yapabildim. Ancak, 45 dakikalık gereksinimden çok daha uzun süre yapmak 4 saatten fazla sürdü. Beni ayrılan zamandan çok daha uzun sürdüğü için, asıl zorluğu denemedim.
Bu beni meraklandırdı, gerçekte bu kadar uzun sürmemin gerçekten önemi var mı? Demek istediğim, bu böyle bir yerde (sadece Facebook değil, Google, Fog Creek, vb.) Bir iş bulamayacağım ve beklentilerimi düşürmem gerektiğinin veya gerçekten geçtiğim gerçeğinin bir işareti ilk denememde çok uzun sürmesine rağmen iyi olarak alınabilir mi?