企鹅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()函数的一眼就看出来,没什么好说的

posted on 2012-04-07 16:52  bingwenst  阅读(381)  评论(0)    收藏  举报

导航