腾讯实习生笔试题 软件开发-后台开发方向2014.4.20

来源:互联网 发布:2017年程序员考试答案 编辑:程序博客网 时间:2024/04/28 17:32

今天的实习生笔试题有选择题,填空题,附加题,选择题是多选、少选、不选均不得分,里面有图的遍历、树的遍历、线索二叉树、C语言宏、C++程序内存分配、数据库索引、Linux命令、Linux系统调用,题目记不清楚了,下面是回忆的填空题。

填空题

1.写出mysql返回第10-20条记录的查询语句

select * from test limit 9,11

mysql的记录索引从0开始,所以limit 后面是9(唉,我写成10了,本科写分页的时候经常用到,居然给写错了),10-20有11条记录。


2.信号量初始值为9,经过15次p操作,14次v操作后,信号量的值为: 8   = 9-15+14


3.有4个物理页面,统计下面页面访问次序的缺页次数,4321435432154 ,开始内存中没有页面:9次


4.给出了图的邻接表,写广度优先遍历结果,这个记不到图了。


5.一个魔方是20×20×20的小立方体组成,去掉最外层的小立方体,还剩多少个小立方体:

18×18×18=5832


6.A、B两个人玩抛硬币游戏,直到出现一次正面向上位置,当第n次出现的是正面的话,B需要给A 2^(n-1)美元,比如第一次就是正面向上那么B就得给A 1美元,如果第一次反面向上,那么继续抛,如果第二次是正面向上那么B就得给A 2美元,依次....,问A提前给B多少钱,才能使最后AB不输不赢?

我的做法:B给A的钱数=1/2×1+...+ 0.5^(n)  *   2^(n-1)=0.5N,现在只要求得抛硬币次数的期望E

E=1 * 1/2 + 2 * (1/2)^2+...+ n* (1/2)^n

1/2*E=         2 * (1/2)^2+...+ (n-1)* (1/2)^n +n* (1/2)^(n+1)

上减下 ===>>     1/2*E=1/2 +(1/2)^2+...+ (1/2)^n -n* (1/2)^(n+1)=1

所以E=2,B给A的钱数1美元,所以A得提前给B 1美元


7.左轮手枪问题,一把左轮手枪,轮上有6个子弹位,现在其中两个连续的位置放2颗子弹,作者先朝他自己的头开了一枪,他没没挂,现在在你不想死的前提下要你选择:

1)转动一下轮子,再朝自己头开一枪;

2)直接朝自己头开一枪;

答案选2),如下图,子弹位于0,1


作者开一枪没挂掉那么他开枪时,位于2,3,4,5,概率各0.25,开完枪位于3,4,5,0概率各0.25,不转动轮子自己活命的概率0.75,转动一下就是4,5,0,1,活命概率只有0.5了。


附加题

1.图示mapreduce

2.数据库表设计



0 0
原创粉丝点击