网易游戏(互娱)二面面经(offer get)

1面开始前,在现场会有半小时做题目,求连通支数目(DFS或者BFS),
一面面经:
根据个人简历相关,一面没有问项目,基本就是基础和算法
(1)C++相关部分:
C++内存模型,类的数据放在什么地方,类的函数放在什么地方,虚函数表,虚函数表指针,虚继承情况下的虚函数表,
虚函数表指针初始化是在什么时候
四种类型转换(static_cast, dynamic_cast,const_cast,reinterpret_cast)
static关键字
(2)STL相关(简历中有提到看过stl以及nginx源码,所以这部分问的比较多)
STL 内存池,nginx内存池,两个各自优缺点
vector的push_back导致内存的变化
内存扩展的参数为什么是2倍,最佳倍数是多少(大于1且小于2间的任意数字)
内存扩展导致发生拷贝时,具体是如何拷贝的(STL算法copy函数实现以及模板偏特化)
map与hashmap底层实现(红黑树以及哈希表),哈希碰撞是如何解决的,两种实现各自的优缺点
deque底层实现
(3)网络编程相关
多线程与多进程相比的优缺点
select,epoll区别,epoll实现源码(红黑树+就绪队列),为什么用红黑树实现,有哪些好处
linux地址空间
多进程间通信机制
管道分类
(4)算法相关
环形加油站问题
设计一个定时器(网络编程中的定时器,可参考nginx定时器实现),红黑树或者时间轮,时间堆

二面面经
项目经验
虚函数相关,虚析构函数,运行时多态。
编译器如何识别函数重载(overload,不是override)。
编译器如何判断两个类的指针或引用转换是不是父子类(虚函数表之前会有类型信息)
A*算法,洗牌算法,如何证明洗牌的随机性
设计一个具有getmaxvalue()功能的队列
是否有游戏编程经验

备注:
C++建议有四本书必看:《C++ Primer》,《Effective C++》,《STL源码剖析》,《深入理解C++对象模型》
尤其是后两本,至于原因很同意这位https://www.nowcoder.com/discuss/52218里面的一个观点,就是你必须要做到比别人更impressive,而后两本是让你在C++上脱颖而出的关键,尤其是STL相关的问题,就拿vector的push_back来说,都知道会发生内存扩展,都知道倍数是两倍。但是如果你能答出最佳倍数是多少,为什么比2倍要好(内存复用以及缓存友好),拷贝时是怎么拷贝的(比如对于vector里面存string和存char,拷贝的过程肯定是不一样的),如果能答到stl的copy函数实现以及模板的偏特化,那在这个问题上就会让面试官印象深刻。
网络编程相关建议《Unix网络编程》,如果没时间看完三本,可以退而求其次看一下《linux高性能服务器编程》,进阶方向可以选择《深入理解nginx》
操作系统以及计算机底层相关推荐《深入理解计算机系统》,这本书也是需要必看的。





#网易#
全部评论
校友,我今晚也收到了
点赞 回复 分享
发布于 2017-10-18 23:41
向大佬低头
点赞 回复 分享
发布于 2017-10-19 09:12
给大佬点赞,大佬是软院的吗?
点赞 回复 分享
发布于 2017-10-19 09:13
请问一面之后过了多久收到通过/二面的通知的?
点赞 回复 分享
发布于 2017-10-20 05:13

相关推荐

jack_miller:杜:你不用我那你就用我的美赞臣
点赞 评论 收藏
分享
9 79 评论
分享
牛客网
牛客企业服务