- Trò chơi đoán số từng được giới thiệu như một câu đố phỏng vấn của Microsoft đặt câu hỏi về tìm kiếm nhị phân và kỳ vọng, nhưng kết luận rằng trò chơi “bất lợi cho người tham gia” là sai nếu điều kiện là số được chọn ngẫu nhiên
- Luật chơi là thu hẹp phạm vi bằng gợi ý để đoán một số từ 1 đến 100, và phần thưởng khởi đầu từ $5 sẽ giảm dần theo số lần đoán, về sau người tham gia phải trả tiền
- Nhận định rằng Ballmer có thể cố tình chọn những con số khó là đúng, và ngay cả với chiến lược tìm kiếm nhị phân thì có 37 số cụ thể chỉ được tìm ra ở lần thứ 7, khiến người tham gia trả $1
- Nếu số được chọn ngẫu nhiên, cả mã Perl lẫn phép tính xác suất đều cho ra kỳ vọng là $0.20, tức người tham gia có kỳ vọng dương
- Nếu luật không có mốc thưởng $0 và từ lần đoán thứ 6 người tham gia phải trả tiền ngay, thì kỳ vọng sẽ là -$0.49, phù hợp với kết luận của Ballmer
Luật của câu đố đoán số
- Steve Ballmer giới thiệu trong một video ngắn một câu đố mà ông nói là từng dùng cho ứng viên phỏng vấn tại Microsoft
- Một người nghĩ ra một số từ 1 đến 100, và ứng viên sau mỗi lần đoán sẽ nhận gợi ý “cao hơn” hoặc “thấp hơn” để thu hẹp phạm vi
- Phần thưởng thay đổi theo số lần đoán đúng
- Lần đoán thứ 1: $5
- Lần thứ 2: $4
- Lần thứ 3: $3
- Lần thứ 4: $2
- Lần thứ 5: $1
- Lần thứ 6: $0
- Lần thứ 7: người tham gia trả $1
- Lần thứ 8: người tham gia trả $2
- Lần thứ 9: người tham gia trả $3
- Câu hỏi cốt lõi là “Có nên chấp nhận trò chơi này không?”
- Kết luận của Ballmer là “No”, với hai lý do
- Ông có thể chọn con số khó đoán nhất
- Ngay cả khi ông chọn số ngẫu nhiên thì kỳ vọng vẫn âm, nên người tham gia sẽ phải trả tiền cho Ballmer
Phần Ballmer đúng: có thể chọn số theo hướng đối kháng
- Lý do đầu tiên của Ballmer, rằng ông có thể chọn một con số khó, là đúng
- Khi giả định số được chọn ngẫu nhiên, chiến lược tối ưu là tìm kiếm nhị phân
- Ngay cả khi dùng tìm kiếm nhị phân, nếu Ballmer chọn một số nhất định thì người tham gia vẫn sẽ phải trả $1
- Các số đó là 2, 5, 8, 11, 14, 17, 20, 22, 24, 27, 30, 33, 36, 39, 42, 45, 47, 49, 52, 55, 58, 61, 64, 67, 70, 72, 74, 77, 80, 83, 85, 87, 90, 93, 96, 98, 100
- Với các số còn lại, người tham gia sẽ nhận $0 hoặc phần thưởng dương
- Các số cho kết quả $0 là 1, 4, 7, 10, 13, 16, 19, 23, 26, 29, 32, 35, 38, 41, 44, 48, 51, 54, 57, 60, 63, 66, 69, 73, 76, 79, 82, 86, 89, 92, 95, 99
- Với những số khác, người tham gia nhận được một phần tiền của Ballmer
Ví dụ với số 59
- Trong video, Ballmer chọn 59
- Nếu dùng chiến lược tìm kiếm nhị phân thì có thể tìm ra trong 5 lần với thứ tự 50, 75, 62, 56, 59
- Trong trường hợp này, người phỏng vấn Emily Chang sẽ nhận $1
- Các lần đoán thực tế của Emily Chang là 50, 75, 60, 55, 57, 58, 59, khá gần với lời giải 5 bước của tìm kiếm nhị phân
Nếu chọn ngẫu nhiên thì kỳ vọng là dương
- Nếu giả sử Ballmer chọn số ngẫu nhiên, kết luận rằng kỳ vọng là âm là sai
- Mã Perl tính xem với mỗi số từ 1 đến 100 thì cần bao nhiêu lần để tìm ra bằng tìm kiếm nhị phân, sau đó cộng phần thưởng và lấy trung bình
- Kết quả tính toán cho thấy kỳ vọng của trò chơi là $0.20
- Có thể kiểm chứng cùng kết quả này bằng góc nhìn xác suất
- Ở lần đoán thứ 1, chọn 50, xác suất thành công là 1/100 và phần thưởng là $5
- Ở lần đoán thứ 2, chọn 25 hoặc 75, xác suất thành công là 2/100 và phần thưởng là $4
- Ở lần đoán thứ 3, chọn 12, 37, 62, 88, xác suất thành công là 4/100 và phần thưởng là $3
- Ở lần đoán thứ 4, chọn 6, 18, 31, 43, 56, 68, 81, 94, xác suất thành công là 8/100 và phần thưởng là $2
- Sau đó tiếp tục theo cùng cách
- Biểu thức kỳ vọng là
5 * 1/100 + 4 * 2/100 + 3 * 4/100 + 2 * 8/100 + 1 * 16/100 + 0 * 32/100 + -1 * 37/100, cho kết quả 0.2 - Hạng tử cuối
-1 * 37/100biểu thị các số khả dĩ còn lại sau khi đi đến cuối quá trình tìm kiếm nhị phân
Điểm có thể gây ra nhầm lẫn
- Một khả năng là Ballmer không chủ định có mốc thưởng $0
- Nếu luật là “$5, $4, $3, $2, $1, rồi sau đó người tham gia trả $1, $2, $3” thì kỳ vọng sẽ là -$0.49
- Trong biến thể này, kết luận “kỳ vọng âm” của Ballmer sẽ là đúng
1 bình luận
Ý kiến trên Hacker News
Bài viết ngụ ý rằng người được phỏng vấn giả định con số được chọn ngẫu nhiên, nhưng thực tế Ballmer cũng có thể chọn theo kiểu đối kháng
Tuy nhiên, nếu người được phỏng vấn giả định Ballmer chọn đối kháng, họ có thể đặt giá trị đoán đầu tiên khác đi để thay đổi xác suất. Tác giả bài gốc cũng cho rằng nên bắt đầu từ 50, nhưng do đặc tính của tìm kiếm nhị phân, nếu mỗi lần chọn giá trị khởi đầu lệch khỏi 50 bằng một offset ngẫu nhiên, ta có thể chặn được các đòn tấn công đối kháng đơn giản nhắm vào heuristic, trong khi vẫn giữ được phần lớn lợi thế của tìm kiếm nhị phân
Tôi muốn xem một phân tích về thuật toán chọn offset ngẫu nhiên tối ưu để đối phó với kiểu chọn đối kháng đơn giản như vậy
Tôi có thể tưởng tượng Ballmer nói: “Không đúng, lần đoán đầu tiên phải bắt đầu từ 50. Ai cũng biết vậy mà”
Nói cách khác, chỉ cần mỗi phía của lần đoán đầu tiên có tối đa 64 số là được. Như đã nói, nếu chọn offset này ngẫu nhiên thì phần lớn các ví dụ đối kháng nhắm vào kẽ hở của tìm kiếm nhị phân sẽ bị vô hiệu hóa, và thậm chí có thể xóa bỏ luôn lợi thế của việc chọn đối kháng. Tuy vậy, trong trường hợp đó có thể cần một phân phối phù hợp với offset
Tôi cũng muốn xem phân tích như vậy
Điểm mấu chốt là ngay cả khi Ballmer chọn ngẫu nhiên và người được phỏng vấn chơi tối ưu theo đó, kỳ vọng của trò chơi vẫn là số âm; chỉ riêng điều đó cũng đủ để chắc chắn rằng đây là một trò chơi bất lợi cho người được phỏng vấn
Bài viết không trả lời câu hỏi khó hơn là “vậy kỳ vọng thực tế là bao nhiêu”. Nhưng nếu người được phỏng vấn chọn ngẫu nhiên lần đoán đầu tiên trong khoảng 40~60 rồi từ đó tìm kiếm nhị phân, thì có vẻ Ballmer khó có được lợi thế rõ rệt hơn so với việc ban đầu chọn số ngẫu nhiên
Trong một cân bằng Nash mà mô phỏng tìm được, phía Ballmer trộn các lựa chọn gần hai đầu của phạm vi. Không phải lúc nào cũng là 1 hay 100, nhưng là quanh đó. Kết quả là người chơi Ballmer thắng với giá trị kỳ vọng khoảng 0,85~1,00 đô la mỗi vòng
Hệ quả là chiến lược của bên đoán cũng bắt đầu tìm kiếm nhị phân từ các cực của phạm vi, theo kiểu kỳ vọng sẽ đoán trúng một phía nào đó. Nó giống như trong loạt sút phạt đền bóng đá, khi người sút và thủ môn cùng chọn hướng. Thủ môn muốn chọn cùng phía, còn người sút muốn phía ngược lại. Nhưng vì có 100 lựa chọn nên cảm giác khung thành quá rộng
Giờ tôi nghĩ nếu không ràng buộc các lựa chọn còn lại vào mẫu tìm kiếm nhị phân, cân bằng sẽ hoàn toàn khác và kết quả của người chơi sẽ được cải thiện. Tuy nhiên khi đó mỗi phạm vi lại có lựa chọn chiến lược riêng, khiến tính toán nặng hơn nhiều. Và việc né làm việc suốt 2 tiếng để làm chuyện này thì không hay lắm. Dù vậy tôi vẫn tò mò nếu bỏ ràng buộc tìm kiếm nhị phân thì sẽ ra sao
Gần đây tôi phỏng vấn cho một vị trí senior trong lĩnh vực thanh toán, một domain phức tạp, và tôi đã làm trong lĩnh vực này hơn 10 năm
Tôi hiểu rất rõ về thanh toán không chỉ ở Mỹ mà cả ở Anh và hầu hết các khu vực pháp lý của EU, nên buổi phỏng vấn diễn ra không có gì để chê. Vì là vai trò senior, ảnh hưởng, giao tiếp mềm mỏng và quản lý xung đột quan trọng hơn chuyên môn chủ đề, và phần đó tôi cũng làm tốt. Họ cố tình đưa vào một senior manager khó chịu, liên tục ngắt lời, và phản hồi sau đó nói rằng cách xử lý xung đột của tôi đúng là một masterclass
Vòng cuối được tiến hành với một người phụ trách kinh doanh tự xem mình là chuyên gia domain trên thực tế, và ông ta liên tục ném ra các câu hỏi kiến thức vụn vặt liên quan đến thanh toán. Có vẻ như kế hoạch là quét qua càng nhiều trivia càng tốt rồi tìm một lý do để loại
Câu hỏi cuối cùng là tôi có kinh nghiệm thực tế với thanh toán thời gian thực hay không, và tôi đã có kinh nghiệm ở nhiều nước. FedNow của Mỹ thì mới được đưa vào rất gần đây, nên tôi mới chỉ đọc spec và đánh giá vài vendor để quyết định nên tự xây hay mua. Ông ta lấy đó làm căn cứ nói rằng tôi không có kinh nghiệm thanh toán thời gian thực và đưa khuyến nghị không nhận
Nói thật là tôi không muốn làm trong môi trường như vậy. Đó là một ngân hàng lớn của Mỹ, và vấn đề lớn nhất không phải đổi mới sản phẩm hay tập trung vào khách hàng, mà là sự cố vận hành. Tách khỏi chuyên môn thanh toán, đó là lĩnh vực tôi từng cứu vãn ở nhiều tập đoàn lớn, và tôi cũng đã truyền đạt rõ điều đó. Dù sao nếu may mắn thì ta không cần phải khổ sở mới phát hiện ra nơi như vậy là khó chịu
Nó cho thấy công ty không chỉ có văn hóa độc hại, mà còn chấp nhận văn hóa đó. Những nơi như vậy thu hút kiểu người thích xung đột, và khi có đủ nhiều người như thế, chính họ sẽ tạo nên văn hóa
Điều không thường được nói ra là xung đột là thất bại của lãnh đạo. Rất nhiều khi xung đột có thể được giải quyết chỉ bằng việc một lãnh đạo cấp rất cao búng tay và nói: “Hai anh/chị hãy làm cho việc này thành công.” Nhưng hoặc là lãnh đạo quá xa thực tế hiện trường nên không thể căn chỉnh các đội, hoặc là họ mang tính bản năng ủng hộ xung đột nội bộ dưới danh nghĩa cạnh tranh. Dù là trường hợp nào, những nơi đó cũng có thể là địa ngục để làm việc
Cuối cùng là đi đến điểm mà ứng viên có thể không biết câu trả lời ngay tại chỗ. Tôi không định làm theo kiểu thù địch hay thô lỗ, mà muốn xem họ có thể nói “tôi không biết” hay không. Không biết là một phần thường ngày của công việc kỹ thuật, nhưng nếu không thể thoải mái nói câu đó thì có thể là vấn đề lớn
Nhìn chung, những ứng viên giỏi nhất là những người thoải mái nhất khi trả lời “tôi không biết”. Tôi luôn xem phản ứng phòng thủ là dấu hiệu cảnh báo
Ban quản lý độc hại thích các consultant và cố vấn bên ngoài được trả tiền quá mức hơn nhiều so với nhân viên nội bộ nhận ít tiền hơn nhiều
Khi bạn hoàn toàn chuẩn bị sẵn sàng và đủ năng lực, nhưng quy trình lại giống một câu đố trivia hơn là đánh giá thật sự về kỹ năng và kinh nghiệm, thì cực kỳ bực bội. Như những người khác đã nói, hành vi như vậy là dấu hiệu rõ ràng của một văn hóa độc hại
Điều còn phi lý hơn là lẽ ra phải ngược lại hoàn toàn. Nếu muốn mở rộng đội hoặc thay thế ai đó, bạn nên cố tìm người giỏi hơn bất kỳ ai hiện có
Nếu họ bới móc những thứ vụn vặt hoặc đào sâu vào các chi tiết không liên quan để tìm lý do từ chối, đó là dấu hiệu cảnh báo cực lớn. Điều đó có nghĩa là họ không quan tâm đến đổi mới hay giải quyết vấn đề thực tế. Những vấn đề như các sự cố vận hành bất tận mà chúng ta đã giải quyết ở các công ty khác cũng vậy
Trong tình huống đó, tốt nhất là nói xin lỗi vì đã làm mất thời gian rồi rời đi. Nhưng tôi cũng hiểu nếu có công việc đó ở khu vực của mình thì bạn sẽ muốn chịu đựng mấy thứ vớ vẩn. Dù vậy, đôi khi né được viên đạn đó lại là may mắn trá hình. Kể cả khi lúc đó bạn đang thất nghiệp và tiền đang cạn dần như tôi khi ấy
Kiểu cứ truy hỏi tổ tiên cho đến khi câu trả lời là “nông dân”
“Có nên chấp nhận trò chơi này không?”
Tất nhiên là có. Tôi thích trò chơi, và mục đích của trò chơi là vui. Nếu chỉ khoảng 20 đô la ban đầu thì đó là chi phí chấp nhận được để chơi một trò vui trong 10 phút
Sau khi kết thúc, tôi có thể nói “tôi từng mất 20 đô la khi chơi binary search với Steve Ballmer”, và vì đây là một câu rất hay để kể trong bữa ăn nên với tôi nó đáng giá hơn 20 đô la
Có lẽ lý do Microsoft mất ảnh hưởng thời Ballmer cũng nằm ở kiểu chuyện này. Quá chỉ nhìn vào khía cạnh kỹ thuật mà nhìn quá kém vào khía cạnh con người
Nếu trả lời như vậy trong phỏng vấn thì tôi tuyệt đối sẽ không tuyển. Thực tế tôi từng phỏng vấn một ứng viên như vậy. Khi hỏi “bạn sẽ làm việc này thế nào?”, anh ta trả lời “không nên làm việc đó, tôi nghĩ nên làm việc khác.” Anh ta đã không được tuyển
Qua nhiều năm tôi dần nhận ra rằng tìm kiếm nhị phân là một công cụ giải quyết vấn đề đáng kinh ngạc, đặc biệt trong các hệ thống quá lớn và phức tạp nên khó debug.
Gần đây một đồng nghiệp gặp vấn đề với công cụ render của Figma mà không có mã nguồn. Khi xuất một thiết kế cụ thể thì mất quá nhiều thời gian, và anh ấy đã mất nhiều ngày thay đổi ngẫu nhiên đủ thứ nhưng không có tác dụng. Mỗi lần thử mất vài giờ, thỉnh thoảng trình duyệt còn chết.
Giải pháp tôi đề xuất là loại bỏ một nửa số phần tử và xem điều đó ảnh hưởng thế nào đến thời gian xuất. Sau đó lặp lại với nhóm vẫn còn lỗi. Chỉ trong vài giờ, chúng tôi đã tìm ra phần tử gần như gây ra vòng lặp vô hạn.
Mỗi khi đi xa thiết bị cuối, chẳng hạn như workstation, một bước thì chúng tôi đi lên hai cấp trong mạng. Làm vậy giúp dễ dàng mở rộng phạm vi, đồng thời rất nhanh chóng thu hẹp được “đến đây thì bình thường, còn chỗ này thì hỏng”.
Quản trị viên đã dùng tìm kiếm nhị phân để nhanh chóng bắt ra subscriber chịu trách nhiệm, bằng cách thay đổi có chọn lọc nội dung bằng việc chèn thêm ký tự khoảng trắng ở đâu đó trong tin nhắn.
Xóa một phần mã, xem nó có còn hỏng không, rồi tiếp tục xóa thêm.
Có tên gọi nào cho sai lầm khi quy thành công trong đời là nhờ trí thông minh của mình, rồi từ đó giả định rằng mình thông minh hơn tất cả mọi người và đúng trong mọi chuyện không?
Nó giống như mặt đối lập của hội chứng kẻ mạo danh.
Phần thứ hai, “tôi vượt trội và biết mọi thứ”, thì có thể gọi đơn giản là tính xấu cũ rích.
https://en.wikipedia.org/w/index.php?title=Luciferianism&old...
Đó là cám dỗ rằng nếu mình thông minh, mình nên trở thành người bảo hộ của thế giới. Cám dỗ tạo ra một thế giới dựa trên hiểu biết và chân lý tối hậu của mình, và cho rằng mình tìm ra những chân lý đó dễ hơn, nhanh hơn người bình thường. Từ đó tự cấp phép về đạo đức, để mục đích biện minh cho phương tiện. Kiểu tin rằng việc ác mình làm lúc này sau này sẽ được đền đáp bằng điều thiện gấp đôi.
Ngoài ra còn có lỗi quy kết cơ bản và hiệu ứng Dunning-Kruger. Về mặt hành vi, ảo tưởng ưu việt kết hợp với giấy phép đạo đức, và còn có hiệu ứng giảm ức chế khiến những người rất thành công chấp nhận rủi ro lớn hơn. Những rủi ro đó bao gồm cả việc gây ảnh hưởng tiêu cực đến người khác.
Có vẻ tất cả các hiệu ứng này đều phần nào hòa trộn với nhau. Vấn đề không nhất thiết là trí thông minh, mà ít nhất là quyền lực theo nhận thức của cá nhân. Ví dụ, người tin rằng mình bẩm sinh giỏi X hơn sẽ cảm thấy có nhiều sức mạnh hơn, và ít bị ức chế hơn trong việc thể hiện cảm giác vượt trội hoặc thống trị người khác.
Chúng ta đều từng thấy những người bám víu vào vinh quang quá khứ, không hiểu rằng họ không còn ở thời đỉnh cao nữa, và cố dùng thứ quyền lực mà họ không còn có. Với tôi, đó mới là mặt đối lập thật sự của hội chứng kẻ mạo danh. Đó là trạng thái nhận thức về bản thân và động lực xã hội không chuyển động theo sự thay đổi của thời đại.
Rối loạn nhân cách ái kỷ
Chống đối xã hội
Trước đây tôi có một đồng nghiệp có câu hỏi phỏng vấn yêu thích. Đó là câu hỏi liên quan đến cấu trúc dữ liệu đồ thị, và các ứng viên cứ trả lời xong là bị loại.
Kỳ lạ là theo thời gian, tất cả ứng viên trả lời câu hỏi đó đều bị loại. Vì vậy mọi người họp lại để xem anh ấy hỏi gì, và khi cùng nhau giải câu hỏi đó, chúng tôi nhận ra lời giải riêng của anh ấy là sai.
Hóa ra suốt sự nghiệp của mình, anh ấy đã dùng đúng một câu hỏi này để loại người.
Đó là một trải nghiệm khiến tất cả chúng tôi khiêm tốn hơn, và là bài học rằng phải kiểm tra lại mọi thứ trước khi đặt câu hỏi. Phần lớn ứng viên đi phỏng vấn đều đủ khả năng để tuyển dụng. Đôi khi người sai có thể là chính bạn.
Sai một lỗi là bị loại ngay sao? Có nhiều ứng viên hoàn hảo đến mức lọc được gần như tất cả mọi người vậy à?
Nếu là người được phỏng vấn, câu hỏi đầu tiên của tôi sẽ là “Anh/chị có chơi công bằng không, và làm sao tôi kiểm chứng được điều đó?”
“Thứ hai, khi có khoản tiền đáng kể liên quan, tôi kiểm chứng dữ liệu đầu vào. Tôi sẽ xem đây không phải là vì cá nhân không tin anh/chị, mà là không tin bản thân tình huống này. Chúng ta có thể kiểm chứng điều đó như thế nào, hay anh/chị muốn tôi giả định rằng nó đã được kiểm chứng và tiếp tục?”
Đây là những câu hỏi hay, nhưng cách hỏi cũng quan trọng. Kỹ thuật phần mềm không chỉ là kỹ thuật thuần túy; giao tiếp là cực kỳ quan trọng.
Như phần lớn câu hỏi phỏng vấn, tôi kỳ vọng đây là câu hỏi để xem bạn phát triển suy nghĩ và trình bày quá trình giải như thế nào.
Nếu người phỏng vấn đưa ra câu hỏi này và bạn phát hiện ra lỗi, điều đó thậm chí có thể giúp bạn được tuyển.
Ở đây còn có một điểm thú vị khác. Khi Ballmer thấy rõ rằng Chang không tiếp cận câu hỏi này một cách tường minh bằng tìm kiếm nhị phân và giá trị kỳ vọng, ông ấy đã khá cố gắng và khéo léo chuyển hướng khỏi việc bàn đúng câu hỏi này.
Điều đó không có gì đáng ngạc nhiên. Cô ấy là một nhà báo chuyên nghiệp. Điều đáng ngạc nhiên là Ballmer, giống như nhiều người phỏng vấn kỹ thuật, thích câu hỏi này đến mức không thể không lôi nó ra, dù nó chẳng liên quan mấy đến câu hỏi của Chang.
Thực sự tò mò nghiệm cân bằng Nash sẽ như thế nào
Như một bình luận nào đó đã nói, phía đoán đúng có lẽ sẽ trả về một số ngẫu nhiên gần với tìm kiếm nhị phân. Nhưng tôi thắc mắc phía chọn số dùng phân phối ban đầu đồng đều, hay dùng phân phối không đồng đều. Chắc chắn có ai đó trên HN biết hoặc có thể giải thích được
Dĩ nhiên có một khoảng cách lớn giữa trò chơi 5 số và trò chơi 100 số. Khi số lựa chọn tăng lên, chiến lược hỗn hợp tối ưu có thể ổn định, hoặc theo tôi biết thì cũng có thể ngày càng kỳ lạ hơn. Nếu ai đó khảo sát nghiêm túc các trò chơi 6 số, 7 số, v.v. thì rất mong cho tôi biết
Trong các chiến lược khác, ứng viên có chiến lược đoán “con số bẫy”, còn Ballmer có chiến lược “không chọn con số bẫy”
Ứng viên không thể buộc Ballmer dùng mẹo