2015秋招阿里巴巴笔试题——系统工程师

选择题集合:

1、下列关于网络编程错误的是:

A、UDP是不可靠服务

B、主动关闭的一段会出现time_wait状态

C、服务器编程会调用listen(),客户端也可以调用bind()

D、TCP建立和关闭连接都只需要三次握手

E、Linux通过socket接口进行网络编程

F、长连接相对短连接可以节省建立连接的时间。

//关闭四次握手


 3. 对立双方争夺一个价值为1的商品, 双方可以采纳的策略可以分为鸽子策略和鹰策略。如果双方都是鸽子策略,那么双方各有1/2的几率获得该物品;如果双方均为鹰策略,那么双方各有1/2的概率取胜,胜方获得价值为1的物品,付出价值为1的代价,负方付出价值为1的代价;如果一个为鸽子策略,一方为鹰策略,那么鹰策略获得价值为1的物品。在争夺结果出来之前,没人知道对方是鸽子策略还是鹰策略。当选择鸽子策略的人的比例是某一个值时,选择鸽子策略和选择鹰策略的预期收益是相同的。那么该值是:

A. 0.2 B. 0.4 C. 0.5 D. 0.7 E. 0.8 F. 以上都不对 

 设选鸽概率x
我选鸽,对方选鸽概率x,选鹰1-x,我获得收益期望x/2+0*(1-x)
我选鹰,对方选鸽概率x,选鹰1-x,我获的收益期望x+(1-x)*(-1/2)
如果期望相等,x/2 = x+(1-x)*(-1/2)
=>x=1/2


3、一监狱人脸识别准入系统用来识别待进入人员的身份,此系统一共包括识别4种不同的人员:狱警、小偷、送餐员、其他。下面哪种学习方法最适合此种应用的需求:

二分类问题

多分类问题

层次聚类问题  -例子

k-中心点聚类问题  -例子

回归问题

结构分析问题

简单解释一下这几个术语:

(1)回归:机器学习分为两大问题:分类问题和回归问题。这道题目应该指的是分类问题,和回归没什么关系。

参考http://blog.csdn.net/ppn029012/article/details/8775597

(2)K-中心点聚类:参考http://blog.sina.com.cn/s/blog_6ab1241b0101c943.html

(3)层次聚类:参考http://blog.csdn.net/jwh_bupt/article/details/7685809

(4)结构分析:这是个什么东西?



4.、下列描述中,唯一错误的是:

A、本题有五个选项是正确的。

B、B正确

C、D正确

D、DEF都正确

E、ABC中有一个错误

F、如果ABCDE都正确,那么F也正确。

//假设法,如果B错误,那么其他的都正确。成立。


5、某团队负责人需要部分团员参加会议,满足一下条件:

1、AB两人至少一个人参加

2、AD不能都去参加

3、AEF三人中要派两人参加

4、BC两人都去或都不去

5、CD两人中有一人去

6、若D不去则E也不去

BCEF

AF

BCF

F

ABCF

BCDEF


6、在小端的机器中,如果

union X

{

 int x;

 char y[4];

};

如果:X x; a.x=0x11223344;//十六进制

则:

A、 a.y[0]=11;

B、a.y[1]=11;

C、a.y[2]=11

D、a.y[3]=11

E、a.y[0]=22

F、a.y[3]=22


7、如下语句,

#define INT_PTR int*

typedef int* int_ptr

INT_PTR a,b

int_ptr c,d

文件定义的四个变量中,那个变量不是指针类型。

b,因为宏定义是直接替换。


8、使用一辆卡车运输n块1TB装满数据的硬盘,以时速80km/h行驶1000km将数据运送到目的地,卡车至少运送_——块硬盘才能使传输速率超1000gbs

参考答案:D

卡车每次传输所需要的时间:t=1000/80*3600(s)

卡车运送1块硬盘,每秒钟传输10000/t(bit)数据

所以,n>1000/(10000/t)=4500


9、Linux系统中某个可执行文件属于root并且有setid,当一个普通用户mike运行这个程序时,产生的进程的有效用户和实际用户分别是:

