美团24秋招 客户端一面

下午2点半HR打电话,约面试时间,为了方便就约到了4点半。

睡了一觉醒来就直接去面试,面试过程中都不知道自己在说啥

面试内容如下:

  1. 简历里面有说到做硬件视频流的推送,说如果你来做的话如何做
  2. 调取CameraX等框架获取视频流帧数据
  3. 编码,使用MediaCodec对视频帧数据进行编码(就是压缩的意思,因为数据太大)
  4. 打包:编码后的视频帧数据进行打包
  5. 通常使用容器格式(如MP4、FLV等)
  6. 流媒体协议,如RTMP、RTSP等进行封装
  7. 传输:用RTMP、RTSP、Http协议传输
  8. 解封加解码:接收端解封工具解封,然后用MediaCodec解码
  9. 存储
  10. RTMP和HTTP的区别?
  11. RTMP这种更适合用来音视频和流媒体传输,可以低延迟,实时传输,HTTP这种就静态资源比较多
  12. 都是TCP为传输层协议
  13. OSI的七层模型
  14. 物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
  15. TCP和UDP区别
  16. 面向链接和无连接,对应的传输速率等就有区别
  17. 你自己有了解这些网络底层的东西吗?
  18. 有看过OKHTTP的原理:
  19. 创建请求quest之后,OkHttpClient调用newCall()将Request封装成一个Call对象
  20. 同步请求,调用Call的excute()方法,在调用Dispatcher的excuted(),放入runningSyncCalls队列,进入拦截器链,发送请求,获得response后,调用finished出列;
  21. 异步请求,调用enqueue()方法
  22. 通过判断请求线程池里面的 同一地址的请求是否达到5,线程是否达到64
  23. ture的话,进入runningAsyncCalls队列,然后调用拦截器链条,发送请求
  24. false的话,进入readyAsyncCalls队列,等待条件满足时调用promoteCalls()方法进入上个步骤
  25. 后续执行发送请求,获得response后,调用finished出列
  26. 拦截器链,按顺序遍历interceptorList(拦截器链,这里面拦截器使用的是责任链的模式)
  27. 自定义拦截器可以自定义单个拦截器,也可以自定义拦截器链路的顺序
  28. 涉及的线程池一共两个:
  29. Dispatcher处理请求时候内部的excuteService线程池,是一个核心线程为0,非核心线程不限制的线程池
  30. 内部是一个同步队列,先来先出
  31. 发送请求的线程池,支持最大5个链路的keep-alive连接,并且默认keep-alive的时间是5分钟。
  32. 拦截器的类型有哪些?
  33. 重试及重定向拦截器 RetryAndFollowUpInterceptor
  34. 封装拦截器 BridgeInterceptor
  35. 缓存拦截器 CacheInterceptor
  36. 连接拦截器 ConnectInterceptor
  37. IO拦截器 CallServerInterceptor
  38. 自定义的拦截器
  39. 拦截器的执行顺序
  40. 先按照addInterceptor() 设置的顺序遍历,再按 addNetworkInterceptor() 设置的顺序遍历
  41. 如何解决线程冲突
  42. 保证线程安全,使用一些锁机制
  43. Java的垃圾回收机制
  44. 从GC roots遍历可达就说明有引用,不删除,其他删除
  45. 常见的算法有哪些?
  46. 标记清除,标准整理法,复制清除法
  47. Android里面常见的嵌套解决方法
  48. 不同方向的嵌套滑动
  49. ViewPage和RecyclerView嵌套,ScrollView嵌套RecyclerView
  50. 相同方向的嵌套滑动
  51. ScrollView嵌套ScrollView,NestedScrollView + RecyclerView
  52. 自定义的
  53. NestedScrollingParent和NestedScrollingChild
  54. Android 手势响应流程
  55. 当一个View接收到触摸事件后,它首先检查是否需要拦截这个事件,即判断是否要将事件交给自己处理。这个判断是在ViewGroup的onInterceptTouchEvent()方法中完成的。
  56. 在自己的onTouchEvent()方法中处理事件
  57. 手势检测,Android提供了GestureDetector类来帮助我们检测常见的手势并进行回调
  58. 如果出现事件冲突如何解决
  59. 外部拦截法 - 在父View中拦截事件,避免传递给子View
  60. 内部拦截法 - 先传递给子View,子View自己决定是否拦截
  61. 事件分发机制

感觉答的不是很好,刚刚睡醒,特别迷迷糊糊的,说话都不清晰,舌头打结!

最后面试官也没让手撕代码,说时间不太够了。反问了一下业务方向和技术方向

自己真的是太菜了,要学习的地方还很多的

全部评论
太强了啊,你是全国应届安卓十强
4 回复 分享
发布于 2023-08-23 09:50 北京
大佬太强了 研发一组员工
1 回复 分享
发布于 2023-08-23 09:48 北京
已经是大佬了,太强了!
点赞 回复 分享
发布于 2023-08-23 09:10 四川
佬,看看淘天吗
点赞 回复 分享
发布于 2023-08-23 14:08 浙江
看不懂 但感觉楼主太强了
点赞 回复 分享
发布于 2023-08-23 22:53 四川
大佬
点赞 回复 分享
发布于 2023-08-24 10:13 江苏
看了大佬的,感觉自己是个fw
点赞 回复 分享
发布于 2023-08-26 23:56 北京
佬投的是音视频工程师么
点赞 回复 分享
发布于 2023-09-25 21:06 浙江

相关推荐

序 朋友们,好久不见。 笔者在过去消失的五个月里被困在情绪牢笼中过的相当煎熬,一度丢失自己,觉得整个世界都是昏暗的。 庆幸的是靠着自己纯硬扛也是走出来了。表达欲再度回归,所以真的很开心还有机会能在再和大家见面。 破碎秋招 抑郁情绪的引爆点必然是秋招期间遭受的打击了,从去年九月份腾讯转正被告知失败之后就开始疯狂投递简历,每天都在经历:简历挂、一面挂、二面挂、三面挂、HR面挂,每天睁开眼就被无所适从的挫败感包围。 秋招的特点是即便流程走到最后一步也不一定会 offer,因为还需要进入大池子进行横向对比,俗称泡池子,而这一泡我的大多数面试流程到后面就没了后文,这一度让我感觉非常绝望。我深知自己学历并...
SoNiC_X:我已经工作快2年了,当时高考没考好没去到想去的学校,觉得天要塌了;校招找不到工作,觉得天要塌了;现在工作觉得看不到未来,觉得天要塌了;最近最大的感悟就是:天会一直塌,但是生活也会一直继续下去,还是要调整好自己的心态,不要因为一时的困难把自己困住,要记住完蛋的日子永远在后头
点赞 评论 收藏
分享
九点快去睡:这个岗位 去年暑假我都见了 现在还在找人 钱是一点没涨
点赞 评论 收藏
分享
04-02 14:40
浙江大学 设计
无语😓 就喜欢找我茬,研究生怎么了 研究生就是天才吗 就得所有报告文件都会,最烦做表
我推的MK:是这样的,那些领导就是自己什么都不懂就把所有东西扔给你,指望白嫖你的劳动力,如果你的表现不如预期就启动攻击学历模式,这都学不会是怎么考上浙大的
点赞 评论 收藏
分享
评论
9
38
分享

创作者周榜

更多
牛客网
牛客企业服务