面经 | 社招 光恒互动 | 一面 二面 已 OC
1609
发布于 未知归属地

一面

一面内容较多,总共 1h,最后还因为面试官那边突然被打断才结束,可能会议室订的时间到了,其实并没有问完,如下是面试的内容:

  1. 自我介绍。
  2. 离职原因。
  3. 你们直播推流用的编码方式是什么,如果用户端侧编码其实并不需要你们转码了,为什么还要经过你们的推流服务。
  4. 1080p 25fps 转码的场景下,向 rtmp server 推流的带宽是多大。
  5. 当出现抖动和卡顿时(无论是 client 还是 server 端),你们是如何动态调整输出码率的。
  6. 硬编和软编有什么区别 & h.264 和 h.265 有什么区别,什么场景下会用 h.265 呢。
  7. 旁路推流应用层使用的协议是什么,rtp 是如何转 rtmp 协议的。
  8. c++ linux 轻量级 webserver 中线程池的实现机制是什么以及为什么要用线程池呢。
  9. 堆和栈的区别包括内存的分配方式。
  10. 有了解过汇编吗?分配在栈上的变量是存放在哪个寄存器上的(栈指针寄存器 & 基址指针寄存器,它们并不直接访问变量,而是界定栈帧的范围和访问栈帧的数据)。
  11. 析构函数调用的时机。
  12. 左值引用和右值引用有什么区别,为什么会有右值引用呢,解决了什么问题。
  13. 拷贝构造函数的形参类型是什么,如果去掉 & 会有什么问题,拷贝构造函数的函数体有哪些需要注意的地方。
  14. 线程同步方式有哪些,c 和 c++ 创建一个线程的 linux api 是什么。
  15. 进程间通信的方式有哪些,内存共享的原理以及 linux api 是什么,简单描述下通信的过程。
  16. 你工作当中碰到最难的问题是什么以及你是如何定位到它的,结合一个案例讲一讲。

最后我先反问了下招聘组为何不是光恒互动来面试而是光子工作室,面试官回答说是和光恒互动有合作,后面会来我们这边工作,这不就是乙方吗?,然后再问了下岗位的职责,面试官说是做游戏比如 PUBG 的底层引擎、工具和需求开发的,也会涉及到性能优化和问题定位的工作。

二面

二面是一个技术 leader,通过面试可以看出来是位大佬,腾讯面试官的技术水平还是挺不错的,自己有些问题也确实没回答上来:

  1. 自我介绍。
  2. 离职原因。
  3. 对象在内存中是如何存储的,如果 class 中有 2 个 virtual 函数和两个成员变量,对象在内存中占用的空间是多大,64 位呢。
  4. 阻止类被继承的关键字是什么。
  5. shared_ptr 的引用计数是线程安全的吗?为什么呢。
  6. 旁路推流讲下它的业务流程,编解码 & 编码方式,输出带宽,组装 pipeline 以及调度策略。
  7. gpu 机器是如何被调度的。
  8. 硬编相比软编有什么优势,那 h.265 相比 h.264 呢。
  9. 现在给你一个任务,需要优化推流的输出带宽,你会从哪几个方面入手。
  10. 在工作中有碰到过网络抖动和性能优化方面的问题吗?,从代码或者系统层面上讲下是如何去做的。
  11. 在王者荣耀中击落对方水晶有掉 4 种颜色中的其中 1 种或者没有,红蓝色概率是 0.15,黄绿的概率是 0.1,如果这个需求交给你你会怎么做。
  12. rand() 函数是平均的吗?如果不平均比如正态分布你能如何把它变成平均分布呢。

面试官说你知道这是 c++ 客户端的开发岗位吗?我说知道,后面又以王者荣耀举例解释了下客户端开发要做的事情,基本和上面说的一样,然后说是否能接受客户端开发,我说可以并解释了原因。然后这个岗位不是腾讯的正编,而是签的光恒互动的合同,但是和腾讯是合作关系,可以理解为腾讯那边安排事情给你做,我感觉有点像外包。

hr 面

hr 通知我面试通过了,但给我定的是初级,跟领导谈还 +1k,最后想让我降薪 30% 入职,社保公积金都按最低基数 5k 去缴,当时我就想骂人了,看上面腾讯面试官面试难度这么大,就给这待遇,今天下午我也就直接拒了。

评论 (2)