网易有道笔试总结

【网易笔试题,投软件方面职位的同学可以看看 -2008.9.26】
数据库:
1,User(id,name,age) 查询age最大的人员中,id最小的一条记录
2,user(userid,account),
photo(photoid,userid,accesscount,size)
a,打印帐号威“dragon”的用户访问次数最多的5张照片id
b,给出SQL打印拥有总的照片文件大小(total_size)最多的前10名用户的id,并根据
total_size降序排列
c,为优化上面两个查询,需在两张表上建立何种索引,索引对数据库性能的影响是什么?
3,数据库连接池的作用,设计连接池的时候有哪些注意事项。
4,什么是两阶段提交协议
5,数据库事务的ACID性质是什么?
并发控制协议是哪两个?
事务隔离级别有哪四个?
Java:
1, java classLoader原理
2, threadLocal的用法及使用场景
3, interface有什么作用,什么时候采用interface,什么时候采用虚类?
4, 线程安全的Map在jdk1.5及更高版本中有哪几种实现方法
5, Static void doSomething(Integer x){x=new Integer(2);}调用是否会影响原变量
其它:
1,什么是NP问题,如何判断一个问题是NP问题
2,链表插入和遍历性能是不错的,但是随机定位节点(如第n个)效率不高,如何解决
3,tree遍历,FIFO队列,求输出
4,shell脚本:
查找字符串“String”在文件.cpp中的位置(?),不区分字符串大小写。
一条命令创建aa,bb,cc三个子目录
Mount cdrom.iso至/dev/derom
5,umask为002,求新建立的linux文件权限,如-rx –r
6, DC(设备上下文)有哪几类,区别在哪里?
7, 接触碰撞在游戏设计里面经常用到,回答下列问题:
如何判断一个点在多边形内
如何判断两个多边形相交
如何判断两个点集区域相交
www.dajie.com- 中国最先进的大学生互动求职平台
8
8, 假如你突然不能上网了,你将如何做来查出故障根源?
9, 软件测试的思想,写测试用例和测试代码


首先是一段大概200字的英文翻译。说的是Admin interface,唔,稀里糊涂的写上了点。大概意思翻出出来了。
接着是20道逻辑选择题,有什么a说b说假话,b说自己没有说假话,c说……BLABLA的,最后让你判断谁说的是真的。有的题目非常非常绕。
然后是一段300字的文字表达题,你做为PM,新上线一个产品,拟一段300字贴到官方博客的文字,宣传自己的产品。
随后就是概念题。
有互联网滴:比如让你解释delicious.com facebook techmeme hulu.com
有纯技术滴:比如 CSS DNS VOIP 3G之类的……
记得还有个分类来的,记不清了。
最后是简答:
*1.写出15个铅笔的用途,差异越大越好
2.计算写字楼电梯平均等待时间,怎么统计。
3.你常用IM的哪5个功能,并如何调研用户习惯,并提出改进意见。
大概就记得这么多,时间挺紧的,1个半小时,5页的纸。我没有全答完。



