1 คะแนน โดย GN⁺ 2024-09-04 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เกมทายตัวเลขที่ถูกเล่าว่าเป็นปริศนาในการสัมภาษณ์ของ Microsoft ถามทั้งเรื่อง Binary Search และ ค่าคาดหวัง แต่ข้อสรุปที่ว่า “ไม่เป็นธรรมกับผู้เล่น” นั้นผิด หากมีเงื่อนไขว่าตัวเลขถูกเลือกแบบสุ่ม
  • กติกาคือค่อย ๆ ใช้คำใบ้เพื่อจำกัดช่วงและทายตัวเลขระหว่าง 1~100 โดยรางวัลจะลดลงจาก $5 ตามจำนวน ครั้งที่เดา และหลังจากนั้นผู้เล่นจะต้องจ่ายเงินแทน
  • ข้อสังเกตที่ว่า Ballmer สามารถตั้งใจเลือกตัวเลขที่ยากได้เป็นเรื่องจริง และแม้ใช้กลยุทธ์ Binary Search ก็ยังมีตัวเลขบาง 37 ตัวที่กว่าจะหาเจอได้ต้องถึงครั้งที่ 7 ทำให้ผู้เล่นต้อง จ่าย $1
  • หากตัวเลขถูกเลือกแบบสุ่ม ทั้งโค้ด Perl และการคำนวณความน่าจะเป็นต่างก็ให้ ค่าคาดหวังของเกมเป็น $0.20 ซึ่งหมายถึงผู้เล่นมีค่าคาดหวังเป็นบวก
  • ถ้ากติกาไม่มีช่วงรางวัล $0 และเปลี่ยนเป็นตั้งแต่การเดาครั้งที่ 6 ผู้เล่นต้องจ่ายเงินทันที ค่าคาดหวังก็จะเป็น -$0.49 ซึ่งตรงกับข้อสรุปของ Ballmer

กติกาของปริศนาทายตัวเลข

  • Steve Ballmer แนะนำปริศนาที่เขาบอกว่าเคยใช้ถามผู้สมัครสัมภาษณ์งานที่ Microsoft ในวิดีโอสั้นชิ้นหนึ่ง
  • คนหนึ่งจะนึกตัวเลขระหว่าง 1 ถึง 100 แล้วผู้สมัครจะค่อย ๆ เดา โดยทุกครั้งที่เดาจะได้รับคำใบ้ว่า “สูงไป” หรือ “ต่ำไป” เพื่อบีบช่วงให้แคบลง
  • รางวัลจะแตกต่างกันไปตาม จำนวนครั้งที่เดา
    • เดาครั้งที่ 1: $5
    • ครั้งที่ 2: $4
    • ครั้งที่ 3: $3
    • ครั้งที่ 4: $2
    • ครั้งที่ 5: $1
    • ครั้งที่ 6: $0
    • ครั้งที่ 7: ผู้เล่นจ่าย $1
    • ครั้งที่ 8: ผู้เล่นจ่าย $2
    • ครั้งที่ 9: ผู้เล่นจ่าย $3
  • คำถามสำคัญคือ “ควรรับเกมนี้หรือไม่?”
  • ข้อสรุปของ Ballmer คือ “No” และให้เหตุผลไว้สองข้อ
    • เขาสามารถเลือกตัวเลขที่ทายยากที่สุดได้
    • แม้เขาจะเลือกตัวเลขแบบสุ่ม ค่าคาดหวัง ก็ยังติดลบ ทำให้ผู้เล่นต้องจ่ายเงินให้ Ballmer

ส่วนที่ Ballmer พูดถูก: สามารถเลือกตัวเลขแบบเป็นปฏิปักษ์ได้

  • เหตุผลข้อแรกของ Ballmer ที่ว่าเขาเลือก ตัวเลขยาก ได้ นั้นถูกต้อง
  • ภายใต้เงื่อนไขว่าตัวเลขถูกเลือกแบบสุ่ม กลยุทธ์ที่เหมาะสมที่สุดคือ Binary Search
  • แต่ถึงจะใช้ Binary Search หาก Ballmer เลือกบางตัวเลข ผู้เล่นก็จะต้องจ่าย $1
    • ตัวเลขเหล่านั้นคือ 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
  • สำหรับตัวเลขที่เหลือ ผู้เล่นจะได้ $0 หรือได้รางวัลเป็นบวก
    • ตัวเลขที่ได้ $0 คือ 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
    • ในตัวเลขอื่น ๆ ผู้เล่นจะได้เงินบางส่วนจาก Ballmer

ตัวอย่างเลข 59

  • Ballmer เลือก 59 ในวิดีโอ
  • หากใช้กลยุทธ์ Binary Search จะหาเจอได้ใน 5 ครั้งตามลำดับ 50, 75, 62, 56, 59
  • ในกรณีนี้ผู้สัมภาษณ์ Emily Chang จะ ได้รับ $1
  • การเดาจริงของ Emily Chang คือ 50, 75, 60, 55, 57, 58, 59 ซึ่งถือว่าใกล้เคียงกับวิธีแก้แบบ Binary Search 5 ขั้นมาก

