Thử Thách Top Coder của 8090
Bài đăng LinkedIn gốc
Kho GitHub của dự án
Tối thứ Sáu, tôi thấy một bài đăng công khai trên Twitter/X của Chamath Palihapitiya thông báo về một Thử Thách Top Coder mở do công ty mới của ông, 8090 Solutions, tổ chức. Bất kỳ ai cũng có thể tham gia. Thử thách sẽ diễn ra ngay vào ngày hôm sau, chỉ kéo dài 8 giờ, và liên quan đến việc đảo ngược kỹ nghệ một hệ thống hộp đen cũ bằng cách chỉ sử dụng dữ liệu lịch sử và một vài cuộc phỏng vấn với nhân viên.
Tôi quyết định tham gia!
Đến cuối ngày, tôi vinh dự xếp thứ 7 trong số 425 kỹ sư. Bạn có thể xem bảng xếp hạng TẠI ĐÂY và xem mã nguồn cho thử thách này TẠI ĐÂY. Nhưng, tôi không nói dối, thực ra tôi chỉ hy vọng hoàn thành được điều gì đó trong khoảng thời gian ngắn ngủi đó, nên việc có mặt trên bảng xếp hạng là một bất ngờ và là một chiến thắng cá nhân rất lớn đối với tôi.
Thử thách được thực hiện một mình, và mục tiêu là tái tạo một hệ thống hoàn tiền du lịch hộp đen 60 năm tuổi không có mã nguồn và không có tài liệu. Chúng tôi được cung cấp một vài tư liệu, bao gồm bản tóm tắt sản phẩm, biên bản phỏng vấn nhân viên, và một bộ dữ liệu công khai chứa 1.000 ví dụ lịch sử về đầu vào và đầu ra mong đợi. Từ đó, tôi phải suy luận logic kinh doanh đằng sau cách các khoản hoàn tiền được tính toán và triển khai một phiên bản hiện đại có thể tạo ra kết quả tương tự càng sát càng tốt. Các bài nộp được đánh giá trên một bộ dữ liệu ẩn riêng biệt chứa 5.000 trường hợp kiểm thử thay vì 1.000 ban đầu. Bộ riêng lớn hơn này cuối cùng quyết định điểm số và thứ hạng cuối cùng của bạn. Hệ thống chấm điểm thưởng cho độ chính xác, trong đó điểm thấp hơn có nghĩa là giải pháp của bạn khớp sát hơn với hành vi ẩn của hệ thống gốc.
Để xử lý sự không chắc chắn và các mẫu trong dữ liệu, tôi đã sử dụng các kỹ thuật học máy cổ điển cùng với các heuristic cơ bản và logic lập trình. Đó là sự kết hợp cẩn thận giữa phân tích dữ liệu, mô hình hóa đặc trưng, và xấp xỉ quy tắc dựa trên những manh mối không hoàn hảo.
Đây là điểm eval của tôi cho bộ dữ liệu công khai 1.000 mẫu:
✅ Tóm tắt đánh giá
------------------------
Tổng số trường hợp : 1000
Khớp chính xác (<$0.01): 0
Khớp gần (<$1.00) : 17
Sai số trung bình : $31.15
Điểm số : 3214.93
Việc phát triển một giải pháp cho một thử thách như vậy trong 8 giờ hầu như là không thể nếu không có sự trợ giúp của các công cụ được hỗ trợ bởi AI, vốn giúp việc khám phá, tích hợp và kiểm thử ý tưởng nhanh chóng trở nên dễ dàng hơn.
Nó giống như khảo cổ phần mềm kết hợp với một cuộc chạy đua lập trình trực tiếp. Dễ dàng là một trong những thử thách kỹ thuật căng thẳng và đáng giá nhất mà tôi đã thực hiện.
Xin cảm ơn Chamath Palihapitiya và Arjun Krishna đã tổ chức một thử thách sáng tạo và truyền cảm hứng như vậy.
Các liên kết: