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