佛系的做题家在看算法 level
获赞
1
粉丝
0
关注
7
看过 TA
6
清华大学
2028
安卓
IP属地:浙江
暂未填写个人简介
私信
关注
今天 10:28
已编辑
清华大学 安卓
📍面试公司:字节剪映(社招)💻面试岗位:高级移动开发(安卓)❓面试问题:基本题目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 实验动态配置弱网下的缓存回退最近线上出现一个复杂问题:用户冷启动进入首页时,偶发以下现象:首页首屏渲染慢,部分机型首帧超过 1200msBanner 和信息流偶发顺序错乱未读角标有时显示旧数据,切前后台后恢复少量用户出现点击卡片跳错页面埋点显示首页曝光正常,但业务方反馈实际有模块没展示出来这个问题在 debug 环境很难复现,线上高并发活动期间明显增多假设你是这个首页架构的 owner,你会如何分析和推进这个问题?然后手撕:leecode LRU 缓存机制🙌面试感想:
发面经攒人品
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务