导航:首页 > 程序命令 > 老程序员面试题

老程序员面试题

发布时间:2025-07-28 21:02:12

1. 精选程序员面试常问的逻辑题

精选程序员面试常问的逻辑题1. 红白帽子推理

题目描述:一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。每个人都能看到其他人帽子的颜色,却看不到自己的。主持人先让大家看看别人头上戴的是什么帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子?

答案:三个人。

拓展:N个人是黑帽子,就会在第N天,有N个人打自己一个耳光。

2. 吃药片

题目描述:有两种药片,每种有两个,一个人需要早上吃两种药片各一个,现在这四个药片混在一起了,这个人有什么方法吃?

答案:把所有的4颗药丸都切开成相等的两半,然后早上和晚上,分别吃掉每颗药丸的一半。

3. 得到指定容量的水

题目描述:一个5L,一个6L的瓶子,要得到3L的水,问什么方法?

答案:6-5=1,1L水放在5L那个瓶里面,然后再装6L水,往5L(里面已经有1L)里面倒,这样就会剩下2L水在6L里面,再把2L水放在5L里面,再装一次,不就可以6L那里到处3L水到5L里面,自己就剩下3L了。

4. 老鼠/犯人喝酒试毒

题目描述:一共1000瓶酒,其中一瓶有毒。如果一只老鼠喝了有毒的酒,会在一天之后死亡,那么如果给你一天时间,让你判定哪瓶酒有毒,至少需要几只老鼠?

答案:10只。这个需要使用二进制编码来解决,1000瓶酒至少需要10位二进制数来进行编码。然后取十只杯子分别代表这十个二进制数的十个位,分别将1000瓶酒倒入其编码为1的对应的杯子中。取十个老鼠分别喝十个杯子中的酒,一天之后,就可以根据喝哪些杯子的老鼠死掉来确定出有毒的那瓶酒的编码,从而确定哪瓶酒有毒。

拓展

5. 小球称重

题目描述:有8个小球,其中七个的重量是相同的,有一个较轻。给你一个天平,问秤几次能找出那个较轻的小球,若天平只能秤两次,又该怎么秤?

答案:第一次两边各放随机三个,如果平了,则另外一个是轻的,若不平,还有第二次,拿出那三个轻的,在两边随机放一个,就能测出哪个最轻了。

6. 飞机加油

题目描述:已知:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有单独的加油机),一箱油可供一架飞机绕地球飞半圈。问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)

答案:分为3架飞机5架次和3架飞机6架次。

以上即为精选的程序员面试常问的逻辑题及其解答,希望能够帮助到大家。

2. 一道程序员面试题,设计,很难

状态0:初始状态
状态1:我是端点A
状态2:我可能是端点B
状态3:我是端点B
状态4:我是路人

消息0:初始化消息
消息1:这是来自端点A的消息,我正在寻找端点B
消息2:你的另一边还有我,你不是端点B
消息3:那么谁是端点B呢
消息4:这是来自端点B的消息
消息5:这是来自端点A的消息
消息6,路人请在下一次接到消息5时开灯,端点A请开灯

回馈,将消息发给触发当前消息的一端(谁给我的我就给谁)
转发:将消息发给触发当前消息的另一端(谁给我的我就不给谁)
广播:将消息发给两边(给两边都发送)

收到初始化消息的人将自己置为状态1,并转发消息1,
收到消息1的人将自己置为状态2,并转发消息1,回馈消息2,
收到消息2的人将分为两种:
状态1,不改变状态,并回馈消息3
状态2,将自己置为状态4,不发送消息
收到消息3的人将分为两种:
状态4,不改变状态,转发消息3
状态2,将自己置为状态3,回馈消息4
/*
至此为止,三种角色已经明确,两个端点分别是状态1和状态3,状态4是路人
*/
可能收到消息4的人分为三种:
端点A,回馈消息5
路人,转发消息4
端点B,回馈消息4
收到消息5的人分为两种:
路人,转发消息5
端点B,
/*
当端点B收到消息5的时候,端点B还正在无限发送消息4,端点A正在无限发送消息5,路人正在无限转发消息5和4
*/
此时所有路人都可能收到两种消息,4和5,端点A只会收到4端点B只会收到5
端点A收到消息5则回馈消息4
端点B收到消息4则回馈消息5
路人只负责转发

我已经尽力了,只能做到这个程序,这个是结合网络路由协议设计出来的一种通信机制,但是也只能做到目前的程度,经过我一周零散时间的考虑,想要实现同时开灯,必须在状态里边提供计数器,能给个整数就行,这样就可以通过对信号进行计数来约定时间,否则我真的想不到办法了,以上答案仅仅是一个思路,而且我认为这个题缺乏必要条件,希望对你有帮助。

阅读全文

与老程序员面试题相关的资料

热点内容
编程珠玑笔记 浏览:277
结束命令行 浏览:268
力学原理pdf 浏览:732
宏定义编译后不变 浏览:400
如何搞免费服务器 浏览:209
神经系统pdf 浏览:668
如何查看服务器上的数据库服务器 浏览:192
压缩机型号v代表什么 浏览:55
旅游类源码 浏览:865
电脑服务器类型怎么设置 浏览:233
pdf炒股 浏览:789
服务器地址缺少端口号什么意思 浏览:533
下载需要解压的小说用哪个软件 浏览:537
广东分布式服务器云主机 浏览:586
服务器忙打不开怎么办 浏览:18
tif压缩软件 浏览:416
程序员那么可爱陆漓上班第1天 浏览:952
macbookair自带什么app 浏览:704
如何关了加密的软件 浏览:585
程序员p2p待遇 浏览:923