面试
网易面试通常分为3轮,即业务部门的面试和人力资源部的面试。 一面为群面,一分钟自我介绍,5分钟读案例额,回答问题。 二面技术官单面 三面总监单面
【08技术面试】 4个人虐我一个,从他们的问题来说,显然都是做技术的,而且不排除有牛人。其中三个人异常严肃,只有一个人笑过。 首先,简单的自我介绍,然后让我说一个项目,这时候,一个面试官开始针对我项目中的 遗传算法不停的发问,给我问的真是郁闷。 然后,其他面试官开始天马行空的问问题了,不过也跟简历有关系。 涉及到正则表达式,现场写一个;sql语句;分层的理解;多态;操作系统的同步实现;S OAP;gc的机制;排序算法;查找。。。
【08年11月三轮面经】网易游戏offer到手,发面经一面,群殴。我和同班的小L一起去的,路上就遇到了几个中大技术牛人,人家是去拿offer的,汗……网易大厦我是非常的喜欢,不仅环境很好,而且那种氛围让我觉得很舒服,看到很多员工的穿着都非常的休闲,丝毫没有压抑的感觉,前台还摆了很多鲜花,味道很怡人,嘿嘿。顺便简单提一下网易的福利吧,免费零食,免费餐,健身房,N个休闲俱乐部等等等等,总之很诱人啦。面试开始,8个人一组,中大的只有我和小李,华工有三个,广工有三个,8个都是GG,其中华工有一个研究生,是让我很佩服的那种,这是后话。面试官大概有4个吧,也没特意数。一个MM,是主持面试的,另外几位GG都是在一旁冷眼旁观,自始至终都未发一言。制作好名牌之后,首先是一分钟自我介绍,其他几位介绍得都比较详细,说了些跟职位相关的东西,到我这就很简洁,因为我事先也没准备,就简单介绍了自己学校专业,表示一下感谢,祝大家好运之类的。然后是5分钟读案例,每人2分钟回答案例第一题。案例的内容大体就是一家化工企业面临一些问题,各个部门打罗圈仗,销售部门卖出去产品却无法按时给客户供货,生产部门说没有原材料,所以无法按时生产出产品,采购部门又说没自己买原材料,财务部门说应收帐款没有到位,没资金给采购部……销售部门的老大很无奈。我一看形势,大家都不开口,就挺身而出我觉得企业制度有问题,各部门权责不清,balabala……然后大家陆续发表意见,还有几个人支持我,呵呵。然后8个人分成了2组,讨论15分钟,然后选一个人做总结陈词,1、2问都要回答。我跟华工GG分到了一组,还有两个广工的。大家一致推举华工GG做总结,大家对他的表达还是比较认同的。我们讨论
www.dajie.com- 中国最先进的大学生互动求职平台
10
的很好,华工GG讲的框架很不错,人家很专业,真不知道他是什么专业出身,反正我是自叹不如啊。最后我们基本达成了共识,然后又补充了一些内容吧,讨论的时间也就差不多了。接下来就是华工GG的表演时间了,他的表达很强,真可谓是气势磅礴,一气呵成,呼风唤雨,信手拈来,信口开河呀,哈哈。然后是小L他们那组的总结,是小L做的,他有点紧张了,发挥的不是特别好。我的第二次群殴就这样结束了,MM说如果通过一面,第二天24点之前给二面通知。我觉得我应该比第一次表现的好了一点,但表达上还是有需要改进的地方。总体感觉网易游戏一面还是比较专业的,至少是我喜欢的类型,嘿嘿。跟华工GG等几个人互换了联系方式,就各奔东西了,心情还是不错的,每次都能感觉自己进步一点点,offer也就不会太远了吧。 11.7二面,2面试官VS我。非常非常意外的接到了网易游戏的二面通知,说实话有点小兴奋,嘿嘿。据说我们组只有我一个人进了二面,连那个超级无敌的华工GG都没能幸免,这个让我很惊讶。这是我找工路上的第一次二面,紧张肯定是难免的,准备了一个比较详细的自我介绍,又看了看自己的简历,就上阵了。早上7点起床,吃过早餐就启程了,结果早到了一个小时,汗,只能在网易大厦外面逛了逛,回忆了一下自我介绍,话说那里外面的环境也不错。后来陆续见到了几个一同来面试的,基本都是其他职位的,我应该是销售类第一个参加二面的吧。两个一面时面过我们的GG面的我,不清楚是HR还是销售部门的人(后来得知主面试官是饼总)。第一个问题很突然,给我5分钟给他们讲一个故事,题材不限。……头脑一片空白,我承认这个问题达到了出其不意的效果,我答得比较差(听说第二天这个题目换成了唱首歌,再汗一个)。后来是一些自我介绍,包括家庭情况,游戏经历,谈谈对职位的理解,为什么觉得自己适合这个职位之类的常规问题,这部分感觉发挥得还算可以。然后又问我选择工作的标准是什么,我就balabala讲了我自己的真实想法。有些问题记不清了,后来饼总给我简单介绍了一下我的所应聘岗位的职责,后来又问了我薪水期望,工作地点期望等等。到我发问的时间了,我问了两个:1.网易游戏最大的竞争对手是什么?饼总答曰:我们自己,balabala……。2.游戏政策比如防沉迷对于网易游戏是否有冲击?饼总让我自己回答,我说觉得冲击应该不大,网易游戏还是比较健康的,饼总说我回答得完全正确,呵呵,居然还被反问了,汗。然后花20分钟做了个性格测试,整个二面就结束了。还是2天之内会有通知,继续等待。毕竟是自己第一次单面,有点紧张,发挥上不尽如人意,但毕竟增长了经验,希望以后单面的时候自己不那么紧张了。 11.10终面,何总VS我。继续着好运气,收到了终面通知,突然觉得offer离自己好近,也开始有点患得患失了。成功了当然好,找工之路就可以告一段落了;要是失败了,那除了一点面试经验就什么都没有了……在焦急和兴奋中度过了一个周末,得到了各位兄弟姐妹的很多鼓励,玩了一会网易的梦幻西游,对网易游戏有了一个感性的认识,又上网找了一些相关情况介绍,周一下午,终面来了。我又是比较早的到了网易大厦,这次等待的时间是孤独的,看来二面淘汰了不少人,还好中间看到了亲爱的饼总,跟他打过招呼不久,就被叫去终面。我敲门进去的时候何总貌似在看我的简历,终面很短,20分钟左右吧,只记得何总问我对于一个团队来讲,最重要的三点是什么,不用展开。我想了一会,balabala……然后又一次问到了我选择职业的标准,我的回答跟二面是一样的。然后就没我什么事了,何总详细给我介绍了我这个职位,包括工作地点,可能遇到的挑战,还有发展机遇,偶尔停下来问我,觉得自己适合不适合这个职位,我当然说适合,而且我也确实是这么认为的,呵呵。何总大概讲了10几分钟以后,他跟饼总互相示意了一下,就给我OFFER了,就是这么简单,至此,我悬着的心也就放下来了。之后饼总给我讲offer里面提到的待遇等等,这里就不详细介绍了。再后来就是晚上销售、市场两个部门新人聚餐啦,很丰盛的说,嘿嘿。大家都很开心,跟领导们聊得也很尽兴,发现网易的文化真的很轻松,跟我想象中一样,是我最喜欢的那种类型,丝毫没有拘谨的感觉吧,甚至可以跟老大们开开玩笑。至此,我的找工之路可以
www.dajie.com- 中国最先进的大学生互动求职平台
划上一个圆满的句号了。
【分享一下网易新闻编辑面经 2008.11.13】
下午两点45到达的网易大厦。面我的是个三十岁左右的男人,穿T和牛仔裤,看到他我就
松了一口气,因为我是出门前一分钟才决定把破球鞋换成高跟鞋的。
似乎,他对我的简历和实习经验并不感兴趣。
主要是从上次搞的那个什么擂台挑战赛那些问题的回答情况把我挑出来的。
问的问题很宽泛:
例如对美国大选的看法?如果是政策制定者,觉得应该如何解决中国
目前的经济危机?艳照门那个问题。(后来我才发现原来我一直执行两套道德标准,作为
一个普通大众一套和一个新闻工作者一套> <~~~)觉得中国有哪些报纸杂志做得好?
为什么好?有什么区别?看不看外国网站?平时一天的生活怎么样?上网主要做什么?
有没有阅读习惯,看什么书?
很轻松的两个人聊天。大概有四五十分钟左右。到后来一直是我在问他问题……
(- -bbb职业病)
觉得可能网易并不在意你成绩如何,有什么经验,更看重你看待事情的方式、你的
新闻取向、判断标准、价值观、平时新闻敏感度的积累以及阅读的广度深度等等




【08笔试题库】 1.有25个学生参加数学竞赛 , 每个学生至少解出一题, 在所有没有解出第一题的学生中,解出 第2题的人数是解出第3题人数的2倍,只解出第一题的学生比余下的学生中解出第一题的人数 多1,只解出一道题的学生,有一半没有解出第一题.则共有多少学生只解出第2题? 2. 史密斯夫妇邀请另外四对夫妇就餐,已知他们每个人都不和自己握手、不和自己的配偶握手 、且不和同一个人握手一次以上。在大家见面握手寒暄后,史密斯问大家握手了几次,每个人的答案都不一样。问:史密 斯太太握手几次。 3. 两圆相交,只有2交点A、B,过A点做线段CAD,CA、AD为两圆的弦,问什么情况下CAD最长,并证明提示圆心角和圆周角的两倍关系。 4. 扑克有6种牌,无花色区别,每种牌数量任意!问两人对弈,每人一次抽5支牌时,凑出顺子、对、两对、三条、四条...的概率,并排列 5. 已知二叉树前序遍历和中序遍历,求后序遍历的结果。 6. 六道輪回的六道指哪些 7. 佛教四大名山是?
www.dajie.com- 中国最先进的大学生互动求职平台
7
8. 月是故鄉明前一句是? 9.五音指? 10.metal gear solid 是哪個公司的作品? 11. 赤壁,烧烤,孢子,九零后,林志玲,鱼肝油,鬼吹燈,俯臥撐,大爆炸理论,不能说的秘密,囧 寫一段話.




