今天的实习生笔试题有选择题,填空题,附加题,选择题是多选、少选、不选均不得分,里面有图的遍历、树的遍历、线索二叉树、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.数据库表设计