音视频开发大厂面试题(快手、百度、字节)

目录

1.快手面试

2.百度面试

3.字节面试

一、快手面试总结

面试岗位:音视频优化体验岗

一面:

开场自我介绍

问我们视频封装格式是什么?我答hls ts 和 fmp4都有

之后问了ts的结构是什么样子的

又问了hls是什么,介绍一下基本原理,直播和点播hls有什么不同

问hls 怎么实现自适应码率,考什么去探测网络带宽

hls的优化方式有哪些

通过我不断的引导,终于让我介绍音视频优化方案了,之后我就按照目标,瓶颈,优化方法三部曲等逻辑长篇大论给她说了我们的优化手段

挑着里面几个优化点详细问了一下,比如:切片信息存在header里怎么实现的,为什么不通过主动推流的方式在请求m3u8的时候直接放回切片

算法:一个连续子数组最大和:如[1,-2,3,4,-2,5] 结果为10

二面:

开场自我介绍不可少

我说给讲讲我们的优化方法吧,面试官说,上个面试官问完了,就不问了,问一些基础的吧

开始问java知识,包括:gc的原理,那些对象可以被当做gc root;线程的状态有哪些,怎么转换的;线程池的原理以及添加一个任务到线程池中,线程池的工作流程,当线程池处理速度小于添加速度,会发生什么?拒绝策略有那些;原子类实现原理,介绍一下cas,volatile原理;

用户浏览器输入url,之后到展现出来,经过哪些流程;DNS解析到的ip之后,怎么跟这个主机交互的

http的底层实现,如http和tcp的关系,一个tcp连接上可以同时发送多条http请求吗?SSL是什么,功能是什么,客户端会每次都请求证书吗?

介绍一下drm的优化方案,如何降低首屏的

说一下双联路上传是怎么实现的,怎么监控两条链路成功率的?

算法:一条链表,每k个翻转一次,不足k个则不转;如1->2->3->4->5->6->7 每2个转一次,则转成2->1->4->3->6->5->7

三面:

总算有点不一样了,面试官先介绍了自己,之后再让我自我介绍

问了最近半年都在做什么工作

做音视频分离的时候,有没有了解过dash怎么实现的,他们有没有什么好办法去解决首屏时间问题

为什么音视频分离使用byterange

使用cdn的时候,如何应对cdn出现服务质量下降

hls切片的时候,有物理切分,还有逻辑切分,为什么这么设计?

如果app访问时,请求被恶意调度到别的网站,怎么办?如果全非运营商都有在欠费前进行dns劫持,发送302提醒充值的习惯,怎么应对

如何设计一个监控系统,监控哪些运营商发生了dns劫持

设计算法,实现求开根号,精度为小数点后三位

四面:

开场自我介绍不可少

问了问app相关问题,如播放的是什么类型的视频

问了fmp4相关的优化有哪些,为什么使用fmp4

介绍整体的优化思路

在播放优化m3u8类型的视频,发生异常如何处理,比如发生DISCONTINUITY时是怎么处理的

视频是否有多码率,是否有I-FRAME类型视频

使用多家cdn的情况下,在某个cdn发生问题的时候,怎么处理的

如何评判运营商使用哪个cdn表现好

在工作中,遇到线上问题,怎么处理的

线上出现了异常,如何查找瓶颈

有什么想问的吗


二、百度面试总结

面试岗位:ACG媒体云产品部_百度视频云直播研发工程师

一面:
开场自我介绍不可少
着重讲了我们音视频优化方案
是否了解flv的基本格式,mp4的基本格式
是否了解rtmp,hls是基于什么实现的
了解项目中集群的实现方式,zookeeper的原理,角色,选举流程
双联路上传方案设计
cdn的设计方案,nginx的合并回源讲解,nginx事件模型讲解
线程池工作流程讲解
算法:手写hashmap的push,pop,remove方法
二面:
开场自我介绍不可少
着重讲了我们音视频优化方案
详细了解了m3u8优化方案,init.mp4优化方案
问了cdn缓存多久怎么实现的
drm优化手段,双联路优化方法
java知识:gc机制,线程池工作流程;nio介绍一下,谈谈nio oom问题;
了解源服务器工作集群的实现原理,来了一个任务怎么分配下去,zookeeper如果挂掉了,怎么处理,有没有其他的高可用手段。
用redis怎么实现分布式锁,redis如果io高了,怎么排查问题,如果查看哪个进程io高
如果系统cpu高,怎么排查;数据库查询慢了,怎么排查;
如何查看每一个tcp链接的缓冲区大小
ngixn的事件处理模型
算法:一个连续子数组最大和:如[1,-2,3,4,-2,5] 结果为10;写一个定时任务处理器,能够接受不断添加的定时任务,在到点之后执行其中的回调方法。
三面:
本以为三面会是技术总监面,但是怎么感觉像是人力小姐姐面-_-,最后打听到是技术经理

开场自我介绍不可少
着重讲了我们音视频优化方案
问了我们卫星通信的相关事宜,比如卫星断了会怎么样
问我在团队中是什么角色,人员组成什么样
工作中,哪些事情是我主导的
工作中,遇到难以解决的问题,怎么解决的
和团队沟通中,遇到矛盾,怎么解决;和领导发生过矛盾没,遇到有争议的问题,怎么解决的;
最近在学什么新技术没?有没有看到源码程度
有没有投别人家,什么进度
对自己未来规划是什么样子的,家里住哪里等等。。

本文福利, 免费领取C++音视频学习资料包、技术视频,内容包括(音视频开发,面试题,FFmpeg ,webRTC ,rtmp ,hls ,rtsp ,ffplay ,编解码,推拉流,srs)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓


三、字节面试总结:

一面:
面试岗位:后端开发工程师 — 视频架构职位

开场自我介绍
询问使用的视频直播协议
是否有了解过cmaf
说一下http flv, rtmp, hls区别
说一下h264, h265区别
是否了解quic新特新;如何实现0rtt,如何实现链接迁移
针对hls协议,怎么调优的,比如首屏,卡顿
详细介绍了我们的调优方法
开始询问基础知识:java中,线程使用start方法和run方法的区别;hashmap数据结构,扩容原理,扩容时发生插入或查找,会怎么样;currenthashmap原理,为什么锁能保证线程安全?怎么实现的?是否了解微服务架构;是否有过高并发编程经验
数据库底层引擎有哪些,区别是什么;b+树是怎么实现的,和b树区别是什么?为什么要使用b+树?使用b+树时,寻找索引过程;
实现无序数组寻找中位数,不许先排序,再查找

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值