1 打印如下形式的矩阵;
n=5:
1   2   9 10 25
4   3   8 11 24
5   6   7 12 23
16 15 14 13 22
17 18 19 20 21

n=6:
1   2   9 10 25 26
4   3   8 11 24 27
5   6   7 12 23 28
16 15 14 13 22 29
17 18 19 20 21 30
36 35 34 33 32 31

 

答:先申请一个(n+1)^2的二维数组,然后按照先放行再放列的,或者先放列后放行的顺序(有个顺序标志flag)填充数组一个大循环(1~~n)里面套四个小循环就可以了

2. 表达式求值,一个字符串只由'+','-',和‘0’-‘9’组成,并且'+','-'只作为二元
运算符。
bool calculate(const char* exp, int &result);

答:此题注意一个字符是符号和两个符号之间有多个数字,不用写子函数,用两个嵌套while即可。

1:   
36匹马赛跑,跑道同时只能容许6匹马。而且36匹马速度不同,但是每次跑的速度恒定。
问,跑多少次可以选出第一,第二,第三名   


答:先对马编号,分为六组,赛六次,得出第一名,在将第一名所在组的第二名取出与其他组第一名赛一次,得出第二名,再取出第二名所在组的下一名与上一次剩下的再赛一次取出第三名


2:
给定一个字串X,求它最长字串S,使得S=SR,SR为S的反序,即如果S=abc,则SR=cba
例子:X=abccba,则输出S=abccba

 

答:先写一个判断字符串对称的子函数,然后从整个字符串开始判断,然后不断减小字符串的长度,直到找到为止。

 

1 给定n个整数,求对应的哈夫曼树的高度

答:定一个结构 

   struct node

   {

   int value;

   int layer;

   }

   1:先按值快排一下(升序)

   2:从后面取出最大的两个node合并,value取二者之和,layer取较大的再加1,与当前层数cur比较

   3: 将新节点插入原数组,保持有序

   4:转到2,直到所有节点都被合并,cur中的值为树高

=======  笔试总结 =====================================
1.求函数输出


j = 0;

for(int i=0;i<100;i++)
{
  if(i%7=0||i%10=7)
{
j++;
}
}
printf(j)

我的答案:100/7+1 = 15
15+10-3 = 21


2. 一个很长的整形字符串,求出它mod 359 的余数。

例如3590000000000000002 ,输出2

其中这个数不会大于10的70次方。

我的答案:

sum = 0
while(*number !='/0')
{
   sum = sum*10+ *number -'0';
   sum = sum%359
}


3.求茂密度:一个二叉树的高度乘所有层中节点数最多那层的节点数。。

我的答案:两个子函数:一个求高度,一个求节点最多的数。

1.求函数输出


j = 0;

for(int i=0;i<100;i++)
{
  if(i%7=0||i%10=7)
{
j++;
}
}
printf(j)

我的答案:100/7+1 = 15
15+10-3 = 21


2. 一个很长的整形字符串,求出它mod 359 的余数。

例如3590000000000000002 ,输出2

其中这个数不会大于10的70次方。

我的答案:

