互联网/IT行业面试题更新 2026-08-05

有100瓶水,其中1瓶有毒,毒发时间为1天,现有若干小白鼠可供测试,每次测试需要等待1天才知道结果,如何用最少的小白鼠在最短时间内找出毒药?请说明方案并计算所需天数与小白鼠数量。

字节跳动前端/移动开发互联网/IT编码实现问题拆解

考察说明

考察二进制编码与信息论在问题求解中的应用

回答思路

  1. 明确100瓶水的二进制编码所需位数:⌈log2(100)⌉=7位
  2. 说明每只小白鼠对应二进制的一位,第7天根据存活情况确定毒瓶编号
  3. 正确阐述分组测试方法:给每瓶水编号并转成7位二进制,让对应位为1的小白鼠喝该瓶水
  4. 得出最小小白鼠数量为7只,测试天数为1天(等待毒发)
  5. 能解释为何不能用少于7只小白鼠(信息量不足)
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。