面试笔试题目

百度实习1面

  • 堆和栈的区别
  • malloc的底层机制?
  • 进程和线程的区别
  • 进程之间有哪些通信方式
  • 如何创建共享内存?通过malloc吗?
  • 知道哪些排序算法?它们的稳定性和复杂度怎样?为什么快排的平均时间复杂度是O(nlgn)?
  • 算法题:两个字符串s1和s2,判断s2是否是s1的旋转字符串。
  • 问我有什么问题要问他的?

百度实习2面

  • 2014年5月5日
  • typedef定义一个含有10个整型数的数据类型;typedef int x[10];
  • 怎么根据数组名字求数组长度;sizeof(a)/sizeofsizeof(a[0]);
  • 写代码。查看某个值在不在给定二叉树中;递归函数实现;
  • 写代码,按顺序输出二叉排序树的各个节点值;递归函数实现;
  • 海量日志,含有关键字,几亿条,关键字有重复,内存放不下,输出重复率最高的前100个关键字(hash切割小文件+hash_map统计频率+堆排序输出);
  • SSD的分类,优缺点,损耗均衡的实现;为啥要自己实现驱动,不是用linux提供的?(MLC 和SLC ,MLC寿命短,密度高,SLC寿命长,密度低。);
  • 对面向对象的理解,(不会c++,举例linux内核关于文件系统的实现inode,dentry等,C语言实现面向对象的思想);
  • static关键字的各种用法以及区别.

百度广告优化部面试

  • 2014年5月27日下午
  • 人生规划,未来2年规划,方向。谈N久,扯。
  • 百度搜索风云榜刚过去的一天,query热点统计,时间滑动窗口;
  • 设计一个类,含有push pop 和min求最小值功能,使得这几个操作时间复杂度为O(1)。
  • 他讲他们的日常工作。
  • 单链表打印倒数第K个节点值。

网易游戏研发一面

  • 2014年6月11日下午
  • SSD项目各种,会不会C++;
  • 内存地址映射。虚拟地址–>逻辑地址–>物理地址映射的详细实现过程;
  • static关键字的作用,声明的变量与普通变量的区别,如何在工程里若干个文件里共享全局变量,工程生成可执行目标的过程;
  • 递归要注意的事项,递归如果无限下去会怎么办,递归的栈没了会怎么样,等等;
  • 函数调用过程中,汇编级别是如何完成的,函数如何被调用,入栈,指令计数器怎么工作;
  • 单项链表反转,完全写代码说出来;电话面试写代码讲述很烦。
  • 判断两个单项链表是否有公共节点。要求:只遍历一次,不用额外空间,考虑环。
  • 如何判断链表是否存在环;
  • 时间不够了,结束。

网易游戏研发二面

  • 时间:2014年6月18日下午
  • 项目,SSD的垃圾回收,如何判断是不是垃圾。会不会c++;
  • 生成exe过程,C代码变成汇编代码的详细过程,编译原理你学过吗?
  • 进程里的多线程的栈是共享的吗?堆是共享的吗?
  • 进程如果malloc很大一个内存块,会发生什么?
  • 递归栈溢出你怎么办?
  • 如何把递归转换成非递归呢?
  • C++ STL库你知道吗?
  • 可执行文件在内存中的布局;
  • 重点问题:2D平面,怪物很多,静止不动。一架飞机,在飞,一边丢炸弹,炸怪物。知道炸弹的坐标,爆炸半径,知道所有怪物的坐标(存放在数组中),那么如何判断这个炸弹能炸死哪些怪物?(分区间排序。他说四叉树??)
  • 告诉我游戏开发,引擎用C++,逻辑用python和Lua等;
  • 问我实习时间。有没有其他offer。