ถ้าเลือกแบบสุ่ม ค่าคาดหวังจะเป็นบวก

  • หากสมมติว่า Ballmer เลือกตัวเลขแบบสุ่ม ข้อสรุปที่ว่า ค่าคาดหวังติดลบ นั้นผิด
  • โค้ด Perl จะคำนวณว่าตัวเลขแต่ละตัวตั้งแต่ 1~100 ถูกหาเจอด้วย Binary Search ในกี่ครั้ง จากนั้นรวมรางวัลแล้วหารเฉลี่ย
  • ผลลัพธ์ที่ได้คือค่าคาดหวังของเกม $0.20
  • ผลเดียวกันนี้ตรวจสอบได้จากมุมมองความน่าจะเป็นเช่นกัน
    • เดาครั้งที่ 1 เลือก 50 ความน่าจะเป็นที่จะสำเร็จคือ 1/100 และรางวัลคือ $5
    • เดาครั้งที่ 2 เลือก 25 หรือ 75 ความน่าจะเป็นที่จะสำเร็จคือ 2/100 และรางวัลคือ $4
    • เดาครั้งที่ 3 เลือก 12, 37, 62, 88 ความน่าจะเป็นที่จะสำเร็จคือ 4/100 และรางวัลคือ $3
    • เดาครั้งที่ 4 เลือก 6, 18, 31, 43, 56, 68, 81, 94 ความน่าจะเป็นที่จะสำเร็จคือ 8/100 และรางวัลคือ $2
    • หลังจากนั้นก็จะดำเนินต่อไปในรูปแบบเดียวกัน
  • สมการค่าคาดหวังคือ 5 * 1/100 + 4 * 2/100 + 3 * 4/100 + 2 * 8/100 + 1 * 16/100 + 0 * 32/100 + -1 * 37/100 และได้ผลลัพธ์เป็น 0.2
  • พจน์สุดท้าย -1 * 37/100 หมายถึงตัวเลขที่ยังเป็นไปได้ซึ่งเหลืออยู่หลังจากไปถึงปลายทางของ Binary Search

จุดที่อาจทำให้เกิดความผิดพลาด

  • ความเป็นไปได้หนึ่งคือ Ballmer อาจไม่ได้ตั้งใจให้มี ช่วงรางวัล $0
  • ถ้ากติกาเป็น “$5, $4, $3, $2, $1 แล้วหลังจากนั้นผู้เล่นจ่าย $1, $2, $3” ค่าคาดหวังก็จะเป็น -$0.49
  • ในรูปแบบดัดแปลงนี้ ข้อสรุปของ Ballmer ที่ว่า “ค่าคาดหวังติดลบ” จะสอดคล้องกัน

