Gần đây tôi phát hiện ra rằng Facebook có một thách thức lập trình rằng nếu hoàn thành chính xác, bạn sẽ tự động nhận được một cuộc phỏng vấn qua điện thoại.
Có một thử thách mẫu yêu cầu bạn viết một thuật toán có thể giải bài toán loại Tháp Hà Nội . Cho một số chốt và đĩa, một cấu hình ban đầu và cuối cùng; Thuật toán của bạn phải xác định các bước ít nhất có thể để đi đến cấu hình cuối cùng và xuất các bước.
Thử thách mẫu này cung cấp cho bạn giới hạn thời gian 45 phút nhưng cho phép bạn vẫn kiểm tra mã của mình để xem liệu nó có vượt qua khi giới hạn thời gian của bạn hết hạn hay không.
Tôi không biết bất kỳ giải pháp toán học dễ thương nào có thể giải quyết nó và tôi không muốn tìm kiếm một giải pháp nào vì tôi nghĩ đó sẽ là gian lận. Vì vậy, tôi đã cố gắng tự mình giải quyết thử thách tốt nhất có thể.
Tôi đã có thể tạo ra một thuật toán hoạt động và thông qua. Tuy nhiên, tôi đã mất hơn 4 giờ để thực hiện, lâu hơn nhiều so với yêu cầu 45 phút. Vì nó khiến tôi mất nhiều thời gian hơn so với thời gian quy định, tôi đã không thử thách thực tế.
Điều này khiến tôi băn khoăn, mặc dù trong thực tế, nó có thực sự khiến tôi mất nhiều thời gian như vậy không? Ý tôi là đây là một dấu hiệu cho thấy tôi sẽ không thể có được một công việc tại một nơi như thế này (không chỉ Facebook, mà cả Google, Fog Creek, v.v.) và cần phải hạ thấp nguyện vọng của tôi, hoặc thực tế là tôi đã thực sự vượt qua trong nỗ lực đầu tiên của tôi mặc dù mất quá nhiều thời gian có tốt không?