A、root mike

B、root root

C、mike mike

D、deamon mike

E 、mike deamon 

//主要考有效用户和实际用户的区别

进程的真实用户UID:在Linux系统中,文件的创建者为文件的拥有者,即文件的真实用户号为文件的创建者。

进程的有效用户EUID:多数情况下,EUID和UID相同,如果可执行文件的setuid位有效,在该文件的拥有者之外的用户运行该程序时,EUID和UID则不同。EUID为该可执行文件的拥有者的ID。

参考答案:

有效用户是root,实际用户是mike。

详情参考:

(1)http://www.cnblogs.com/kunhu/p/3699883.html

(2)http://kangzye.blog.163.com/blog/static/368192232009621022867/

有效用户ID和有效用户组ID:进程用来决定我们对资源的访问权限。一般情况下,有效用户ID等于实际用户ID,有效用户组ID等于实际用户组ID。当设置-用户-ID(SUID)位设置,则有效用户ID等于文件的所有者的uid,而不是实际用户ID;同样,如果设置了设置-用户组-ID(SGID)位,则有效用户组ID等于文件所有者的gid,而不是实际用户组ID。

实际用户ID和实际用户组ID:标识我是谁,也就是登录用户的uid和gid,比如我的Linux以simon登录,在Linux运行的所有的命令的实际用户ID都是simon的uid,实际用户组ID都是simon的gid。


一个进程如果没有SUID或SGID位,则euid=uid egid=gid,分别是运行这个程序的用户的uid和gid。例如kevin用户的uid和gid分别为204和202,foo用户的uid和gid为 200,201,kevin运行myfile程序形成的进程的euid=uid=204,egid=gid=202,内核根据这些值来判断进程对资源访问的限制,其实就是kevin用户对资源访问的权限,和foo没关系。

如果一个程序设置了SUID,则euid和egid变成被运行的程序的所有者的uid和gid,例如kevin用户运行myfile,euid=200,egid=201,uid=204,gid=202,则这个进程具有它的属主foo的资源访问权限。

SUID的作用就是这样:让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。passwd就是一个很鲜明的例子。


10、针对以下代码,const  char str1[]="abc"

const char str2[]="abc"

const char *p1="abc"

const char *p2="abc"

那个正确

 字符数组str1、str2与字符指针p1、p2的区别是:str1、str2是数组,可以改变数组中保存的内容;p1、p2是指针,可以指向不同的字符串,但是不能改变所指的字符串常量。

  也就是,定义一个字符数组,就相应地在内存中为数组分配空间,每个字符数组得到各自的内存空间,因此字符数组的地址是不相同的;而字符指针是指向公用的常量区的字符,如果字符串相同,那么指针所指向的内存地址也是相同的。

  对于const的理解,这道题目体现的不是很明显。以后有机会补上!


11、硬币游戏:连续扔硬币,直到某一个人获胜,A获胜条件是先正后反,B获胜是出现连续两次反面,问AB游戏时A获胜的概率是

是3/4,不是A赢就是B赢,站在B的角度看,B只有1/4的机会赢。


12、把校园中同一区域的两张不同比例尺的地图叠放在一次,并且使其中较小的尺寸的地图完全在较大尺寸的地图的覆盖之下。每张地图上都有经纬度坐标,显然,这两个坐标并不相同。我们把恰好重叠在一起的两个相同的坐标称为重合点。下面关于重合点的说法中正确的是:

A、可能不存在重合点

B、必然有且仅有一个重合点

C、可能有无穷多个重合点

D、重合点构成了一条直线

E、重合点可能在小地图之外

F、重合点是一小片连续的区域。


13、有一个用数组C[1..m]表示的环形队列,m为数组的长度。假设f为队头元素的数组中的位置,r为队尾元素的后一位置

(按顺时针方向)。若队列非空,则计算队列中元素个数的公式为?

(m+r-f)mod m


14、下列关键字序列为堆的是:

100,60,70,50,32,65

60,70,65,50,32,100

32,50,100,70,65,60

50,100,70,65,60,32

