BIGO一面

投票
提问环节:
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源码级),面完第二天接到二面邀请。
全部评论

相关推荐

04-20 09:04
四川大学 Java
点赞 评论 收藏
分享
04-22 03:21
已编辑
西南石油大学 Java
作为26届的学生, 撞上AI的风口, 肯定是不好受的base地成都, 我从25年七月实习结束之后就一直在投递简历, 期间几乎面完了成都所有的中小厂:九恒星-java开发实习生: 忘了星云联动-前端开发实习生, 忘了海乂知-项目助理: 做军工程序, 断网开发, 没招技术岗, 进去问了三个问题就叫回去等通知鲁大师-Android实习生(九点下班): 面试官水平很高, 但是我当时一问三不知, 前半段在闲聊, 后半段问技术我一直在重复不知道北京万相信息: 一面数据结构, 计算机网络, 简历上的项目, spring的原理, 二面差不多的问题, 挂的原因是(项目经理说你不太稳定, 看起来有点浮躁)晓多科技: 忘了致远互联:一面问: 如果客户那边报来一个问题, 你会如何解决我首先查看用户问题发生的页面, 定位到前端具体的文件, 然后通过浏览器调试工具了解相关问题是页面处理逻辑问题还是网络问题, 后者还需要我落实到后端具体的业务接口去看代码, (然后我结合了我实习期间做的一个接口修复做了说明)如果问题发生了, 你还是只能在无头服务器上定位问题. 你怎么办我会使用jps, jstack等工具, 手动调用用户问题涉及到的接口之后观察jvm堆栈的情况, 了解是哪个线程在处理什么业务时发生了问题, 然后落实到具体的线程对应的具体业务, 当然还是要紧贴业务具体解决二面问: 我们部门大部分工作都是对接用户那边的问题, 然后解决工单, 可能涉及到代码的编写很少, 不知道你能不能接受(我肯定不能接受, 应届生要想保持竞争力怎么可能不写代码)三面HR面试: 通过各种问题考察, 你能不能在客户服务部门当一个技术客服, 我故意问了很多晋升与转部门的话题, hr面挂了成都阳程智启软件:用过什么数据库, mysql与postgresql的区别, 你开发过Agent项目吗, 如果项目的提示词窗口不够大怎么办, 向量数据库在你的Agent项目里面起到了什么作用,  ... 大部分都与AI相关北京北方新宇(对日开发, 日常开发完全断网, 入职之后有日语培训, 薪资水平在6k左右浮动):线下笔试: 考的全是老掉牙的问题, 包括前端, 后端, 数据库, 没有涉及到框架, 全是java语言特性与html原生设计, 数据库最难的也不过左连接与右链接,由于我们三个笔试做得很烂, 面试官直接一面三: union与union all的语义, java并发编程中, 有哪些方法保证线程安全..., 你的优点与缺点是什么, 你在大学期间做过的最印象深刻的是什么, (由于我大部分都直接抢答, 另外两位也一问三不知, 面试通过)滴滴:https://www.nowcoder.com/feed/main/detail/ebfd2aee449046fdb5790209af5550bf?sourceSSR=users虎牙:首先手撕算法, 用String类型实现两数相加,然后Android相关面试题:Android的消息机制;View测量, 布局以及绘制原理,Android BitMap压缩策略,Parcelable和Serializable的作用、效率、区别及选择Android事件分发机制还有其他多如牛毛的线上面试, 其中体验最差的便是广州叶子公司, 线上面试持续一个小时, 从java语言基础到计算机网络, 再到spring, 再到分布式组件, 再到对实习中的项目进行微服务重构. 几乎全部回答上来, 结果告知我在微服务层面的技术深度还不够(这是实习岗位, 转正6k)整体上来说,中小型公司比较喜欢问spring,一二线大厂喜欢问java并发, jvm, 手撕算法,其他几乎都是围绕着实习期间做的项目或者自己写的项目中小厂没有笔试,大厂的笔试都是围绕着牛客网作为笔试平台, 围绕着三方面展开, 分别是单选, 多选以及编程, 一线大厂的编程题会有动态规划(迅雷今年的春招, 三道编程题有两道动态规划), 二三线大厂的编程题会考察三个方面, java原生api, java并发编程, 有的甚至会考sql(比如说汉得信息),对于leetcode, 我没有系统性地刷过. 在这么多面试, 大厂必考手撕算法(主要是围绕简单或者中等难度的题, 这些题往往考察用数据结构优化时间复杂度), 中小厂几乎不考更重要的隐性问题就是你的性格, 中小厂现在极为看中个人性格是否稳定, 他们通常会通过自我介绍, 询问你的职业规划, 为什么从上一家公司离职(必问), 期望薪资如何, 有考公考研的计划吗(直接回答没有).我在25年11月份之后挂掉的面试大部分都是性格问题, 经常在最后一环面试中被评定为性格过于积极, 不适合枯燥的编码工作,
查看21道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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