IT巨头面试趣题解析:腾讯百度笔试挑战

需积分: 10 0 下载量 38 浏览量 更新于2024-09-20 收藏 66KB DOC 举报
"腾讯百度面试笔试" 在IT行业的招聘过程中,尤其是像腾讯和百度这样的知名企业,面试和笔试环节是至关重要的。这些题目不仅测试应聘者的编程能力,还考察他们的逻辑思维、问题解决和数学推理水平。以下是一些精选的面试和笔试问题及解答,可以帮助求职者准备这类挑战。 1.1 这是一个典型的逻辑推理题。问题要求在17分钟内让四个人A、B、C、D(过桥时间分别为1、2、5、10分钟)都过桥,且每次最多两人并只能使用一只手电。最优策略是: - A&B先过桥(2分钟) - A返回(1分钟) - C&D过桥(10分钟) - B返回(2分钟) - A&B再次过桥(2分钟) 总计用时17分钟。 1.2 这是一个关于信息传递的逻辑题。A收到两数之和,B收到两数之积。起初A和B都不知道具体数字。当A得知无法确定答案时,说明和不唯一,如1+19和2+18都有相同的和。然后B仍然不知道,表明积也不唯一,如2×3和1×6。但当A宣布他知道答案时,这意味着A能排除所有和相同但积不同的组合,最后B也能确定,所以这两个数是2和3。 1.3 这是一个概率问题。至少两个人同一生肖的概率是不发生这种情况的概率的补数。每个人有12种可能的生肖,所以没有人生肖相同的概率是12选4,即12*11*10*9/12^4。因此,至少两人同生肖的概率是1减去这个值,即41/96。 1.4 该问题涉及经济交易。玩具店老板首先损失了70元(找零给顾客),后来又因为假币赔偿了水果店100元。但是,他从顾客那里得到的小熊的成本价是未知的,假设为x元。所以,总的损失是70元的找零加上小熊的成本x元,总损失为70+x元。 1.5 宏定义用于比较两个数a和b的大小。这个宏利用了二进制表示中的最高位来判断大小。如果a大于b,a-b的最高位为0,与0x80000000(最高位为1,其余为0)的结果仍为0,所以大数为a;反之,如果a小于b,a-b的最高位为1,与0x80000000异或后结果为1,所以大数为b。 1.6 计算a^b<<2,这里的位运算符优先级是关键。位左移"<<"的优先级高于异或"^"。因此,先执行b左移两位(相当于b乘以4),然后与a进行异或。例如,当a=6,b=4时,a^b<<2的结果是224。 最后,关于输出当前源文件的标题和行数,可以使用ANSI C标准预定义的宏:`__FILE__`表示当前源文件名,`__LINE__`表示当前行数。使用`printf`函数可以打印它们: ```c printf("The filename: %s\n", __FILE__); printf("The current line No: %d\n", __LINE__); ``` 这些面试和笔试题体现了IT行业对于应聘者综合能力的高要求,包括逻辑推理、数学应用、编程基础以及对标准库和语言特性的理解。对于准备面试的求职者来说,熟悉这类问题并能够熟练解答是十分必要的。