腾讯天美C++后端三次面试

第一次发面经,之前一直是看面经,吸收了很多经验,感谢各位大佬的帮助!现在轮到我回馈了,顺便许愿下周hr面。从3月开始一共经历过7次面试,其中字节三次挂了我两次TT,不过给我上了很多课,才能让我顺利通过了腾讯,腾讯的这三次真是我体验最好的三次,感谢面试官不嫌弃我菜,话不多说,正文开始!

一面(3.9 视频面 60min)

  1. 项目相关(简历上只放了两个,一个本科用Python做的音乐网站,另一个在投的科研项目,科研项目的应用场景/有没有测试过网站的最大连接数)
  2. 是否了解游戏后台开发相关的东西?(不了解)玩过什么游戏?
  3. Linux相关经验有吗?常用哪些指令?
  4. C语言开发经验有吗?在linux上开发过什么?
  5. C++基础:了解STL吗?用过哪些?vector和set的区别是什么?
  6. 平常用哪些命令编译?调试呢?gdb调试打断点的命令是什么?单步调试呢?
  7. 网络相关:TCP和UDP的区别?TCP拥塞控制?一个比较大的数据报TCP和UDP分别怎么处理?UDP怎么保证分的包能被正确接收?
  8. protobuf是否了解?
  9. os相关:大端小端是什么?能否用c++代码简单测试下当前os是大端还是小端的?(int指针转char指针)
  10. 如果内存只有1G,但是进程要占2G是否可以?
  11. 算法题:
    • 1到100的和写出能想到的所有算法(写了等差求和、循环和递归实现)
    • 实现memcpy函数(后来面试官说节约时间说下思路,就说了就双指针,然后判断下目标地址和源地址的关系来设置双指针是从头部开始还是从尾部开始,从而避免重叠空间可能导致的问题)
    • 10亿个数怎么排序,口述思路(说了多路归并加堆,堆优化成败者树也行,还好没问败者树的原理)
  12. 协程是否了解?
  13. 关于内存对齐是否了解?(举例说了下C++内存对齐和#pragma)
  14. 是否了解云?
  15. 是否了解docker?
  16. 对我们有什么问题?(问了点上班情况加班情况之类的,主要做那些业务)

二面(3.11 视频面 90min)

  1. 上来直接给定40min做题:
    • 快排,说明时间复杂度
    • 反转句子,但要以逗号作为分隔,样例如下:“hello world, god bless you” -> “world hello, you bless god”
  2. 然后问了下本科的成绩,什么科目拖后腿,擅长什么科目,考研还是保研,研究生的成绩,有排名吗?老家哪里?愿意来深圳吗?
  3. 数据结构:哈希表有了解吗?怎么解决冲突?什么是一致性哈希?
  4. 内存对齐了解吗?给一个结构体,包含char、int、指针,sizeof有多大,为什么?如果想紧凑对齐,应该怎么做?
  5. 粘包了解吗?
  6. 二叉树怎么找到两个节点的最低的公共祖先节点?
  7. 有5000w行数据,要怎么快速查询?
  8. Linux用过吗?用过哪些命令?
  9. 怎么看磁盘容量?
  10. 怎么看内存占用量?
  11. 怎么找某个文件?
  12. 函数的调用过程是怎么样的?
  13. 什么是堆排序?
  14. 指针常量和常量指针的区别?
  15. 数学建模:对一个城市的加油站数量进行预测,给5分钟思考?(加油站跟车相关,车跟家庭数量相关,家庭数量和人口相关,人口能查,然后用来联系各个变量的中间量可以通过采样得到,比如一个家庭有车的概率这些。推到车数量的时候,怎么和加油站数量间建模没想清楚,随便扯了一个概率,面试官也感觉到不对劲了,让我好好细化一下这部分,最后通过一个月内所有车加油时间和加油站工作时间相等建立了一个方程来推导)

三面(3.12 电话面 60min)

  1. 介绍下音乐网站项目。
  2. 项目中遇到的觉得比较困难的问题?
  3. 表是怎么设计的?比如提到的歌单,后来分成创建歌单和收藏歌单,这两个怎么和用户关联?有没有考虑把歌单分成两个表?
  4. 如果要求你对音乐数据一段一段发送,你会怎么做?分块大小怎么确定?
  5. 如果网络延迟比较高,能不能提出一个合理的方案去确定缓冲区大小?
  6. 能不能建个数学模型,会考虑哪些数据?给缓冲区定义一个公式?(直接就用tcp窗口大小表示对网络延迟大小的估计)
  7. 如果音乐网站的体量上去了,会面临怎么样的瓶颈?
  8. 还有别的瓶颈吗?
  9. 还有呢?比如给一个场景,某个大明星发布了一首新歌,短时间内大家都会去访问这首歌,这会有问题吗?
  10. STL用过没有?介绍下常用的STL?
  11. 你刚说的set是按照序进行存储,重载了小于号就可以了,那怎么知道找到相等的元素?(想了一会,没想出来,面试官给提示,关键点在于如何利用小于来实现等于,瞬间领悟,a<b和b<a都是false,那就是等于)
  12. 有没有用c++写过socket编程?(被字节上了一课后就专门去敲了TCP的代码,派上用场了,服务器端和客户端用到的所有函数全都说了一遍)
  13. 你刚刚说accept会阻塞,有没有不阻塞的方法?
  14. 玩过什么游戏?(说了下主玩ow、csgo)
  15. fps游戏中,A向B射出子弹,你能不能描述下这个过程?(生成子弹、碰撞触发blabla)
  16. 碰撞触发这个计算在客户端上计算合理吗?(不合理,如果可以外挂开发起来就太容易了)
  17. 放在服务器上计算,会有什么问题吗?(没想明白要问什么)
  18. 比如给定一个场景,A和B贴脸了,A发射子弹,A肯定会命中B,如果按照常理这个子弹经过计算会在t时间命中B,然而网络延迟高导致包到达的时间在这个t之后,这个时候要怎么处理?涉及到两个问题,一是如何在包延迟的时候仍然判断得出来子弹命中,二是算出来应该命中了要不要让这个事情再发生,也就是顾及A的体验还是B的体验?
  19. 觉得自己有什么优缺点?
  20. 有什么问题?

总结

真的超级超级超级幸运,被天美捞了,而且问的基本都复习到了(之前跟着好朋友一块投了字节,他进去了但我被挂的时候真的好丧,然后拼命复习,最后能通过腾讯可能也是因为字节面试官给的一些建议,所以我对字节还是抱着感激的心情的)。

一面的时候面试官说是游戏部门,我还心想不会是天美光子吧,结果二面面试官说他们是天美,压力一下就好大,好在面试官人都超级nice,一开始会聊些会让人放松下来的话题。前两面还是以八股文为主,算法题的话虽然都不难,但被时间卡着终究做起来还是很紧张,可能我面的还是少。有些问题开始可能不会也没关系,就像我游戏开发这块基本就是0,但面试官会引导,完全没听过的也可以提出下如果是我,该怎么去解决,很多方案说出来我都觉得有点扯,但面试官还是会顺着我的想法来继续让我细化,最后提出一个看起来好像还像回事的东西。

总而言之,腾讯给我的感觉就是,计算机的基础知识还是要有的,遇到不了解的也可以通过引导最后说出自己方案,可能让面试官觉得你是可以培养的,大概率都会通过吧。最后祝大家都能拿到自己想要的offer,以及许愿下周hr面!!

#实习##面经##腾讯##C++工程师#
全部评论
本来以为是校招 结果。。暑期实习这样的难度 简直了。。楼主研一就已经这么强了 让别人怎么活😂
3
送花
回复
分享
发布于 2021-03-14 00:39
楼主你好,请问你是实习、校招还是社招?
1
送花
回复
分享
发布于 2021-03-13 15:30
滴滴
校招火热招聘中
官网直投
这第三面简直了!!!
1
送花
回复
分享
发布于 2021-03-13 15:41
建模题不是 PM 的御用面试题吗? 费米定理
1
送花
回复
分享
发布于 2021-03-15 13:34
腾讯不是两面吗 天美为什么有第三面
点赞
送花
回复
分享
发布于 2021-03-13 16:05
天美大佬优秀又爱分享,赞👍
点赞
送花
回复
分享
发布于 2021-03-13 17:11
楼主太强了,研究生吗?
点赞
送花
回复
分享
发布于 2021-03-13 17:32
楼主也太强了吧
点赞
送花
回复
分享
发布于 2021-03-13 19:03
楼主,请问你是做过数学建模吗?为什么问这么多数学建模的东西😂
点赞
送花
回复
分享
发布于 2021-03-13 20:34
需要笔试吗?
点赞
送花
回复
分享
发布于 2021-03-13 21:39
点赞
送花
回复
分享
发布于 2021-03-13 21:42
楼主知道是具体天美哪个工作室吗
点赞
送花
回复
分享
发布于 2021-03-13 22:23
怎么投简历啊
点赞
送花
回复
分享
发布于 2021-03-13 23:19
这第三面把我给看傻了。。。
点赞
送花
回复
分享
发布于 2021-03-13 23:37
楼主很强啊
点赞
送花
回复
分享
发布于 2021-03-14 08:10
楼主请问你的官网的状态已经变成HR面状态还是复试状态呀?我已经面了三轮wxg技术面了,状态还是复试,有点顶不住了
点赞
送花
回复
分享
发布于 2021-03-14 12:04
太厉害了。哭。我都研二了,啥也不会。你这三面太难了。
点赞
送花
回复
分享
发布于 2021-03-14 14:59
lz是天美上海的么
点赞
送花
回复
分享
发布于 2021-03-14 18:13
lz想问一下5000w行数据,你是怎么答的
点赞
送花
回复
分享
发布于 2021-03-14 18:50
强强强
点赞
送花
回复
分享
发布于 2021-03-15 11:36

相关推荐

头像
不愿透露姓名的神秘牛友
05-14 18:45
天美云梦工作室 测试开发 4K 本科其他
点赞 评论 收藏
转发
OC了,感谢牛友们的面经帮助,散点面经回馈一下3.25投递,3.29下午打电话约了一面一面55min(4.1)计算机基础部分1.&nbsp;什么是栈内存,什么是堆内存,有什么区别?2.&nbsp;刚你提到了栈的内存比较小,那你说明一下什么是栈溢出3.&nbsp;为什么堆的分配比较慢?这个问题有没有什么解决方案?4.&nbsp;游戏引擎有没有什么对内存的管理操作?5.&nbsp;堆空间只申请不释放会造成什么?(内存泄漏)如何避免(从编程语言的层面上解释)?(Java/C#&nbsp;内存管理GC,&nbsp;C++智能指针)6.&nbsp;你知道哪些智能指针?(unique_ptr,&nbsp;shared_ptr)?还有一个你知道吗?(没说出来,面试官提醒能解决循环引用的weak_ptr)7.&nbsp;栈的访问效率比堆高,你能解释一下吗?8.&nbsp;垃圾回收内存管理GC机制,能不能深入说一下底层如何实现?9.&nbsp;说一下什么是虚拟内存?存在的意义是什么?数据结构部分10.&nbsp;描述一下数组和链表的区别?各自的优缺点11.&nbsp;说明一下什么是二叉树手撕部分12.&nbsp;递归前序遍历二叉树写一个函数,输入是二叉树的根结点,返回它结点的前序遍历13.&nbsp;用BFS遍历树追问:DFS和BFS这两种遍历策略,一般用来解决什么问题?有没有什么优化方案策略?开放问题15.&nbsp;树这种数据结构在你项目开发中有什么应用?C++中有没有什么容器是用树实现的?16.&nbsp;说明什么是面向对象,有什么特点?17.&nbsp;C++中可以实现多态,请你从虚函数表的方面描述一下重载一个虚函数的过程?(往虚函数表,虚函数指针上扯)。虚函数指针占多大空间?(就是普通指针,32位机器4,64位机器8)拷打简历18.&nbsp;开发MOBA项目中遇到的最大难点是什么?19.&nbsp;FPS项目中,NPC巡逻的逻辑?你这种检测方法会把NPC背后的敌人也检测进来,有没有什么改进方法?20.&nbsp;简单说一下你了解的unity物理引擎?其他问题21.&nbsp;你平常玩哪些游戏多一些?STEAM上的单机游戏玩过吗?你CF玩得多,你觉得CF哪些功能做的不错?22.&nbsp;除了游戏开发,你还有哪些其他方面技术上的兴趣?23.&nbsp;你打过不少算法比赛,你觉得你的算法水平在你们校队能排到top多少?反问面试官人很温柔,聊起来也挺舒服的,面完二十分钟后官网就显示通过了
点赞 评论 收藏
转发
1.你为什么要做游戏2.你喜欢做游戏吗3.你在游戏开发中的自驱力来自哪里,开发的时候会感到快乐吗4.光栅化是什么5.阴影如何实现6.动态阴影如何实现7.飞机大子弹战移动、碰撞、渲染比较多如何优化8.由于延迟导致子弹在你这打中在我这没打中如何保证同步9.Drawcall如何优化10.合并Mesh做了什么,怎么合并的11.为什么只有相同材质才能合并12.光栅化在UE的哪个模块中实现13.平时看过什么提升编程能力的书籍14.https如何加密的15.对称和非对称加密16.私钥和密钥如何使用17.FTP的上一层协议是什么18.使用UDP还是TCP,为什么19.什么时候适合UDP,什么时候好适合TCP20.说说你项目中最困难的三个点,如何克服21.想实现瞄准的时候人物动画跟着变化如何做22.Anim&nbsp;Offset是什么&nbsp;如何实现23.ECS是什么24.导航网格是什么,原理介绍一下25.寻路算法26.A*寻找的是最短路径吗27.BFS和DFS哪个用来寻找最短路径28.BlendSpace是什么&nbsp;大概说一下算法29.说一下遇到奔溃或者偶现的问题如何排查30.程序崩溃调用堆栈怎么看的31.静态可和动态库32.如何把二进制内容还原33.遇到找不到原因的崩溃怎么处理34.内存泄漏如何处理35.除了基本的GC还有什么手段36.非UObject&nbsp;GC37.带GC的语言&nbsp;相互引用怎么办 38.IK是什么&nbsp;IK常见算法如何实现39.蒙皮是什么40.权重有什么用&nbsp;如何计算51.函数调用参数放哪&nbsp;返回值放哪里52.CacheMiss是什么53.四叉树、八叉树44.32位和64位有什么区别45.线程安全46.重定向做了什么&nbsp;大概说一下重定向的算法47.RootMotion相关 #软件开发2024笔面经#&nbsp;&nbsp;#腾讯# #实习#
点赞 评论 收藏
转发
33 220 评论
分享
牛客网
牛客企业服务