父节点 i 子节点2*i,子节点2*i+1


14、有4个进程A、B、C、D,设他们一次进入就绪队列,因相差时间很短可视为同时到达。4个进程按轮转法分别运行11,7,2和4个单位时间,设时间片为1,四个进程的平均周转时间为——

使用公式如下:

轮流用时间片  B. 16.25

每个进程从进入到出来的时间,平均周转时间就是总时间/进程数


15、计算三个稠密矩阵A、B、C的乘积ABC,假定三个矩阵的尺寸分别为m*n,n*p,p*q,且m<n<p<q,以下计算顺序效最高的是
(AB)C

A(BC)

(AC)B

(BC)A

(CA)B



16、A公司打算搭建一个Android APP下载的Web站点,计划将目前常见的手机APP都放到这个网站上提供下载。因为业务开展初期下载量很小,技术部门就用了1台服务器,给服务器配置了一个公网IP对外进行服务。随着销售部门的推广到位,用户量和下载量呈指数级上载,要求技术部门马上进行改造。如果你是技术部门经理,你会怎么改造这个站点,以满足高负载的需求。

提示,短时间修改网站的代码不现实,其他方面的各种改造建立都可以,建议越多越好。




/其他面试题

1. 某团队有2/5的人会写Java程序,有3/4的人会写C++程序,这个团队里同时会写Java和C++的至少有()人
A. 3 B. 4 C. 5 D. 8 E. 15 F. 20

8. 在一个双向循环链表中,指针p所指向的节点(非尾节点)之后插入指针s所指向的节点,其修改指针的操作是()

A. p->next=s; s->prev=p; p->next->prev=s; s->next=p->next;

B. p->next->prev=s; p->next=s; s->prev=p; s->next=p->next;

C. p->next->prev=s; s->prev=p; p->next=s; s->next=p->next;

D. s->prev=p; s->next=p->next; p->next->prev=s; p->next=s;

E. s->next=p->next; s->prev=p; p->next=s; p->next->prev=s;

9. 下列选项中,()是一个典型的TCP客户端(主动建立连接,主动关闭连接)

A. SYNC_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT

B. SYNC_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->CLOSE_WAIT

C. SYNC_SENT->SYNC_RCVD->ESTABLISHED->FIN_WAIT1->FIN_WAIT2

D. SYNC_RCVD->ESTABLISHED->CLOSE_WAIT->TIME_WAIT->LAST->ACK

E. SYNC_RCVD->ESTABLISHED->CLOSE_WAIT->TIME_WAIT->FIN_WAIT1

F. SYNC_SEND->ESTABLISHED->FIN_WAIT1->TIME_WAIT->CLOSE_WAIT




11. 一个博物馆以每分钟20人的速度进入,平均每人待20分钟,问博物馆至少需要容纳()人

A. 100 B. 200 C. 300 D. 400 E. 500

12. 个数为50k的数列,需进行从小到大排序,数列特征基本逆序(多数数字从大到小,个别数字乱序),以下哪种排序算法在事先 不了解数列特征的情况下能大概率最优(不考虑空间限制)()

A. 冒泡排序 B. 改进冒泡排序 C. 选择排序 D. 快速排序 E.堆排序 F.插入排序

14. “村长”带着4对父子参加“爸爸去哪儿”第三季第二站某村庄的拍摄。村里为了保护小孩不被拐走有个千年的规矩,那就是吃饭的时候小孩左右只能是其他小孩或者自己的父母。那么4对父子在圆桌上共有几种坐法。(旋转一下,每个人面的的方向变更后算是一种新的坐法)()

A. 144 B.240 C. 288 D.480 E. 576 F. 960


15. 每台物理计算机可以虚拟出20台虚拟机,假定一台虚拟机发生故障当且仅当它所宿主的物理机发生故障。通过5台物理机虚拟出的100台虚拟机,那么关于这100台虚拟机的故障的说法正确的是()

A. 单台虚拟机的故障率高于单台物理机的故障率

B. 这100台虚拟机发生故障是彼此独立的

C. 这100台虚拟机单位时间内出现故障的个数高于100台物理机单位时间内出现故障的个数

