暑期实习C++音视频面经合集(下)

音视频面经合集:腾讯、快手、OPPO、美团。纯靠面试后的回想,应该会有不少的疏漏。
合集(下):快手 美团

快手音视频SDK开发(一二三面都是一小时+):

一面:
1.自我介绍
2.360度视频;播放360视频是怎么做的;跟一般视频的编码区别;360视频生成;
3.播放器项目:音视频同步实现;为什么要做同步;解码模块;包与帧的缓存设计;
4.音视频问题:PTS与DTS的区别;视频帧格式;YUV RGB相关问题;H265相对于H264的改进;超高倍速怎么实现;
5.智能指针;播放器项目中的线程安全设计 锁 条件变量;
6.做题:反转链表;二叉树的最大宽度

二面:
1.所做的科研工作(这里聊了很久) 介绍一下项目 
2.MP4
3.视频编码 变换的具体操作 变换是无损编码嘛
4.面向对象特性 多态 模板 lambda函数 
5.做题 第K个排列

三面:
1.自我介绍
2.音视频相关场景题: 用户端4k解码限制 怎么实现8K的效果; 360视频分区域ROI编码;网络受限怎么调整编码或者传输;360科研项目简单介绍;超分的实现方法;
3.C++基础:C++特性;内联函数 内联与宏定义的区别;菱形继承;C++与C为什么不能一起编 extern ;智能指针sharedptr是线程安全的嘛 weakptr 
4.线程同步方式 自旋锁 生产者消费者模式中的线程同步问题 
5.HTTP相关;TCP的粘包 滑动窗口 
6.播放器项目 音视频同步 SEEK的操作与目的 为什么缓冲区要清空 倍速 
7.LRU缓存

美团音视频开发(一二面都是一小时左右):

一面:
1.自我介绍
2.TCP挥手;close_wait状态;服务端很多close_wait状态是什么原因;服务端很多time_wait状态是什么原因,风险,解决方案;
3.智能指针;auto_ptr;多态;虚函数的实现;纯虚函数;
4.进程和线程的区别;协程;线程独享的资源,为什么要这些资源;
5.不用额外空间,完成两个值的交换;
6.FLV;RTMP握手,后续的交互过程;
7.做题:重排链表

二面:
1.挑一个项目介绍;
2.拓展360视频的一些内容;
3.STL sort函数,一个普适的sort函数实现;
4.http相关;TCP close_wait状态相关;
5.FLV SRS 
6.做题:翻转K个一组链表
全部评论
谢谢哥
2 回复 分享
发布于 2024-04-13 13:56 浙江
大佬如何学习的c++音视频方向啊,自学么
点赞 回复 分享
发布于 2024-05-07 23:26 湖北
点赞 回复 分享
发布于 2025-10-12 21:27 天津
那哥 你是自学的么
点赞 回复 分享
发布于 2024-05-18 21:21 湖北
大佬,最终去哪家了
点赞 回复 分享
发布于 2024-05-06 07:04 广东
大佬 播放器项目怎么做的呀? 可以开源学习一下不
点赞 回复 分享
发布于 2024-04-16 23:05 浙江
想问下哥,暑期实习的音视频岗都是问基础比较多嘛?咋感觉就没问几个音视频领域的问题啊
点赞 回复 分享
发布于 2024-04-16 22:59 安徽

相关推荐

投票
提问环节: 1. 讲一下你的全链路埋点都是怎么做的?你都埋了哪些数据?为什么?2. 你提到你负责处理和解决音视频相关的各种bug,能说一下你是如何排查、解决、验证和闭环的吗?3. 你提到你的埋点提高了debug的效率,是怎么提高的?4. 你提到你实现了一个自动化脚本来自动跑测试,说一下怎么做的5. 讲一下你了解到的音视频编码格式(aac/opus)6. aac和opus有什么优缺点?7. 讲一下你遇到过的项目难点,以及你是如何解决和闭环的?8. 你的音视频同步是怎么做的?如何确保用户体验?9. 音频比视频快和视频比音频快,哪个更影响用户体验?10. 你是怎么确保音视频同步和体验是好的?(直接说统计时间戳的差)11. 有没有可能硬件底层导致时间戳有一定的误差,你怎么解决?(底层用的厂商soc,我们默认他们是OK的)12. 你提到OpenGL渲染管线构建可扩展滤镜框架(灰度/反⾊/翻转),你是怎么构建的?用的什么设计思想?13. 码率控制模块是如何设计的?14. 你是怎么考虑分辨率/帧率/QP的调整,来确保出流体验?15. 讲一下你的卡尔曼滤波和滑动窗口的码率控制策略?16. 你的码控不能太频繁也不能太稀疏,你是如何设计控制间隔的?17. 为什么选2秒?(因为IPC摄像头出流2s一个GOP)18. 讲一下你的动态内存池的实现,你认为你比开源项目中的实现好在哪?(学习借鉴优秀开源项目,同时基于业务需求调整)19. 说一下内存池的大致实现,你的内存池通过什么来进行同步?(cv+unique_lock)20. 你提到原子变量std::atomic,展开讲一下?21. 手撕:找到有序数组的所有中位数。(奇数时中位数必然在中间,偶数时在中间的左右两个)22. 你还在职吗?我们这边主要是做音频的,看你做视频比较多。反问环节:1. 您这边用到的技术栈主要有哪些?(C++、ffmpeg等,主要还是根据开发需求吧)2. 您做音频编码用aac多还是opus多?为什么?(除非播放器不兼容,不然都优先opus)3. 您结合今天的面试情况,谈一下我哪些地方需要学习和提高?(整体答得都挺好的,可能有些细节需要进一步深入吧)4. 能说一下具体哪里需要进一步深入吗?(你可能需要在工作中寻找和解决问题,遇到难题进一步学习和深入,不过工作后你可能也没有太多精力学习了)整体感觉面试难度较低,没有太多深挖(比如ffmpeg源码级),面完第二天接到二面邀请。
查看22道真题和解析
点赞 评论 收藏
分享
评论
15
124
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务