企鹅2012实习生笔试
这是我第一次参加笔试,不过完全不是我想象中的笔试,我预想笔试应该会出一些算法题,会出一些C或者C++的题目,但是这次腾讯的笔试完全让我大跌眼镜,大部分都是智力题,更确切的说是数学题,好几个排列组合的题目,选择题考了几个操作系统的知识,填空题有几个有点难度,至于加分题,完全没看。不知道腾讯这么考的用意是什么。
回忆一下题目,有一个是考进程关闭后会:A自动关闭打开的文件,B自动关闭打开的网络连接?,C自动关闭所有的线程?
有2个考栈的,太简单。
有2个考网络的。
填空题记得很清楚:
第2个:求ack(3,3)
函数是这样的:
int ack(m,n)
{
if(m==0)
return n+1;
else if (n==0)
return ack(m-1,1);
else
return ack(m-1,ack(m,n-1));
}
这个不会做啊。。。 纠结了好久。。。后来用笨办法在纸上写出前几个数的结果。。推导了一下规律。。 还好数值不大,只计算到ack(3,3)
第3个:有一款网游24小时平均在线人数是5000,平均每人在线2个小时,求平均每分钟有多少人上线
靠直觉写了一个式子 x*60*24*2 = 5000*24 ;也没多想
第4个是数据库操作的,从论坛帖子列表中查出前20个帖子的标题,按照时间排序
第5个事考设计模式的。。 每个数字1,2,3.。。都是一个只读实例,如果原来实例不存在就创建一个,如果存在就不创建相同的了。。。这类似Obc里面的单体类。。。不过,我完全没看过设计模式啊。。。。
然后计算1+2+3+。。。+40会创建多少个实例(事先创建1~32之间的实例)
我是这么想的,不知道对不对,首先会创建33~40之间的8个实例,然后1+。。+8=36不用创建实例,再+9超出了40又要创建新的实例了,也就是+9+10+。。。+40每个都要创建一个实例,也就是32个。。。那么总共创建40个实例
最后一个知道gcd()函数的一眼就看出来,没什么好说的
浙公网安备 33010602011771号