腾讯 · 光子工作室

测试开发二面面经

完整信息

27 条问法 · 25 道题

本篇目录
2026.7.14 1.自我介绍 2.我先给你个代码题,写一下。 力扣146 LRU 3.你讲一下select poll epoll的区别 4.epoll有两种触发方式,你讲一下 5.epoll之所以高效,他里面最核心的原因是什么? 6.内存分配相关方面,比如c里面是malloc,c++里面是new,这两个有什么区别 7.嗯,那malloc里面有了解最底层的系统给分配函数是什么吗,比如他分配大内存和小内存时使用的函数是一样的吗 8.mmap那一块有了解吗 9.然后我看到你有写你用内存池去提升效率嘛,那你这个内存池是怎么设计的呢,就比如具体怎么设计才不会造成内存浪费的? 10.有没有实际测试过具体用内存池和不用内存池两个方案性能相差多少呢? 11.有了解过字节对齐吗 12.你说struct union class三个使用了内存对齐,那我现在给你个结构体,你帮我算算他具体是占用了多大内存 对32位操作系统 struct mystr { char a; int b; char c[10]; } (然后我写错了……) 答案是20字节 然后面试官耐心地解答了…… 14.但是还有个问题就是上面那个你的内存池虽然设计了多级内存的架构,然后他实际上你每个业务结构里面,他所占的内存,他不是严格的按照你设想的那样去对的所以还会很多的内存浪费,这一块不知道你有没有什么好的改进方案 15.你说针对用的比较多的内存大小去设计更多的内存片,那你怎么知道他就用的多呢? (给我脑子干宕机了,我想了有半分钟才继续说) 我说是去看现有聊天软件到上面去做统计,看看那个区间用的多 16.那现在还有一种情况,就是你的内存池里有一个512字节每片的大小的内存池,更小就是256字节每片了,那我现在就是只需要257字节的内存,你怎么解决呢 (终于结束项目拷打了……) 17.TCP的可靠性是怎么保证的呢 18.TCP不是有个三次握手四次挥手嘛,那为啥就是四次挥手呢? 19.刚才你不是提到有用一些多线程的锁机制是吧,那你说一下死锁成立的条件 20.怎么解决死锁呢 21.你这边对游戏引擎了解吗?你平时了解游戏吗 22.为什么会想到来投游戏岗呢? (实际上我自己也不知道怎么就投进来了) 24.你对ai有了解吗,比如平时一般用什么ai工具,还有你对ai编码有什么看法 25.具体的ai向了解吗比如skill,agent,mcp这些 26.你能来实习多久呢,一周能来几天? 反问: 1.对c++的看法 c++在我们这边其实还是一个比较热门的编程语言,因为你如果了解虚幻引擎的话应该就知道整个虚幻引擎就是用c++编写的 而我们光子工作室一些比较火的游戏都是基于虚幻引擎开发的,和平精英你玩过吧,还有能源行动也是,这些都是纯C++写的 。还有包括我们写的一些ai插件和业务插件都是使用C++写的。还有就是C++做后台开发的效率比不上java和go,但是他的执行效率非常快 所以说如果你掌握了C++再去写一些脚本语言,比如说pyhton啊Lua啊都是比较快的。所以我认为C++在it行业是最扎实的一门语言 2.岗位具体业务 因为我们这边属于游戏的工作室,所以涉及游戏的比较多。比如对游戏客户端的一些性能测试,和服务器测试会有区别,就是在游戏运行时他的 一个资源占用怎么样有没有卡顿和手机发烫的情况。这就是我们测试范围。还有我们会自研一些测试工具和引擎插件然后去辅助我们去做分析, 就是游戏当前出现卡顿的原因是什么,或着怎么写一些工具去提升我们的测试效率。 3.对个人未来发展的建议 如果你想走游戏行业,建议学习游戏引擎相关知识,并加深对计算机底层的理解 二面面试官有很强的包容性,就是那种既不柔和也不锋锐的感觉。 (三面已挂,回来发面经)
本篇目录
  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
  6. 06
  7. 07
    嗯,那malloc里面有了解最底层的系统给分配函数是什么吗,比如他分配大内存和小内存时使用的函数是一样的吗
  8. 08
  9. 09
    然后我看到你有写你用内存池去提升效率嘛,那你这个内存池是怎么设计的呢,就比如具体怎么设计才不会造成内存浪费的?
  10. 10
  11. 11
  12. 12
    但是还有个问题就是上面那个你的内存池虽然设计了多级内存的架构,然后他实际上你每个业务结构里面,他所占的内存,他不是严格的按照你设想的那样去对的所以还会很多的内存浪费,这一块不知道你有没有什么好的改进方案
  13. 13
  14. 14
    那现在还有一种情况,就是你的内存池里有一个512字节每片的大小的内存池,更小就是256字节每片了,那我现在就是只需要257字节的内存,你怎么解决呢
  15. 15
  16. 16
  17. 17
    刚才你不是提到有用一些多线程的锁机制是吧,那你说一下死锁成立的条件
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
    你说struct union class三个使用了内存对齐,那我现在给你个结构体,你帮我算算他具体是占用了多大内存 对32位操作系统 struct mystr { char a; int b; char c[10]; }
  25. 25
  26. 26
  27. 27

相关公司