阿里巴巴技术笔试心得《技术之瞳》例题错误答案汇总(持续更新)

来源:互联网 发布:你瞒我瞒网络链接 编辑:程序博客网 时间:2024/05/21 11:52

1.《技术之瞳》简介

《技术之瞳——阿里巴巴技术笔试心得》由阿里巴巴集团校园招聘笔试项目组所著,收集了阿里历年校招中的精华笔试题,涉 及多个领域。《技术之瞳——阿里巴巴技术笔试心得》中内容大量结合了阿里巴巴的实际工作场景,以例题、解析、习题的形式,引 导读者深入理解技术上的关键点、紧要处,夯实基础,启发思考。《技术之瞳——阿里巴巴技术笔试心得》内容不仅专业、有趣,更 是将理论知识与实践应用结合起来,以场景化的问答娓娓道来!

技术之瞳

2.初衷

不可否认,这是本很棒的书,不仅介绍了阿里巴巴公司的招聘流程,还包括了很多方面的笔试例题以及解析,对于即将应聘的毕业生来说受益匪浅。但是经过我一段时间的阅读,发现部分“牛刀小试”例题的随书答案存在问题,由于“牛刀小试”例题只有答案而没有说明,所以若答案存在错误,难免会造成读者的误解。倘若有读者在不深入了解的情况下盲目记忆答案,那么将造成更加严重的后果。所以我在此将跟随我的阅读进度不断更新例题错误答案汇总,同时附上我的解题思路,供大家一起讨论,一起进步,做出一些微小的贡献。

3.例题错误答案汇总

1. P25 2.21

某指令流水线由5段组成,各段所需的时间依次如下:t、3t、t、2t、t,如果连续执行10条指令,则吞吐率为____。A.0.1428/t   B.0.2041/t   C.0.2857/t   D.0.3333/t

随书答案:B
个人理解:C

解题思路:
流水线吞吐率=指令条数/总时间
指令条数=10
由于流水线每一段只能有一条指令在执行,此题的关键在3t段,下一条指令要等前一条指令执行完才能执行这一段,所以等待时间为3t。
总时间=第一条指令执行时间+以后每条指令落后时间总和=(t+3t+t+2t+t) + (9*3t)=35t

综上所述,吞吐率=10/35t=0.2857/t

2. P27 2.28

对于如下函数,在32位系统中foo(2^31-3)的值是____.int foo(int x) {return x & -x;}A. 0    B. 1    C. 2    D. 4

随书答案:D
个人理解:B
个人理解:C

解题思路:
在32位系统中,2^31-3的补码表示为 011....101,而-(2^31-3)的补码表示为1000...011,所以&结果应为1.
之前理解有误,^应为异或的意思,而非次方。在C++中,-(减号)的优先级高于^(异或),所以2^31-3 = 2^29,因此原函数结果应为2.

3. P28 2.3.2

设在内存中有P1,P2,P3 3道程序,并按照P1,P2,P3的优先次序运行,其内部计算和I/O操作时间如下所示(CPU计算和I/O资源都只能由一道程序占用):P1:计算60ms-->I/O 80ms-->计算20msP2:计算120ms-->I/O 40ms-->计算40msP3:计算40ms-->I/O 80ms-->计算40ms若调度程序的执行时间忽略不计,那么完成这3道程序比单道运行节省的时间是____。A. 80ms    B. 120ms    C. 160ms    D. 200ms

随书答案:D
个人理解:C

解题思路:
若画出3道程序的执行流程图,可以发现P1和P2有80ms的重叠,P2和P3有80ms的重叠,则总的节省时间为160ms。

4. P35 2.39

假设用户guest拥有文件test的所有权,现在他希望设置其权限使得仅他自己能读、写和执行该文件,如果他用ls -al查看设置好的文件权限位,并将显式结果换算成八进制数字表示,结果是____.A. 566    B. 666    C. 700    D. 777

随书答案:D
个人理解:C

解题思路:
UNIX系统中,每个文件有9个访问权限位,从高到低依次为:用户读,用户写,用户执行,组读,组写,组执行,其他读,其他写,其他执行。该题要求仅所有者自己能读、写、执行,则应将高三位置1,其他位置0,所以答案为八进制700。

5. P45 2.59

下面关于归并排序(Merge Sort)的说法中正确的是____。A. 归并排序是稳定的排序B. 对于逆序排列的数组使用归并排序,对应的渐近时间复杂度为O(NlogN)C. 在实际中,归并排序要比快速排序快,因为它的比较次数比快速排序少D. 需要执行比较操作的排序算法有可能在O(NlogN)的最差时间复杂度完成长度为N的任意数组的排序

随书答案:AD
个人理解:ABD

解题思路:
归并排序在逆序排列的数组情况下渐近时间复杂度也为O(NlogN)。

2 0
原创粉丝点击