阿里巴巴2014秋季校园招聘-软件研发工程师笔试题答案

上传人:第*** 文档编号:31048830 上传时间:2018-02-04 格式:DOC 页数:9 大小:111.50KB
返回 下载 相关 举报
阿里巴巴2014秋季校园招聘-软件研发工程师笔试题答案_第1页
第1页 / 共9页
阿里巴巴2014秋季校园招聘-软件研发工程师笔试题答案_第2页
第2页 / 共9页
阿里巴巴2014秋季校园招聘-软件研发工程师笔试题答案_第3页
第3页 / 共9页
阿里巴巴2014秋季校园招聘-软件研发工程师笔试题答案_第4页
第4页 / 共9页
阿里巴巴2014秋季校园招聘-软件研发工程师笔试题答案_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《阿里巴巴2014秋季校园招聘-软件研发工程师笔试题答案》由会员分享,可在线阅读,更多相关《阿里巴巴2014秋季校园招聘-软件研发工程师笔试题答案(9页珍藏版)》请在金锄头文库上搜索。

1、2014 研发 1. 单选题1. 假设把整数关键码 K 散列到 N 个槽列表,以下哪些散列函数是好的散列函数A: h(K)=K/N;B: h(K)=1;C: h(K)=K mod N;D: h(K)=(K+rand(N) mod N, rand(N)返回 0 到 N-1 的整数答案:D2. 下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是:A: 堆排序 B:插入排序C: 冒泡排序 D:快速排序答案:A(插入排序:最优时间复杂度 O(n)最差时间复杂度 O(n2)平均时间复杂度O(n2)冒泡排序:最优时间复杂度 O(n)最差时间复杂度 O(n2)平均时间复杂度O(n2)快速排序:最优时

2、间复杂度 O(nlogn)最差时间复杂度 O(n2)平均时间复杂度O(nlogn )堆排序:最优时间复杂度 O(nlogn)最差时间复杂度 O(nlogn )平均时间复杂度O(nlogn )3. 下面说法错误的是:A: CISC 计算机比 RISC 计算机指令多B: 在指令格式中,采用扩展操作码设计方案的目的是为了保持指令字长不变而增加寻址空间C:增加流水 线段数理论上可以提高 CPU 频率D:冯诺依曼体系 结构的主要特征是存 储程序的工作方式答案:B4. 不属于冯诺依曼体系结构必要组成部分是:A:CPU B: Cache C:RAM D:ROM答案:B5. 一个栈的入栈序列式 ABCDE 则

3、不可能的出栈序列是:A:DECBA B:DCEBA C:ECDBA D:ABCDE答案:C6.你认为可以完成编写一个 C 语言编译器的语言是:A:汇编 B:C 语言 C:VB D:以上全可以答案:D7. 关于 C+/JAVA 类中的 static 成员和对象成员的说法正确的是:A:static 成员变 量在对象构造 时候生成B: static 成员函数在对象成员 函数中无法调用C: 虚成员函数不可能是 static 成员函数D: static 成员函数不能访问 static 成员变量答案:A8:答案:C9:某进程在运行过程中需要等待从磁盘上读入数据,此时进程的状态将:A: 从就 绪变为运行 B

4、: 从运行变为就绪C: 从运行变为阻塞 D:从阻塞 变为就绪答案:C10:下面算法的时间复杂度为:Int f(unsigned int n)If(n=0|n=1)Return 1;Else Return n*f(n-1);A: O(1) B:O(n) C:O(N*N) D:O(n!)答案:B11: n 从 1 开始,每个操作可以 选择对 n 加 1 或者对 n 加倍。若想获得整数 2013,最少需要多少个操作。A:18 B:24 C:21 D;不可能答案:A, 对 2013 用除法,显示 2013-2012-1006-503-502-251-250-125-124-62-31-30-15-14

5、-7-6-3-2-1正向只能是+1 和2,所以逆向只能-1 和/2,由上过程可得 18 次12: 对于一个具有 n 个顶点的无向图,若采用邻接表数据结构表示,则存放表头节点的数组大小为:A: n B: n+1 C: n-1 D:n+边数答案:A13:答案:A.对于几何中的每个字符串取 hash 可以看作是同分布的独立重复事件,所以每一个事件出现 10 的概率都是 p=1/1024,那么当出现的时候,期望的次数就是 1/p,1024.14:如下函数,在 32bit 系统 foo(231-3)的值是:Int foo(int x)Return xA: 0 B: 1 C:2 D:4答案:B15: 对于

6、顺序存储的线性数组,访问节点和增加节点删除节点的时间复杂度为:A: O(n),O(n)B:O(n),O(1) C:O(1),O(n) D:O(n),O(n)答案:C16:在 32 为系统环境,编译选项为 4 字节对齐,那么 sizeof(A)和 sizeof(B)是:Struct AInt a;short b;int c;char d;Struct Bint a;short b;char c;int c;A: 16,16 B:13,12 C:16,12D:11,16答案:C17:袋中有红球,黄球,白球各一个,每次任意取一个放回,如此连续 3 次,则下列事件中概率是 8/9 的是:A: 颜色不全

7、相同 B:颜色全不相同 C:颜色全相同 D:颜色无红色答案:A18:一个洗牌程序的功能是将 n 张牌的顺序打乱,以下关于洗牌程序的功能定义说法最恰当的是:A: 每张 牌出现在 n 个位置上的概率相等B: 每张 牌出现在 n 个位置上的概率独立C: 任何连续位置上的两张牌的内容独立D: n 张牌的任何两个不同排列出现的概率相等答案:A19:用两种颜色去染排成一个圈的 6 个棋子,如果通过旋转得到则只算一种,一共有多少种染色:A: 10 B:11 C:14: D:15答案:C解释:应该有 14 种方案,设只有黑白两色,默认白色,那么,用 p(n)表示有 n 个黑棋的种类p(0)=p(6) =1p(

8、1)=p(5) =1p(2)=p(4) =3 /相邻的一种,隔一个的一种,两个的一种p(3)=4 /都相邻的一种,BB0B 的一种,BB00B 的一种,B0B0B 的一种,一共 4 种综上是 14 种20: 递归式的先序遍历一个 n 节点,深度为 d 的二叉树,则需要栈空间的大小为:A: O(n) B:O(d) C:O(logn) D:(nlogn)答案:B第二部分:多选21:两个线程运行在双核机器上,每个线程主线程如下,线程 1:x=1;r1=y;线程 2:y=1;r2=x;X 和 y 是全局变量,初始为 0。以下哪一个是 r1 和 r2 的可能值:A: r1=1,r2=1B: r1=1,r

9、2=0C:r1=0,r2=0D:r1=0,r2=1答案:ABD22.关于 Linux 系统的负载,以下表述正确的是:A: 通过 就绪和运行的进程数来反映B: 通过 TOP 命令 查看C: 通过 uptime 查看D: Load:2.5,1.3,1.1 表示系统的负载压力在逐渐变小答案:BC(对于 A 不确定)23:关于排序算法的以下说法,错误的是:A: 快速排序的平均时间复杂度 O(nlogn),最坏 O(N2)B:堆排序平均 时间复杂度 O(nlogn),最坏 O(nlogn)C:冒泡排序平均时间复杂度 O(n2),最坏 O(n2)D:归并排序的平均时间复杂度 O(nlogn),最坏 O(n

10、2)答案:D解释:归并排序的平均时间复杂度 O(nlogn),最坏 O(nlogn)24:假 设函数 rand_k 会随机返回一个 【1,k】之间的随机数(k=2),并且每个证书出现的概率相等。目前有 rand_7,通过调用 rand_7()和四则运算符,并适当增加 逻辑判断和循环控制逻辑,下列函数可以实现的有:A:rand_3 B:rand_21 C:rand_23 D:rand_49答案:ABCD解释:对于 rand_x(xnext; return num; / 如果找到了 则返回指针 指向公共节点 / 如果不存在 则返回空指针 node * findFirstCommenNode(nod

11、e * pheada, node * pheadb) size_t lenA = listLen(pheada); size_t lenB = listLen(pheadb); node * plistA = pheada; node * plistB = pheadb; /调整长度 /plistA 指向较长的一个 if (lenA lenB) plistA = plistA-next; -lenA; /一样长了 /寻找公共节点 while (plistA!=NULL & plistA != plistB) plistA = plistA-next; plistB = plistB-next;

12、 return plistA; 算法的空间复杂度 O(1),时间复杂度 O(m+n)。28、当存储数据量超出单节点数据管理能力的时候,可以采用的办法有数据库 sharding 的解决方案,也就是按照一定的规律把数据分散存储在多个数据管理节点 N 中(节点编号为0,1,2, N-1)。假设存储的数据时 a 请完成为数据 a 计算存储节点的程序。htmlview plaincopyprint? #define N 5 int hash(int element) return element*2654435761; int shardingIndex(int a) int p = hash(a); _; /这里是空格 return p; 答案:p%=N29、宿舍内 5 个同学一起玩对战游戏。每场比赛有一些人作为红方,另一些人作为蓝方。请问至少需要多少场比赛,才能使任意两个人之间有一场红方对蓝方和蓝方对红方的比赛? 答案:4 场,分别是 AB-CDE、ACD-BE、BCE-AD 、DE-ABC

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号