网易游戏,游戏研发面试,感觉凉了
果然和网上分享的经验一样,基础知识问的非常详细。先和我确认了我主要使用的语言是C++。面了大概50分钟,最后一个算法题突然没想起怎么做,估计凉了
1,写一段内存负责的代码int mycpy(char* src, char*dst, int len)。注意判断异常输入、判断重叠情况并倒序读入即可
2,C++相关。
①C++的多态如何实现(虚函数、虚函数表那些),是如何从调用虚函数到虚函数表里的指针指向指定虚函数,
②map的底层逻辑是怎么实现的?vector的内存变化是怎样的?vector类型新增元素这个操作的时间复杂度如何?
③介绍智能指针
④了解inline么,介绍。记不太清,跳过
3,计算机网络
①socket编程了解么?不了解,跳过
②tcp和udp区别;解释tcp的滑动窗口如何实现,除了流量控制还有什么作用;有哪些机制和可以提高udp可靠性;在游戏开发中应该使用tcp还是udp,为什么
4,操作系统
①进程和线程区别;进程的内存占用分为哪几部分;线程的锁机制
②linux系统了解么?动态链接和静态链接的区别
③虚拟内存如何实现的
5,数据结构和算法
①介绍堆排序的算法思路和时间复杂度如何计算
②算法题:给一个字符串,只能添加不能删除和修改的情况下,判断最少添加多少个字符可以形成回文字符串
#面经##校招##C++工程师#