เมื่อเร็ว ๆ นี้ฉันพบว่า Facebook มีความท้าทายในการเขียนโปรแกรมซึ่งหากทำอย่างถูกต้องคุณจะได้รับการสัมภาษณ์ทางโทรศัพท์โดยอัตโนมัติ
มีตัวอย่างท้าทายที่ขอให้คุณเขียนอัลกอริทึมที่สามารถแก้ปัญหาประเภทหอคอยแห่งฮานอยได้ เมื่อกำหนดจำนวนหมุดและดิสก์จำนวนหนึ่งการกำหนดค่าเริ่มต้นและขั้นสุดท้าย อัลกอริทึมของคุณต้องกำหนดขั้นตอนที่น้อยที่สุดที่เป็นไปได้เพื่อไปยังการกำหนดค่าขั้นสุดท้ายและส่งออกขั้นตอน
ความท้าทายตัวอย่างนี้ให้คุณ จำกัด เวลา 45 นาที แต่ให้คุณยังคงทดสอบโค้ดของคุณเพื่อดูว่ามันผ่านไปเมื่อหมดเวลาที่กำหนดหรือไม่
ฉันไม่รู้วิธีแก้ปัญหาทางคณิตศาสตร์ที่น่ารักที่สามารถแก้ไขได้และฉันไม่ต้องการค้นหาสิ่งใดเพราะฉันคิดว่ามันจะเป็นการโกง ดังนั้นฉันจึงพยายามที่จะแก้ปัญหาที่ดีที่สุดที่ฉันสามารถทำได้ด้วยตัวเอง
ฉันสามารถสร้างอัลกอริทึมที่ทำงานและผ่านไปได้ อย่างไรก็ตามฉันใช้เวลามากกว่า 4 ชั่วโมงในการทำนานกว่าข้อกำหนด 45 นาที เนื่องจากฉันใช้เวลานานกว่าเวลาที่กำหนดมากฉันจึงไม่ได้ลองการท้าทายที่แท้จริง
เรื่องนี้ทำให้ฉันสงสัยว่าในความเป็นจริงมันเป็นเรื่องสำคัญจริง ๆ ไหมที่ฉันใช้เวลานานขนาดนั้น? ฉันหมายถึงนี่เป็นสัญญาณว่าฉันจะไม่สามารถหางานในสถานที่เช่นนี้ (ไม่ใช่แค่ Facebook, Google, Fog Creek, ฯลฯ ) และต้องการลดแรงบันดาลใจของฉันลงหรือทำตามความเป็นจริงที่ผ่านมา ในความพยายามครั้งแรกของฉันแม้ว่าจะใช้เวลานานเกินไปจะดีไหม?