一面总时长:70分钟
面试岗位主做服务端,我这边是视频播放端,上来面试官问有服务端相关经验吗,我顿时心里一凉。
1、自我介绍
2、介绍一个项目重点(讲了点websocket服务程序,勉强跟服务端相关,讲了很久,主要是面试官不了解里面的流程,问的细节有点多,开始有点紧张,答得不太流畅,问了为啥不用浏览器自带的去做播放)
3、讲一讲使用的ffmpeg做的事情(ts转mp4使用ffmpeg的流程、音频重采样)
4、rtp解包过程
5、音视频同步
6、弱网对抗
7、硬解(问了MediaCodec和linux intel硬解,解码库的入参类型和出参类型)
8、h264编码原理(就简单说了点流程)
9、队列资源同步(锁相关,提了自旋锁)
10、C++智能指针
11、auto和dectype
12、h265和h264有啥区别(答了点压缩技术、压缩率和解码耗时)
13、I帧、P帧、B帧,以及B帧较多时有什么影响(延时增大,误差可能增大)
14、IDR和I帧的区别(IDR用于通知解码器清理参考帧、为I帧的子集,消除累计误差、普通I帧可以跨过前面的I帧去做参考)
15、项目里收流到播放的流程
16、项目为什么自己开发而不是选用三方组件库
17、算法:整数反转,leetcode 07(本来出的是道多线程同步的题,临时改了)
18、OPENGL实现碗装转换(面试官说太久了记不住就算了)
19、rtp、rtsp、rtcp的区别
20、SPS和PPS里面有什么内容
反问的问题:面试官讲了讲那边的业务,以服务端媒体处理相关,比如合流、人脸识别等,播放占小头。
体验:虽然有点紧张,答得不对时面试官善于维护你,会主动替我开解,会让人放松,不知道面试结果怎么样,但整体感觉面试官人不错。