网易校园招聘面试笔试题(3)

 12.写一个程序来确定系统是大端模式还是小端模式;

  13.编程实现采用位操作来实现整数的加法操作。

  14. 图的矩阵表示法,图的深度优先遍历,算法思路及其实现。

  15.CAS(compare and swap)操作实现:(具体原理可以参考)

  16.fork函数的用法。具体题目为:

  #include

  #include

  #include

  int main(void)

  {

  int i;

  for(i=0; i<2; i++){

  fork();

  printf("-");

  fflush(stdout);

  }

  return 0;

  }

  6个-

  详见:https://coolshell.cn/articles/7965.html

  17.spin lock原理:

  先来一些代码吧!

  void initlock(volatile int* lock_status)

  {

  *lock_status = 0;

  }

  void lock(volatile int* lock_status)

  {

  while(test_and_set(lock_status = =1);

  }

  void unlock(volatile int* lock_status)

  {

  *lock_status = 0;

  }

  问题:volatile的作用?lock函数优化(针对在多cpu上提高cpu cache)?上面的缺陷(内存模式上的)?

  volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。

  18.给定一个巨大的文件,如何从中选出k行,随处输出k行到文件中。要求每一行出现的概率都相等。设计算法、说明思路,算法复杂度。

  19.win32中WM_Quit的作用是什么?

  20.比较mutex和临街区之间的区别,并说明其使用场景。

  21.多线程编程,如何安全退出线程。

  还有网易数据挖掘方面的题目,这次数据挖掘的题目比较新奇,都是简答题。如下:

  1,简述你对数据与处理的认识;

  2,简述你对中文分词的理解,说明主要难点和常用算法;

  3,常见的分类算法有哪些;

  4,简述K-MEANS算法;

  5,设计一个智能的商品推荐系统;

  6,简述你对观点挖掘的认识

  网易游戏笔试的人太少,因此可提供的笔试题目都不全,只是听说特别的难。还有好多是数学方面的智力题。例如:

  1、英雄升级,从0级升到1级,概率100%。

  从1级升到2级,有1/3的可能成功;1/3的可能停留原级;1/3的可能下降到0级;

  从2级升到3级,有1/9的可能成功;4/9的可能停留原级;4/9的可能下降到1级。

  每次升级要花费一个宝石,不管成功还是停留还是降级。

  求英雄从0级升到3级平均花费的宝石数目。

本文已影响6827
上一篇:学生会部门面试问题 下一篇:Java企业招聘面试考试题

相关文章推荐

|||||