字节剪映(社招)

💻面试岗位:高级移动开发(安卓)
❓面试问题:

基本题目
1、Handler / Looper / MessageQueue 机制
题目
请你从源码和运行机制角度讲一下:
Android 主线程为什么可以一直处理消息而不会退出?
Looper.prepare()、Looper.loop()、MessageQueue、Handler 分别起什么作用?
Handler.post(Runnable) 和 sendMessage(Message) 本质区别是什么?
为什么在子线程直接创建 Handler 有时会报错?
Message 为什么要做对象复用?
2. Activity / Fragment 生命周期与状态恢复
题目
假设一个页面发生以下几种情况:
横竖屏切换
应用切后台被系统回收
Fragment 被放入 back stack 再返回
页面使用了 ViewPager2 / Navigation
请你说明:
onSaveInstanceState() 什么时候调用?
哪些数据适合放 Bundle,哪些不适合?
ViewModel 能解决什么,不能解决什么?
Fragment 为什么容易出现生命周期错乱、重复请求、重复订阅?
3. Binder 机制与进程间通信
题目
请你讲一下 Android Binder 机制:
Binder 和 Socket / 管道 / 共享内存相比有什么特点?
一次 Binder 调用大致流程是什么?
为什么 Android 选择 Binder 作为主要 IPC 机制?
AIDL 的本质是什么?
为什么主线程做 Binder 调用也可能卡顿甚至 ANR?
4、RecyclerView 机制与列表性能
题目
一个复杂信息流列表包含多种 item 类型、图片、视频、曝光埋点和局部刷新,请你讲一下:
RecyclerView 的复用机制核心是什么?
notifyDataSetChanged()、notifyItemChanged()、DiffUtil 有什么区别?
为什么会出现“列表闪动”“错位”“点击错乱”“曝光不准”?
复杂列表如何做性能优化?
ConcatAdapter、Paging、异步 Diff 的优缺点是什么?

场景题目:
你负责公司 Android 客户端首页改版。首页是一个高频入口,承载了:
信息流列表
顶部搜索框
Banner
多个业务模块卡片
实时活动入口
未读消息角标
A/B 实验动态配置
弱网下的缓存回退
最近线上出现一个复杂问题:
用户冷启动进入首页时,偶发以下现象:
首页首屏渲染慢,部分机型首帧超过 1200ms
Banner 和信息流偶发顺序错乱
未读角标有时显示旧数据,切前后台后恢复
少量用户出现点击卡片跳错页面
埋点显示首页曝光正常,但业务方反馈实际有模块没展示出来
这个问题在 debug 环境很难复现,线上高并发活动期间明显增多
假设你是这个首页架构的 owner,你会如何分析和推进这个问题?
#牛客AI配图神器#
然后手撕:leecode LRU 缓存机制

🙌面试感想:
#发面经攒人品#
全部评论
问了这么多啊
点赞 回复 分享
发布于 昨天 16:32 北京

相关推荐

昨天 20:19
已编辑
门头沟学院 Java
太压力了,面了2个多小时,本菜比已经被拷打的瑟瑟发抖面完两个小时后通知过了1.算法题三道(1)leetcode124 二叉树中最大路径和hard题 因为不久前才刷过撕出来了,又来了一道(2)leetcode 300 最长递增子序列变种除了递增之外还加了一个权重因素,但是思路没变,dp就行(3)寻找词汇库里符合固定长度前缀的匹配单词应该是他们自己题库的题。给了一串单词列表,然后又给了一个单词,一个下标,根据这个下标的前缀去单词列表里面找到所有匹配的单词再返回思路是创建一个单词前缀树,然后根据树找,但是可能是构件树数有问题没撕出来2.全方位项目拷打基本没有问八股,全部都是项目企业场景题,哎哟我操,完全不会。我就纯八股战士,结果没想到一道八股都没问反正尽可能把企业场景往八股上引吧。。1. 微服务多点部署其中一个宕机了怎么办2. 要是mq占据大量CPU该怎么排查?MySQL占据大量CPU该怎么排查?3. 假如说让你实现视频点赞功能,你打算怎么设计?讲讲思路(我知道多级缓存,但是碰巧没背……寄)4. Redis延迟双删是什么,分布式锁,哨兵模式5. MySQL到es同步的延迟该怎么优化6. Rabbit mq的队列是怎么实现的?(这个完全没整明白,可能是队列的底层结构? 反正我硬扯的讲了一下rabbit mq的架构)还扯了很多,但是往后完全就慌了),记住的是这些
查看9道真题和解析
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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