D. 无法判断这100台虚拟机和100台物理机哪个更可靠

E. 如果随机选出5台虚拟机组成集群,那么这个集群的可靠性和5台物理机的可靠性相同

F. 可能有一段时间只有1台虚拟机发生故障

16. 下列C代码中,不属于未定义行为的有()

A. int i=0;i=(i++);

B. char *p="hello"; p[1]='E'; //

C. char *p="hello"; char ch=*p++;

D. int i=0;printf("%d %d\n", i++, i--);//先运算后面的i-- 

E. 都是未定义行为

F. 都不是未定义行为

17. 带头节点的单链表head为空的判断条件是()

A. head==null

B. head->next==null;

C. head->next==head;

D. head!=null;

E. *head==null;

F. *(head->next)==null;

18. 甲乙两路发车间隔均为10分钟的公交车发车时刻分钟数个位分别为1和9,那么对于一个随机到达的乘客,ta乘坐甲车的概率为

A. 0.1 B.0.2 C. 0.3 D. 0.4 E. 0.5 F. 0.9

21. 棋盘上共有2020个格子,从1开始顺序编号。棋子初始放在第1格,通过扔骰子决定前进格子数,扔出x点就前进x格。骰子有6面,分别对应1至6;质量均匀。当棋子到达2014或超过2014,游戏结束。那么,棋子刚好到达2014的概率与______最接近。
A. 2/3
B. 1/2
C. 1/3
D. 2/7
E. 1/6
F. 1/7  

准确来说允许同任意次筛子的话每个格子的概率近乎相同,
比如投1:1/6概率.     投2=两次投1+一次投二=1/36+1/6           投3:1/6+2/36+1/216
对于2014.那么他可以是2008~2013分别投到6,5,4,3,2,1.这六种可能性.
如果投的数超过2014就结束了,也就是说2009~2013分别投到6,5以上,4以上,3以上,2以上都结束
所以概率就是   6  ÷(1+2+3+4+5+6) =2/7


22.有两个32bit的数A、B,使用下面方式得到32bit的数C、D。哪一种可以使用C、D得到A、B的值

A. C=(int32)(A+B),D=(int32)(A-B)

B. C=(int32)(A+B),D=(int32)((A-B)>>1)

C. C=(int32)(A+B),D=B

D. C=(int32)(A+B),D=(int32)(A+2*B)

E. C=(int32)(A*B),D=(int32)(A/B)

  F. 都不可以,可能溢出

3.F
必须溢出的.举个简单化的例子,假如一个2位类型,取值就是-2~1.假设A=-2,B=1.然后就发现全部不成


23.下列方法中,______不可以用来程序调优 ?

A. 改善数据访问方式以提升缓存命中率

B. 使用多线程的方式提高I/O密集型操作的效率

C. 利用数据库连接池替代直接的数据库访问

D. 使用迭代替代递归

E. 合并多个远程调用批量发送

F. 共享冗余数据提高访问效率

24.用6块1×2的完整瓷砖,铺满2×6的地面,一共有______种不同的铺法(不允许将瓷砖划分成小块)

A.13

B.15

C.22

D.24

E.25

F.26

27.若干个等待访问磁盘者依次要访问的磁道为19,43,40,4,79,11,76 当前磁头位于40号柱面,若用最短寻道时间优先调度算法,则访问序列为______。

A. 19 , 43 , 30 , 4 , 79 , 11 , 76

B. 40 , 43 , 19 , 11 , 4 , 76 , 79

C. 40 , 43 , 76 , 79 , 19 , 11 , 4

D. 40 , 43 , 76 , 79 , 4 , 11 , 19

E. 40 , 43 , 76 , 79 , 11 , 4 , 19

F. 40 , 19 , 11 , 4 , 79 , 76 , 43

//哪里离它最近,先访问那个。



28.程序出错在什么阶段______?

int main ( void )

{

http : //www.taobao.com

cout << "welcome to taobao" << endl ;

}

A 预处理阶段出错
B.编译阶段出错
C.汇编阶段出错
D.链接阶段出错
E.运行阶段出错
F.程序运行正常

