盛趣游戏C++(一面)
1、自我介绍
2、指针和引用的区别,各自的优缺点
延伸:
1、引用底层的实现
2、指针为什么在32位系统下占4个字节,在64位下占8个字节
3、栈内存和堆内存,分配和释放的方式
延伸:
1、申请的堆内存是真实内存还是虚拟内存
2、分配一个内存到访问的过程
3、没有分配实际内存的话,通过什么方式把数据加载到内存中
4、提到了内存泄漏,如何快速定位内存泄漏的地方
5、怎样避免内存泄漏问题
4、RAII思想
5、智能指针有哪几种,以及各自的应用场景
延伸:
1、原生指针和智能指针,各有什么优缺点
6、C++中多态是怎么实现的
延伸:
1、子类和父类由于虚函数表会增加多少内存
2、每个类还是每个对象拥有一张虚函数表或者虚指针
7、设计模式用过哪些
延伸:
1、讲一讲单例模式的实现方式
8、STL中容器用过几种
延伸:
1、让自己选几个容器讲底层原理和应用场景,我选了vector、map、unordered
9、多线程编程时用到哪些同步方式
10、tcp和udp的区别,在什么场景下使用
11、tcp服务端的创建过程(代码创建socket的过程)
12、讲一下IO多路复用
13、你写了一个程序,在生产环境下运行时发生异常或者崩溃了怎么快速定位问题(比如软件发布后,有用户在使用过程中,软件出现异常或崩溃)
14、假如说给你一个业务功能去开发,设计一个在线的游戏房间,每个玩家会进来,需要记录玩家的状态、属性并且同步给房间中的其他玩家,让你去实现这个功能,你怎么去设计
15、protobuffer这个组件有使用过吗
16、数据库用过哪些
延伸:
1、Mysql的存储引擎用过哪几种
2、innodbe的特点
3、其他存储引擎的索引底层用的什么结构
4、数据库事务有哪几种
5、索引平常用过哪几种
6、数据表建索引,如何平衡建索引的多少
7、索引是不是建的越多越好
8、平常写sql语句时怎么判断sql语句的性能效率
9、建了索引之后,使用索引字段查询速度一定会快吗
17、反问环节
我看面试时间是30min,实际面了50多分钟,
一直在问,面试官抛出一个问题后,你回答后,会根据你回答的内容再接着提问,所以回答的时候可以向自己熟悉的点引。
前面的八股都回答的不错
两个场景题回答的一般吧,没接触过
平时数据库复习的少,回答的跟没学过一样
这次面试感觉问的很有水平,面试过程后半段挺痛苦的,不过很喜欢这种强度的面试,复盘后知道哪些地方不足可以调整提升自己