1 ความคิดเห็น

 
GN⁺ 2024-09-04
ความคิดเห็นจาก Hacker News
  • บทความบอกเป็นนัยว่าผู้เข้าสัมภาษณ์สมมติว่าตัวเลขถูก เลือกแบบสุ่ม แต่ในความเป็นจริง Ballmer อาจเลือกแบบเป็นปฏิปักษ์ก็ได้
    อย่างไรก็ตาม หากผู้เข้าสัมภาษณ์สมมติว่า Ballmer จะเลือกแบบเป็นปฏิปักษ์ ก็สามารถเปลี่ยนความน่าจะเป็นได้ด้วยการตั้งค่าที่เดาค่าแรกให้ต่างออกไป ผู้เขียนต้นฉบับก็เห็นว่าเริ่มจาก 50 แต่ด้วยคุณสมบัติของการค้นหาแบบไบนารี หากเลือกค่าเริ่มต้นที่เบี่ยงออกจาก 50 ด้วยออฟเซ็ตแบบสุ่มทุกครั้ง ก็จะป้องกันการโจมตีแบบเป็นปฏิปักษ์ง่าย ๆ ที่เล็งเล่นงานฮิวริสติกได้ ขณะเดียวกันก็ยังได้ประโยชน์ส่วนใหญ่ของการค้นหาแบบไบนารี
    อยากเห็นการวิเคราะห์ อัลกอริทึมการเลือกออฟเซ็ตแบบสุ่มที่เหมาะที่สุด เพื่อรับมือกับการเลือกแบบเป็นปฏิปักษ์ง่าย ๆ แบบนี้

    • คงไม่น่าแปลกใจถ้าผู้สัมภาษณ์ที่มั่นใจเต็มที่ตั้ง โจทย์ปริศนาเชาวน์ โดยลืมสมมติฐานพื้นฐาน แล้วตัดสินว่าคำตอบผิดเพราะไปละเมิดสมมติฐานที่ไม่ได้พูดไว้
      นึกภาพ Ballmer พูดว่า “ไม่ใช่ครับ การเดาครั้งแรกต้องเริ่มจาก 50 สิ ใคร ๆ ก็รู้กันแบบนั้น” ได้เลย
    • การเดา 7 ครั้งครอบคลุมตัวเลขได้ 128 ตัว ดังนั้นจริง ๆ แล้วสามารถให้ออฟเซ็ตได้ถึง ±14 โดยไม่กระทบต่อ กรณีแย่ที่สุด ของอัลกอริทึม
      กล่าวคือ แค่ต้องมีตัวเลขไม่เกินฝั่งละ 64 ตัวอยู่สองข้างของการเดาครั้งแรก ตามที่พูดไว้ ถ้าเลือกออฟเซ็ตนี้แบบสุ่ม ก็จะทำให้ตัวอย่างแบบเป็นปฏิปักษ์ส่วนใหญ่ที่เล็งช่องโหว่ของการค้นหาแบบไบนารีใช้ไม่ได้ และอาจถึงขั้นกำจัดข้อได้เปรียบของการเลือกแบบเป็นปฏิปักษ์ไปเลยก็ได้ เพียงแต่ในกรณีนั้นอาจต้องใช้การแจกแจงที่สอดคล้องกับออฟเซ็ต
      ผมก็อยากเห็นการวิเคราะห์แบบนั้นเหมือนกัน
    • ถ้า Ballmer สมมติซ้อนอีกชั้นว่าอีกฝ่ายมองว่าตนเป็นปฏิปักษ์ สุดท้ายก็จะเข้าสู่ ทฤษฎีเกม
    • ไม่ใช่แบบนั้น ประเด็นที่ว่า Ballmer สามารถเลือกแบบเป็นปฏิปักษ์ได้นั้นค่อนข้างชัดเจน
      แก่นของเรื่องคือ แม้ Ballmer จะเลือกแบบสุ่มและผู้เข้าสัมภาษณ์เล่นอย่างเหมาะที่สุดตามนั้น ค่าคาดหวังของเกมก็ยังเป็นลบอยู่ดี และแค่นั้นก็ทำให้มั่นใจได้ว่าเป็นเกมที่ผู้เข้าสัมภาษณ์เสียเปรียบ
      บทความไม่ได้ตอบคำถามที่ยากกว่าว่า “แล้วค่าคาดหวังจริง ๆ เท่าไร” แต่ถ้าผู้เข้าสัมภาษณ์สุ่มเลือกการเดาครั้งแรกระหว่าง 40~60 แล้วค้นหาแบบไบนารีจากตรงนั้น ดูเหมือน Ballmer ก็ไม่น่าจะได้เปรียบมากกว่าการเลือกตัวเลขแรกแบบสุ่มสักเท่าไร
    • ผมลองรันซิมูเลชันดูแล้ว กลยุทธ์นี้ดูเหมือนจะไม่ได้ผลจริง ๆ ตอนแรกผมก็คิดว่าน่าจะทำได้คล้าย ๆ กัน
      ใน สมดุลแนช แบบหนึ่งที่ซิมูเลชันค้นพบ ฝั่ง Ballmer จะสุ่มผสมโดยเลือกใกล้ ๆ ปลายทั้งสองด้านของช่วง ไม่ได้เลือก 1 หรือ 100 เสมอไป แต่จะอยู่แถวนั้น ผลลัพธ์ที่ได้คือผู้เล่นฝั่ง Ballmer ชนะด้วยค่าคาดหวังประมาณ 0.85~1.00 ดอลลาร์ต่อรอบ
      ผลคือกลยุทธ์ของฝั่งที่ต้องทายก็จะเริ่มการค้นหาแบบไบนารีจากสุดขอบของช่วงเช่นกัน ในลักษณะที่คาดหวังว่าจะทายถูกด้านใดด้านหนึ่ง คล้ายกับลูกโทษในฟุตบอลที่ผู้ยิงกับผู้รักษาประตูต่างเลือกทิศทางกัน ผู้รักษาประตูอยากเลือกข้างเดียวกัน ส่วนผู้ยิงอยากให้เป็นคนละข้าง แต่พอมีตัวเลือก 100 ตัว ก็ให้ความรู้สึกเหมือนประตูกว้างเกินไป
      ตอนนี้ผมคิดว่าถ้าไม่ผูกตัวเลือกที่เหลือไว้กับรูปแบบการค้นหาแบบไบนารี สมดุลน่าจะเปลี่ยนไปโดยสิ้นเชิงและผลลัพธ์ของผู้เล่นน่าจะดีขึ้น เพียงแต่จะมีตัวเลือกกลยุทธ์ในแต่ละช่วง ทำให้การคำนวณหนักขึ้นมาก และผมก็เอาเวลางานไปหลบทำเรื่องนี้ตั้ง 2 ชั่วโมง ซึ่งไม่ค่อยดีเท่าไร แต่ก็ยังสงสัยอยู่ว่าถ้าปลดข้อจำกัดการค้นหาแบบไบนารีแล้วจะเป็นอย่างไร
  • เมื่อไม่นานมานี้ ผมไปสัมภาษณ์งานตำแหน่งอาวุโสในสาขา การชำระเงิน ซึ่งเป็นโดเมนที่ซับซ้อน และผมทำงานในสายนี้มากว่า 10 ปีแล้ว
    ผมรู้เรื่องการชำระเงินอย่างละเอียด ไม่ใช่แค่ในสหรัฐฯ แต่รวมถึงสหราชอาณาจักรและเขตอำนาจส่วนใหญ่ใน EU ด้วย การสัมภาษณ์จึงดำเนินไปอย่างไร้ที่ติ เนื่องจากเป็นตำแหน่งอาวุโส สิ่งที่สำคัญกว่าความเชี่ยวชาญเฉพาะเรื่องคืออิทธิพลในการขับเคลื่อนงาน การสื่อสารที่นุ่มนวล และการจัดการความขัดแย้ง ซึ่งส่วนนั้นผมก็ทำได้ดีเช่นกัน พวกเขาจงใจให้ผู้จัดการอาวุโสที่นิสัยแย่คนหนึ่งมาคอยขัดจังหวะไม่หยุด และฟีดแบ็กภายหลังบอกว่านั่นเป็นมาสเตอร์คลาสด้านการรับมือความขัดแย้ง
    รอบสุดท้ายเป็นการคุยกับฝ่ายธุรกิจคนหนึ่งที่มองตัวเองว่าเป็นผู้เชี่ยวชาญโดเมนโดยพฤตินัย และเขาก็ยิงคำถามเกร็ดความรู้เกี่ยวกับการชำระเงินใส่ไม่หยุด ดูเหมือนแผนของเขาคือไล่กวาดเกร็ดความรู้ให้ได้มากที่สุด แล้วหาเหตุผลสักข้อมาใช้ปฏิเสธ
    คำถามสุดท้ายคือผมเคยมีประสบการณ์ทำระบบชำระเงินแบบเรียลไทม์จริงหรือไม่ ซึ่งผมเคยทำในหลายประเทศมาแล้ว ส่วน FedNow ของสหรัฐฯ เพิ่งเปิดตัวไม่นานมาก ผมจึงทำได้แค่อ่านสเปก และประเมินเวนเดอร์บางรายเพื่อจะตัดสินใจว่าจะสร้างเองหรือซื้อ เขาใช้เรื่องนี้เป็นเหตุผลให้คำแนะนำเชิงลบว่า ผมไม่มีประสบการณ์ด้านการชำระเงินแบบเรียลไทม์
    พูดตรง ๆ ผมไม่อยากทำงานในสภาพแวดล้อมแบบนั้นอยู่แล้ว ที่นั่นเป็นธนาคารใหญ่ของสหรัฐฯ และปัญหาใหญ่ที่สุดไม่ใช่นวัตกรรมผลิตภัณฑ์หรือการโฟกัสลูกค้า แต่เป็นเหตุขัดข้องในการปฏิบัติการ ซึ่งแยกจากความเชี่ยวชาญด้านการชำระเงินแล้ว เป็นพื้นที่ที่ผมเคยเข้าไปกอบกู้ให้บริษัทขนาดใหญ่มาหลายแห่ง และผมก็สื่อสารจุดนั้นอย่างชัดเจนแล้วด้วย ถึงอย่างนั้น ถ้าโชคดี คุณก็ไม่จำเป็นต้องลำบากเข้าไปพบเองว่าสถานที่แบบนั้นไม่น่าทำงานแค่ไหน

    • ถ้าระหว่างสัมภาษณ์พวกเขาจงใจส่งผู้จัดการอาวุโสที่คอยขัดจังหวะไม่หยุดเข้ามา นั่นคือ สัญญาณอันตราย
      มันดูเป็นสัญญาณว่าไม่เพียงบริษัทจะมีวัฒนธรรมเป็นพิษ แต่ยังยอมรับวัฒนธรรมนั้นด้วย สถานที่แบบนั้นจะดึงดูดคนที่ชอบความขัดแย้ง และเมื่อคนแบบนั้นมีมากพอ พวกเขาก็จะเป็นผู้สร้างวัฒนธรรมขึ้นมา
      เรื่องที่ไม่ค่อยมีคนพูดคือ ความขัดแย้งคือความล้มเหลวของภาวะผู้นำ หลายครั้งแค่ผู้บริหารระดับสูงมากคนหนึ่งดีดนิ้วแล้วพูดว่า “ช่วยทำให้เรื่องนี้สำเร็จด้วยกันนะ” ความขัดแย้งก็คลี่คลายได้แล้ว แต่ภาวะผู้นำกลับอยู่ห่างจากหน้างานเกินไปจนจัดแนวทีมไม่ได้ หรือไม่ก็สนับสนุนความขัดแย้งภายในทีมเป็นสันดานภายใต้ชื่อการแข่งขัน ไม่ว่าจะเป็นแบบไหน ที่แบบนั้นก็อาจเป็นนรกในการทำงานได้
    • คนที่เรียกตัวเองว่าผู้เชี่ยวชาญโดเมนนั้นแย่แน่นอน แต่เมื่อก่อนผมเคยใช้เทคนิคสัมภาษณ์ที่ถามคำถามเกี่ยวกับสาขาความเชี่ยวชาญของผู้สมัครให้เฉพาะเจาะจงขึ้นเรื่อย ๆ และลงไปในระดับต่ำขึ้นเรื่อย ๆ
      สุดท้ายคือพาไปจนถึงจุดที่ผู้สมัครน่าจะตอบไม่ได้ทันที ผมไม่ได้ตั้งใจให้เป็นศัตรูหรือหยาบคาย แค่อยากดูว่าเขาพูดว่า “ไม่ทราบครับ/ค่ะ” ได้หรือไม่ การไม่รู้เป็นส่วนปกติของงานเทคนิค แต่ถ้าไม่สามารถพูดคำนี้ได้อย่างสบายใจ ก็อาจเป็นปัญหาใหญ่
      โดยรวมแล้ว ผู้สมัครที่มีความสามารถมากที่สุดมักตอบว่า “ไม่ทราบครับ/ค่ะ” ได้สบายใจที่สุด ส่วนท่าทีปกป้องตัวเอง ผมถือว่าเป็นสัญญาณอันตรายเสมอ
    • ในสภาพแวดล้อมแบบนั้น แทนที่จะมอบความเชี่ยวชาญคุณภาพสูงในฐานะพนักงาน คุณมีโอกาสได้รับความเคารพมากกว่ามากหากให้คำแนะนำทั่วไปธรรมดา ๆ ในฐานะ คอนซัลแตนต์หรือที่ปรึกษาแบบมีค่าตอบแทน
      ผู้บริหารที่เป็นพิษชอบคอนซัลแตนต์และที่ปรึกษาภายนอกที่คิดเงินแพงเกินจริง มากกว่าพนักงานภายในที่ได้เงินน้อยกว่ามาก
    • ผมเคยเจอเรื่องที่คล้ายกันมากในสาขาเดียวกัน
      ถึงจะเตรียมตัวมาพร้อมเต็มที่และมีคุณสมบัติเพียงพอ แต่ถ้ากระบวนการรู้สึกเหมือน เกมถามตอบเกร็ดความรู้ แทนที่จะเป็นการประเมินทักษะและประสบการณ์จริง ๆ ก็หงุดหงิดมาก อย่างที่คนอื่น ๆ พูด พฤติกรรมแบบนี้เป็นสัญญาณชัดเจนของวัฒนธรรมเป็นพิษ
      ที่ยิ่งเหลือเชื่อคือ โดยหลักแล้วมันควรเป็นตรงกันข้าม ถ้าคุณจะขยายทีมหรือแทนที่ใครสักคน คุณควรพยายามหาคนที่ดีกว่าใครก็ตามที่มีอยู่ในปัจจุบัน
      ถ้าพวกเขาจับผิดเรื่องจุกจิกหรือขุดรายละเอียดที่ไม่เกี่ยวข้องเพื่อหาเหตุผลในการปฏิเสธ นั่นคือสัญญาณอันตรายใหญ่โต หมายความว่าพวกเขาไม่ได้สนใจนวัตกรรมหรือการแก้ปัญหาจริง ปัญหาอย่างเหตุขัดข้องในการปฏิบัติการไม่รู้จบที่พวกเราเคยแก้มาแล้วในบริษัทอื่น ๆ ก็เช่นกัน
      ในสถานการณ์แบบนั้น สิ่งที่ดีที่สุดคือบอกว่าขอโทษที่ทำให้เสียเวลา แล้วเดินออกมา แต่ผมก็เข้าใจว่าถ้ามีตำแหน่งงานนั้นในพื้นที่ของคุณ คุณอาจอยากทนฟังเรื่องไร้สาระต่อไป ถึงอย่างนั้น บางครั้งการหลบกระสุนนัดนั้นได้ก็เป็นโชคดีในคราบเคราะห์ แม้ตอนนั้นคุณจะว่างงานและเงินกำลังจะหมดเหมือนผมในตอนนั้นก็ตาม
    • Steve Martin เคยแสดงสถานการณ์เดียวกันนี้ไว้แล้วใน Pink Panther: https://www.youtube.com/watch?v=mBwn7ycR7_Y
      เป็นการซักไซ้บรรพบุรุษไปเรื่อย ๆ จนคำตอบกลายเป็น “ชาวนา”
  • “ควรยอมรับเกมนี้ไหม?”
    แน่นอนว่าควร ผมชอบเกม และเป้าหมายของเกมคือความสนุก ถ้าเป็นเงินราว ๆ 20 ดอลลาร์แรก ก็ถือเป็นค่าเล่นเกมสนุก ๆ 10 นาทีที่จ่ายไหว
    พอจบแล้วก็พูดได้ว่า “ผมเคยเสียเงิน 20 ดอลลาร์ระหว่างทำ binary search กับ Steve Ballmer” และประโยคนี้ใช้เล่าในวงอาหารได้ดี สำหรับผมจึงมีค่ามากกว่า 20 ดอลลาร์
    บางทีเหตุผลที่ Microsoft ในยุค Ballmer สูญเสียอิทธิพล ก็คงอยู่แถว ๆ นี้ เห็นแต่ด้านเทคนิคมากเกินไป และมองด้านมนุษย์ไม่ออกอย่างมาก

    • เป็นคอมเมนต์ที่ถูกประเมินค่าต่ำไป จุดประสงค์ของเขาไม่เกี่ยวกับคำตอบที่ถูกต้องโดยตรง แต่เพื่อดูวิธีเข้าหาปัญหา ซึ่งเป็นเกณฑ์ที่ต่างจากการตอบให้ถูกอยู่มาก
    • ไม่เข้าใจว่าทำไมถึงเขียนคอมเมนต์แบบนี้ ยากจะเชื่อว่าคุณจะเด็กจริง ๆ จนไม่เข้าใจความหมายโดยนัยว่า “กล่าวคือ ผลตอบแทนคาดหวังมากกว่า 0 หรือไม่”
      ถ้าตอบแบบนี้ในการสัมภาษณ์ ผมคงไม่รับเข้าทำงานแน่นอน จริง ๆ แล้วผมเคยสัมภาษณ์ผู้สมัครแบบนี้ครั้งหนึ่ง พอถามว่า “คุณจะทำสิ่งนี้อย่างไร” เขาตอบว่า “นั่นไม่ควรทำ และผมคิดว่าควรทำอย่างอื่นแทน” เขาไม่ได้รับเข้าทำงาน
  • ตลอดหลายปีที่ผ่านมา ผมค่อย ๆ ตระหนักว่า binary search เป็นเครื่องมือแก้ปัญหาที่ยอดเยี่ยม โดยเฉพาะกับระบบที่ใหญ่และซับซ้อนมากจนดีบักได้ยาก
    ไม่นานมานี้ เพื่อนร่วมงานเจอปัญหากับเครื่องมือเรนเดอร์ของ Figma ที่ไม่มีซอร์สโค้ดให้ดู เมื่อต้อง export ดีไซน์บางไฟล์ มันใช้เวลานานเกินไป และเพื่อนร่วมงานลองแก้นั่นแก้นี่แบบสุ่มอยู่หลายวันแต่ก็ไม่สำเร็จ การลองแต่ละครั้งใช้เวลาหลายชั่วโมง และบางครั้งเบราว์เซอร์ก็ตายไปเลย
    วิธีแก้ที่ผมเสนอคือ ลบองค์ประกอบออกครึ่งหนึ่ง แล้วดูว่ามีผลต่อเวลา export อย่างไร จากนั้นก็ทำซ้ำกับกลุ่มที่ยังทำให้ล้มเหลวอยู่ ภายในไม่กี่ชั่วโมง เราก็หาองค์ประกอบที่ทำให้เกิดลูปไม่สิ้นสุดในทางปฏิบัติได้เจอ

    • ในวิชา networking เราใช้ binary search เพื่อหาว่าปัญหาเกิดตรงไหน แต่มีการดัดแปลงเล็กน้อย
      ทุกครั้งที่ถอยห่างจากอุปกรณ์ปลายทาง เช่น workstation ไปหนึ่งขั้น เราจะขึ้นไปยังลำดับชั้นที่สูงกว่าของเครือข่ายสองขั้น วิธีนี้ทำให้ขยายขอบเขตได้ง่าย แต่ก็ยังสามารถตีวงให้แคบลงได้เร็วมากว่า “ถึงตรงนี้ยังปกติ แต่ตรงนี้เสีย”
    • น่าประหลาดใจที่ผู้คนทั่วไปไม่ได้นึกถึงวิธีนี้เร็วกว่านี้ ทั้งที่ดูเหมือนเป็นสิ่งที่น่าจะทำได้แม้โดยสัญชาตญาณ
    • ผมนึกถึงเรื่องใน mailing list แบบปิดที่มีสมาชิกประมาณ 1,000 คน ซึ่งมีใครบางคนแอบรั่วไหลข้อความทั้งหมดออกสู่สาธารณะ
      ผู้ดูแลใช้ binary search เพื่อจับผู้สมัครสมาชิกที่รับผิดชอบเรื่องนี้อย่างรวดเร็ว โดยแก้เนื้อหาแบบเลือกเฉพาะบางคนด้วยการใส่อักขระช่องว่างเพิ่มเติมไว้สักแห่งในข้อความ
    • งานไฟฟ้าก็ทำแบบเดียวกัน วัด ความต่อเนื่องของวงจร ที่จุดกึ่งกลางของสายไฟ เพื่อดูว่าขาดอยู่ในครึ่งนั้นหรือไม่ แล้วทำซ้ำ
    • ตอนวัยรุ่นต้น ๆ ในยุค DHTML ผมดีบักสคริปต์ JavaScript ที่ยุ่งเหยิงมาก ๆ เช่น เมนูหลายระดับ ด้วยวิธีนี้
      ลบโค้ดบางส่วนออก ดูว่ายังพังอยู่ไหม แล้วก็ค่อยลบเพิ่มต่อไป
  • มีชื่อเรียกความผิดพลาดที่คนโยนความสำเร็จในชีวิตให้เป็นผลจากสติปัญญาของตัวเอง แล้วจึงทึกทักว่าตัวเองฉลาดกว่าทุกคนและถูกต้องในทุกเรื่องไหม?
    มันเหมือนอยู่ฝั่งตรงข้ามของ impostor syndrome แบบหนึ่ง

    • fundamental attribution error คืออคติที่ผู้คนมักอธิบายความสำเร็จของตัวเองว่าเกิดจากความสามารถภายใน แต่ความสำเร็จของคนอื่นเกิดจากสถานการณ์ภายนอก ส่วนความล้มเหลวจะทำงานกลับกัน
      ส่วนช่วงที่สองที่ว่า “ฉันเหนือกว่าและรู้ทุกอย่าง” ก็คงเรียกได้ว่าเป็นนิสัยแย่ ๆ แบบเก่า ๆ
    • fundamental attribution error https://en.wikipedia.org/wiki/Fundamental_attribution_error
    • narrative bias ค่อนข้างใกล้เคียง: https://en.wikipedia.org/wiki/Narrative_bias
    • คำตอบที่แปลกเฉพาะขึ้นมาหน่อยคือสิ่งล่อลวงของ Luciferianism
      https://en.wikipedia.org/w/index.php?title=Luciferianism&old...
      คือสิ่งล่อลวงที่ว่า หากคุณฉลาด คุณก็ควรเป็นผู้พิทักษ์ของโลก สร้างโลกที่ตั้งอยู่บนการเรียนรู้และสัจธรรมสูงสุดของตัวเอง และเชื่อว่าตนค้นพบสัจธรรมเหล่านั้นได้ง่ายและเร็วกว่าคนธรรมดา จากนั้นก็ออกใบอนุญาตทางศีลธรรมให้ตนเอง และทำให้เป้าหมายกลายเป็นสิ่งที่ทำให้วิธีการชอบธรรมขึ้น เชื่อว่าสิ่งชั่วร้ายที่ทำในตอนนี้จะถูกชดใช้ด้วยความดีเป็นสองเท่าในภายหลัง
      ยังมี fundamental attribution error และ Dunning-Kruger effect ด้วย ในแง่พฤติกรรม illusory superiority ผสมกับ moral licensing และยังมีผลของการลดการยับยั้งชั่งใจที่ทำให้คนที่ประสบความสำเร็จมาก ๆ ยอมรับความเสี่ยงใหญ่ขึ้น ความเสี่ยงนั้นรวมถึงสิ่งที่ส่งผลลบต่อผู้อื่นด้วย
      ดูเหมือนว่าเอฟเฟกต์เหล่านี้ทั้งหมดจะปะปนกันอยู่ในระดับหนึ่ง ปัญหาอาจไม่ใช่สติปัญญาโดยตรง แต่เป็นอำนาจที่ตัวบุคคลรับรู้ว่าตนมีมากกว่า เช่น คนที่เชื่อว่าตนเก่งเรื่อง X มาแต่กำเนิดจะรู้สึกว่ามีพลังมากขึ้น และมีการยับยั้งน้อยลงในการแสดงความเหนือกว่าหรือพยายามครอบงำผู้อื่น
      เราทุกคนคงเคยเห็นคนที่เกาะติดกับความรุ่งโรจน์ในอดีต ไม่เข้าใจว่าตอนนี้ไม่ใช่ช่วงพีคของตัวเองแล้ว และพยายามใช้อำนาจที่ตนไม่มีอีกต่อไป สำหรับผม นั่นแหละคือสิ่งตรงข้ามที่แท้จริงของ impostor syndrome คือภาวะที่การรับรู้เกี่ยวกับตัวเองและพลวัตทางสังคมไม่ขยับตามยุคสมัยที่เปลี่ยนไป
    • main character syndrome
      narcissistic personality disorder
      antisocial
  • ผมเคยมีเพื่อนร่วมงานคนหนึ่งที่ชอบใช้คำถามสัมภาษณ์อยู่ข้อหนึ่ง เป็นคำถามเกี่ยวกับโครงสร้างข้อมูลกราฟ และเมื่อผู้สมัครตอบ ก็มักจะถูกคัดตกอยู่เรื่อย ๆ
    แปลกตรงที่เมื่อเวลาผ่านไป ผู้สมัครทุกคนที่ตอบคำถามนั้นล้วนถูกคัดตก ดังนั้นพวกเราจึงมารวมกันดูว่าเขาถามอะไร และระหว่างลองแก้โจทย์นั้นด้วยกัน เราก็ตระหนักว่า วิธีเฉลยของเขาเองผิด
    กลายเป็นว่าเขาใช้คำถามข้อนี้ข้อเดียวคัดคนตกมาตลอดทั้งอาชีพ
    มันเป็นประสบการณ์ที่ทำให้พวกเราทุกคนถ่อมตัวลง และเป็นบทเรียนว่าควรตรวจสอบทุกอย่างซ้ำก่อนตั้งคำถาม ผู้สมัครสัมภาษณ์ส่วนใหญ่มีความสามารถพอที่จะจ้างได้ บางครั้งฝ่ายที่ผิดอาจเป็นคุณเอง

    • “ผู้สมัครทุกคนที่ตอบคำถามนั้นล้วนถูกคัดตก” ก็ดูเหมือนเป็นกลยุทธ์สัมภาษณ์ที่ไม่ดีเหมือนกัน
      พลาดทีเดียวก็ตกทันทีหรือ? มีผู้สมัครที่สมบูรณ์แบบมากพอจนกรองออกได้แทบทุกคนขนาดนั้นเลยหรือ?
  • ถ้าเป็นผู้ถูกสัมภาษณ์ คำถามแรกคงเป็น “คุณจะเล่นอย่างยุติธรรมหรือไม่ และผมจะตรวจสอบได้อย่างไร?”

    • “ในฐานะ software engineer ผมพยายามทำความเข้าใจบริบทสำคัญก่อนจะกระโดดไป build หรือ coding ก่อนอื่นผมอยากถามว่าคุณจะเลือกแบบสุ่มและยุติธรรม หรือจะเลือกแบบเป็นปฏิปักษ์ครับ”
      “อย่างที่สอง เมื่อมีเงินจำนวนมีนัยสำคัญเข้ามาเกี่ยวข้อง ผมจะตรวจสอบ input ไม่ได้หมายความว่าผมไม่ไว้ใจคุณเป็นการส่วนตัว แต่ผมจะมองว่าไม่ไว้ใจสถานการณ์นี้เอง เราจะตรวจสอบเรื่องนี้ได้อย่างไร หรือคุณต้องการให้ถือว่าตรวจสอบแล้วและดำเนินต่อไปครับ?”
      เป็นคำถามที่ดี แต่ วิธีถาม ก็สำคัญเช่นกัน software engineering ไม่ใช่วิศวกรรมล้วน ๆ และการสื่อสารสำคัญมาก
    • น่าจะแค่เขียนตัวเลขไว้บนกระดาษ แล้วขอให้เปิดเผยตอนจบการสัมภาษณ์ก็พอ
  • เหมือนคำถามสัมภาษณ์ส่วนใหญ่ ผมคาดว่านี่เป็นคำถามที่ดูว่าคุณพัฒนาความคิดและแสดงกระบวนการแก้ปัญหาอย่างไร
    ถ้าผู้สัมภาษณ์ถามข้อนี้ แล้วคุณจับข้อผิดพลาดได้ ก็มีโอกาสที่จะช่วยให้ได้งานเสียด้วยซ้ำ

  • ตรงนี้ยังมีประเด็นน่าสนใจอีกอย่าง Ballmer พยายามค่อนข้างมากและเปลี่ยนทิศทางอย่างมีชั้นเชิงเพื่อออกจากการถกคำถามข้อนี้โดยตรง เมื่อเห็นชัดว่า Chang ไม่ได้เข้าหาคำถามนี้อย่างชัดเจนด้วย binary search และ expected value
    ก็ไม่น่าแปลกใจ เธอเป็นนักข่าวมืออาชีพ สิ่งที่น่าแปลกคือ Ballmer ชอบคำถามนี้มากเหมือนผู้สัมภาษณ์สายเทคนิคจำนวนมาก ถึงขั้นอดไม่ได้ที่จะยกมันขึ้นมาพูด ทั้งที่มันไม่ได้เกี่ยวข้องกับคำถามของ Chang เท่าไรนัก

  • อยากรู้คำตอบแบบ สมดุลของแนช จริง ๆ
    อย่างที่บางคอมเมนต์บอก ฝั่งที่ทายคงเป็นรูปแบบการส่งคืนตัวเลขสุ่มแถว ๆ binary search แต่สงสัยว่าฝั่งที่เลือกใช้การแจกแจงเริ่มต้นแบบสม่ำเสมอ หรือใช้การแจกแจงแบบไม่สม่ำเสมอกันแน่ น่าจะมีใครสักคนใน HN ที่รู้หรืออธิบายได้แน่นอน

    • ผมลองวิเคราะห์เกมตัวเลข 3 ตัว, 4 ตัว, 5 ตัวไว้ที่นี่: https://quuxplusone.github.io/blog/2024/09/04/the-game-is-fl...
      แน่นอนว่ามีช่องว่างใหญ่ระหว่างเกมตัวเลข 5 ตัวกับเกมตัวเลข 100 ตัว เมื่อจำนวนตัวเลือกมากขึ้น กลยุทธ์ผสมที่เหมาะที่สุดอาจเสถียรขึ้นก็ได้ หรือเท่าที่ผมรู้ มันอาจยิ่งแปลกขึ้นเรื่อย ๆ ก็ได้ ถ้ามีใครสำรวจเกมตัวเลข 6 ตัว, 7 ตัว ฯลฯ อย่างจริงจัง ก็ช่วยบอกด้วย
    • ผมไม่เข้าใจว่าทำไมการที่ Ballmer เลือกตัวเลขแบบสุ่ม แล้วผู้สมัครใช้ binary search ถึงไม่ใช่ สมดุลของแนช
      ในกลยุทธ์อื่น ๆ ผู้สมัครมีกลยุทธ์ในการเดา “เลขหลอก” และ Ballmer มีกลยุทธ์ “ไม่เลือกเลขหลอก”
      ผู้สมัครไม่สามารถบังคับให้ Ballmer ใช้กลหลอกได้