29.int main() { fork() || fork();} 共创建几个进程?

A. 1

B. 2

C. 3

D. 4

E. 5

30.一个函数定义的返回值是float,它不能在return语句中返回的值的类型是?

A. char  

B. int   

C. float   

D.long   

E. double  

F.以上皆可以



本帖最后由 itmian4 于 2014-8-30 12:02 编辑

1、C++内存分配中说法错误的是()

A 对于栈来说,生长方向是向上的,也就是向着内存地址增加的方向

B 对于堆 ,大量的new/delete操作会造成内存空间不连续

C 堆容易产生memory leak

D 堆的效率比栈要低很多

E 栈变量引用容易逃逸

F 以上都对

2、全班100个学生,老师让玩如下一个游戏:每个学生在纸上写一个1到100之间的整数(含1和100),不能参考别人写的数字,谁的数字最接近所有数字的3/4,谁就会获得100元。下面的数字中,最糟糕的选择是()

A 1

B 2

C 10

D 20

E 50

F 80

3、下列正则表达式不可以匹配“www.alibaba-inc.com”的是()


A ^\w+\.\w+\-\w+\.\w+$


B [w]{0,3}.[a-z\-]*.[a-z]+


C [c-w.]{3,10}[.][c-w.][.][a]


D [w][w][w][alibaba-inc]+[com]+


E ^\w.*com$


F [w]{3}.[a-z\-]{11}.[a-z]{3}      //点就是一个字符


4、关于UNIX系统代码段和数据段分开的目的,错误的说法有()

A 可共享正文

B 可共享数据

C 可重入

D 可保护代码为只读

E 方便编程

F 更好支持内存回收策略


7、设m和n都是int类型,那么一下for循环语句()

for(m=0,n=-1;n=0;m++,n++)n++;

A 循环体一次也不执行

B 循环体执行一次

C 无限循环

D 有限次循环

E 循环结束判断条件不合法

F 运行出错

19、有字符序列(Q,H,C,Y,P,A,M,S,R,D,F,X),新序列(F,H,C,D,P,A,M,Q,R,S,Y,X)是下列()排序算法一趟扫描结果。

A 二路归并排序   B 快速排序   C 步长为4的希尔排序  D 步长为2的希尔排序 E 冒泡排序 F 堆排序

20、假设某段通信电文仅由6个字母ABCDEF组成,字母在电文中出现的频率分布为2,3,7,15,4,6.根据这些频率作为权值构造哈夫曼编码,最终构造出的哈夫曼树带权路径长度与字母B的哈夫曼编码分别是:

并发进程执行的相对速度是?

A.由进程的程序结构决定

B.由进程本身来控制

C.进程被创建时决定

D.与进程调度策略有关

E.与进程的销毁时间有关

F.由内存分配策略决定


参考答案:D


一个合法的表达式由()包围,现在有6对(),它而已组成合法表达式的个数为:

f(6)=f(5)f(0)+f(4)f(1)+f(3)f(2)+f(2)f(3)+f(1)f(4)+f(5)(0)

132


默认block  size情况下,Ext3文件系统支持的最大文件大小是 ______。


某二维平面上有12个位置不同的点,通过连接其中任意两点,可以画出59条不同的直线。那么,在59条直线中,经过3个或3个以上的点的直线有______条。

0    1   2            3       5       7


以下属性中,——不是m阶B树特性

1、根节点至少2子女节点

2、非根节点包含子女数满足[m/2 ]-1<=j<=m-1   //没有-1

3、除根节点以外所有内部节点读书为存储关键字加2

4、叶节点均位同一层

5、B+也常用于计算机磁盘文件组织。


12321能被写出——种两个质数相加的形式

0

1

2

3

4

5


中关村电子城某卖手机的店铺给客人报价,如果按照低价500元(成本价)报出,那么客人就一定会选择在该店铺购买。价格每增加1元,客人流失可能性增加1%,那么该店铺给客人报出的最优价格是:

500元

510元

520元

530元

540元

以上都不对

    


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值