腾讯游戏客户端面经

腾讯光子工作室 一面
约1小时

自我介绍
怎么学习c++的,看了哪些书
(自学,c++primer,efficient c++等)
为什么想做游戏客户端
(技术栈相关,喜欢)

八股
1.对象的内存结构,考虑哪些因素
(虚函数,虚基类,字节对齐,继承体系)
2.字节对齐
3.32位和64位下一些数据大小的区别
(举例long,追问指针大小,没答上来)
4.位域
(知道但不了解)
5.为什么要做字节对齐
(CPU定长读取数据)
6.构造函数中调用虚函数相关
(可以调用但不应该,构造时仍为父类,顺便提出析构函数也是类似情况)
7.为什么析构函数是虚函数
(保证完全的析构,避免内存泄漏)
8.set和map底层
(红黑树)
9.红黑树的了解
(4阶b树的一种实现,对avl平衡条件的弱化,根节点到叶节点经过相同数量的黑色节点)
10.红黑树与avl的区别
(红黑树减少旋转次数)
11.哈希表的了解
(哈希函数计算索引,o(1)查询)
12.如何减少和处理哈希冲突
(取质数长度,开链表与二次探测)
13.内联函数的了解
(将函数在调用处展开)
14.内联展开能够从什么地方提高效率,从函数传参考虑
(减少参数拷贝操作,被纠正是减少了栈调用)
15.什么时候进行内联
(编译期)

手撕 
最长不重复子串 讲思路
(滑动窗口+哈希去重)

项目
渲染引擎项目
1.如何搭建渲染管线
(讲述主要流程)
2.对渲染做了哪些优化
(通过批处理减少drawcall次数)
3.事件系统是怎么实现的
(逐层传递,触发事件)
4.日志系统做了哪些工作,是否考虑日志io
效率,是否采用多线程处理
(使用spdlog库,分模块产生log,通过变量开启与关闭部分模块log,实现时没有考虑性能优化)

目前所在城市,意向城市

反问
1.ue和unity的未来趋势
(取决于使用场景,底层原理相似)
2.未来的学习路线
(评价学习能力与实践能力不错,继续加深基础,游戏demo并不太重要,建议学习ue,了解源码与底层原理)
3.工作中ue和unity哪个使用比较多
(fps中使用ue较多)

跟面试官聊得还可以,但是感觉自己一些地方答得有点混乱,一些深层的东西说的不完全,可能总体感觉比较平庸

已寄
#腾讯游戏实习##游戏客户端开发#
全部评论
什么时候面的
3 回复 分享
发布于 2023-04-20 18:03 山东
什么时候投的啊
点赞 回复 分享
发布于 2023-04-20 18:06 辽宁
不知道为啥,有时候腾子cpp问的浅,有时候又问很深
1 回复 分享
发布于 2023-04-29 08:15 重庆
大佬 最后拿到哪个了
1 回复 分享
发布于 2023-05-06 21:11 英国
佬觉得做游戏demo收获大吗 我也打算做个demo 但我之前问另一个面试官他也是说客户端方向demo没那么重要
1 回复 分享
发布于 2023-05-14 12:34 辽宁

相关推荐

#我的实习求职记录#一面是电话面,我也没咋准备,结果问了一堆八股,我之前的面试都不问八股,这次全是八股,也挺离谱的。整理一下(其实是很常规的八股):1、C++相关:面向对象三大特性、虚函数表、三种继承的区别、引用和指针的区别以及大小、野指针、重写/重载/隐藏的区别、const的用法、static的用法、构造函数不能虚、析构函数建议虚、C++和C的内存区别(讲到我擅长的了,毕竟我自己剖析过ptmalloc)、内存对齐、类型转换、智能指针(shared_ptr是线程安全的吗?)、右值引用、完美转发、左值引用和指针的区别、STL容器的底层实现和复杂度、vector的扩容2、算法部分:冒泡排序的原理以及优缺点,快速排序的优缺点、稳定性3、mysql的查询优化、索引底层、B/B+的区别;redis常用数据结构,订阅与发布4、协程原理相关(有栈无栈区别、最终目的)5、TCP三次握手和四次挥手相关、TCP和UDP的区别、TCP可靠性、滑动窗口(大小怎么确定)、常用IO多路复用(太熟悉了,一通底层输出)、GET和POST的区别、TCP百万并发连接(自己实现过,这部分底层也很熟悉)6、Windows编程和linux编程的区别7、项目:还是比较看中基础组件,讲了连接池的实现总结一下:可能一面就问些基础的,上述内容我都比较熟悉,但讲出来有些还是感觉怪怪的,还是要自己整理,最好底层一点,背一下吧,最后反问问了主要的工作,说是写游戏逻辑或者改bug之类的
查看36道真题和解析 我的实习求职记录
点赞 评论 收藏
分享
评论
23
202
分享
牛客网
牛客企业服务