sum = 0
while(*number !='/0')
{
   sum = sum*10+ *number -'0';
   sum = sum%359
}


3.求茂密度:一个二叉树的高度乘所有层中节点数最多那层的节点数。。

我的答案:两个子函数:一个求高度,一个求节点最多的数。

高度好球,用递归。
但是节点最多的层的数目没怎么写对。我说用队列。。。结果队列的结构忘了些,写得也不好。
int   depth(bitree   t)   
  //   计算二叉树的深度。   
  {   
    int   lchilddep,rchilddep;   
    if(t==0)   
      return   0;   
    else   
    {   
      lchilddep=depth(t->lchild);   
      rchilddep=depth(t->rchild);   
      if(lchilddep>rchilddep)   
        return   (lchilddep+1);   
      else   
        return   (rchilddep+1);   
    }   
  } 

int   maxlayerlength(bitree   t)   
  //   计算二叉树各层的结点数的最大值   
  {   
  bitree   queue[M],p=t;   //建立队列queue,为求简单,此处假设M足够大   
  int   front,rear;             //队首,队尾   
  int   max_length=0,         //最大层长   
  cur_length=0,         //当前层长   
  next_length=0;       //下一层长   
  if(t!=NULL){   
  front=rear=-1;       //队列初始化   
  queue[++rear]=t;   //根结点指针进队   
  max_length=cur_length=1;//层长初试化   
  next_length=0;           
    
  while(front
  p=queue[++front];//出队,获取当前层一个结点   
  cur_length--;   
    
  if(p->l!=NULL){   
  queue[++rear]=p->l;//左孩子结点指针进队   
  next_length++;   
  }   
  if(p->r!=NULL){   
  queue[++rear]=p->r;//右孩子结点指针进队   
  next_length++;   
  }   
    
  if(cur_length==0){//进入下一层   
  cur_length=next_length;   
  if(cur_length>max_length)//更新最大层长   
  max_length=cur_length;   
  next_length=0;   
  }/*if*/   
    
  }/*while*/   
    
  }/*if*/   
  return   max_length;   
  } 


typedef struct{
                    BTNode node;
                    int layer;
                  } BTNRecord; //包含结点所在层次的记录类型 
int FanMao(Bitree T)//求一棵二叉树的"繁茂度"
{
  int countd; //count数组存放每一层的结点数
  InitQueue(Q); //Q的元素为BTNRecord类型
  EnQueue(Q,{T,0});
  while(!QueueEmpty(Q))
  {
    DeQueue(Q,r);
    count[r.layer]++;
    if(r.node->lchild) EnQueue(Q,{r.node->lchild,r.layer+1});
    if(r.node->rchild) EnQueue(Q,{r.node->rchild,r.layer+1});
  } //利用层序遍历来统计各层的结点数
  h=r.layer; //最后一个队列元素所在层就是树的高度
  for(maxn=count[0],i=1;count[i];i++)
    if(count[i]>maxn) maxn=count[i]; //求层最大结点数
  return h*maxn;
}//FanMao
分析:如果不允许使用辅助数组,就必须在遍历的同时求出层最大结点数,形式上会复杂一些,你能写出来吗? 


4.求一个整数字符串,用'*'分隔成k段后,每段乘起来,最大乘积是多少。。

应该是要用动态规划。我想到使用DP,但是不会写。
网上的参考:

设有一个长度为N的数字串,要求使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。 



同时,为了帮助选手能够正确理解题意,主持人还举了如下的一个例子: 



有一个数字串:312, 当N=3,K=1时会有以下两种分法: 



1)    3*12=36 

2)  31*2=62 

  

  这时,符合题目要求的结果是:31*2=62 



  现在,请你设计一个程序,求得正确的答案。 


输入 


程序的输入共有两行: 

第一行共有2个自然数N,K(6≤N≤10,1≤K≤6) 

第二行是一个长度为N的数字串。 


输出 

输出所求得的最大乘积(一个自然数),答案在long long 数据范围之内。 

样例输入 

4  2 
1231 


样例输出 

62 


请高手们给点思路~~~~~~~~~~~~~~~

你可能感兴趣的:(网易有道笔试总结)