9月Android面试经验分享.md

面试经历

面了一些上海二线互联网公司,例如爱奇艺,京东,喜马拉雅,得物,B站,某安,美团等等,记录了部分面试真题。大部分可以自行搜到答案,有疑问的可以留言交流~

【爱奇艺】一面
1.handler里面的nativepollonce 为什么不会anr
2.对称加密和非对称加密的区别
3.布局嵌套过深会导致什么问题
4.java为什么跨平台? c是跨平台吗
5.app打包过程
6.协程挂起和线程阻塞的区别
7.so文件加载流程
8.AIDL怎么实现
9.字节码是什么
【爱奇艺】二面
和一面间隔时间太久了,放弃

【货拉拉一面】
1.简述https的握手流程,私钥加密谁都可以破解,那么有什么意义
2.oom能否try catch
3.公钥和私钥的区别
4.客户端怎么安全保存私钥
5.怎么加载一张超大图
6.采集app启动时间原理
7.exception分类。oom属于哪种分类
8.弱网 无网优化
【货拉拉二面】
1.说下项目中怎么运用MVVM
2.viewModel的源码实现
3.设计一个图片加载框架(包含内存缓存和本地缓存),参考Glide回答就行了
4.简述hashMap put方法的流程,一些细节追问:什么时候链表转树?为啥要转成树?什么时候树再次转回链表
5.英语口语如何(我面的是国际化业务)
【货拉拉HR面】
办理了居住证积分吗?balabala

【京东一面】
1.简述LinkedHashMap源码实现
2.说下Handler流程
3.handler用于线程间通信,怎么保证线程安全
4.界面有个Button,手指放上去慢慢移到Button外的区域,描述事件分发的流程
5.说下View的绘制流程,包括渲染和绘制
6.算法 两个单链表合并成有序链表,说下思路
7.组件化的实现,WMRouter调用其他模块的对应方法怎么实现的
【京东二面】
完全忘了
【京东三面】
1.问项目细节,你主要负责的模块,怎么设计
2.算法 N宫格,从左上角A出发只能向右或者向下走,求所有不同路径的条数总和。手写伪代码(用递归就可以)
【京东四面】
1.平时的上下班时间点
2.有没有使用过咱们的app,有什么建议
3.前面的3次技术面有什么感受
4.职业规划
【京东HR面】
1.平时的上下班时间点 balabala

【某安一面】
1.多线程同步有哪些方式
2.sycnized和lock区别,分别用于什么场景
3.线程池原理
4.线程池拒绝策略怎么自定义
5.怎么实现线程加入线程池的优先级
6.volatile底层原理?是否线程安全
7.死锁怎么发生?怎么防止死锁
8.介绍下apm,怎么捕获crash和native crash?腾讯matrix怎么统计app启动时间,页面加载时间
9.gc回收算法有哪些?分别用于什么场景
10.jvm有哪些区域?栈的作用
11.算法 三数之和

【某安二面】
1.问项目 httpdns相关:为什么要httpdns?怎么处理握手问题,ip直连能否避免dns挟持?
2.问项目 首页弹窗优先级
3.做过哪些内存优化
4.怎么全局捕获app所有异常,并且保证app不崩溃,不卡死
5.如何获取app的所有线程信息
6.怎么查找anr
7.安卓有哪些进程间通信?为什么使用binder?mmap发生在哪个阶段?怎么找到目标进程
8.leakcanary怎么检测内存泄露的
9.算法 两个栈实现一个队列

【某安三面】
1.gradle生命周期,怎么自定义插件
2.统计编译耗时插件,运行在哪个阶段?
3.描述从编译到apk的过程,以及gradle有哪些task参与其中
4.如何实现字节码插桩
5.子线程更新ui会报什么异常?从哪里抛出来的
6.子线程怎么更新textview不会crash
7.activity window view显示出来,全流程源码解析,精确到类和核心方法
8.数据库用的什么库,熟悉sql语句吗
9.mmkv为什么比sp高效,存储的数据结构是什么样
10.mmap为什么比io高效,说下实现原理
11.sp存在哪些问题?
12.hashmap put流程源码解析,链表和树转换时机?扰动函数的作用?为什么hashcode & n-1?扩容时机?
13.gcroots有哪些
14.activity有个内部类handler,描述下引用关系链路,并说明为何gcroots能访问到activity
15.加载xml和动态创建view哪个高效?为什么加载xml效率低
16.如何减少布局嵌套?jetpack compose的原理
17.recycleview缓存实现?开发中怎么优化
18.算法 给定一个字符串,输出所有不同字符组合

【B站一面】
1.一句话描述协程
2.协程只在主线程使用,怎么实现挂起和切回的
3.协程的轻量级怎么体现的
4.ViewModel源码实现,它在Activity重启后为什么恢复数据?数据保存在哪里?和onsaveinstancestate有啥区别
5.LifeCycle源码实现
6.LiveData源码实现,先后setValue两次,都能收到吗?
7.简述View的刷新机制,屏幕刷新信号从哪里发出来的?
8.硬件加速是否了解
9.SurfaceView的工作原理是否有了解
10.组件化相关,WMRouer为什么可以这么方便实现组件之间通信,背后原理

【喜马拉雅一面】
1.有了解过直播吗?有哪些常见协议
2.说下自定义View的一般流程
3.多个线程异步执行任务,主线程需要等待它们都完成再继续,有哪些实现方式
4.说下handler的流程,异步消息是什么?Android中哪些场景会发送异步消息?我们在代码中可以手动发异步消息吗
5.弹幕怎么实现?比如直播中的流星雨特效,跑车这种怎么实现出来
6.说下你开发中做过的一个动画
7.了解过SurfaceView的原理吗
8.有没有接触过Socket编程,简单说下代码实现
9.加载一张超大图怎么实现
10.补间动画和属性动画各自的原理
11.内存优化有哪些手段
12.开放性题目 开发中怎么提升整个app的稳定性

【喜马拉雅二面】
1.动态代理是怎么实现的
2.你熟悉哪些设计模式
3.画一下动态代理的类图
4.说下插件化原理
5.说下热修复的基本原理?比如QQ空间的方案和Tinker
6.算法 判断两个单链表是否相交及找到第一个交点
【喜马拉雅HR面】
1.对公司感觉怎么样,之前有了解过吗
2.是否愿意承担一些管理角色

【得物一面】
1.狂问Kotlin相关,比如委托的实现原理,协程原理,kotlin的好处,kotlin编译流程,常用的kotlin技巧
2.app的打包流程
3.View的渲染绘制流程
【得物二面】
1.inflate加载view过程
2.简述okhttp源码,请求怎么管理,它的线程池怎么实现
3.apt原理
4.viewmodel为什么可以恢复数据
5.livedata可以保存多个数据吗
6.aac架构有什么优势
7.mmkv了解吗
8.算法 单链表找到倒数第K个元素
9.算法 单链表找到中间的元素(2个题都用快慢指针就可以了)
10.组件化怎么做的?WMRouter编译期间做了什么
【得物HR面】
1.没问什么特别的

经验tips

  1. 必考题一定要掌握!
    【必问】Handler的工作流程,源码要记牢,细节要理解透,比如怎么唤醒主线程的,while为啥不会阻塞主线程
    【必问】View的绘制流程,包括渲染和View本身的绘制3部曲
    【必问】MVVM的含义,ViewModel+LivaData+LifeCycle的源码实现
    【必问】自定义View的一般实现流程
    【必问】内存泄漏怎么排查,OOM怎么排查
    【必问】你做过哪些性能优化,参考这个https://blog.yorek.xyz/android/paid/master/
    【必问】Retrofit的实现,动态代理
    【必问】组件化相关,WmRouter的原理
    【高频】ANR怎么排查,有哪些原因
    【高频】APP打包流程
    【高频】kotlin常见知识点的原理,如协程,委托,扩展函数,编译流程
    【高频】Android有哪些跨进程通信,AIDL的代码实现
    【高频】怎么加载一张超大图
    【高频】OkHttp的线程池实现,Java线程池原理,拒绝策略怎么自定义

2.算法准备
有时间就刷剑指offer66道题目,没时间就掌握一般的套路,回答一些常见题目基本够了。参考这个:https://zhuanlan.zhihu.com/p/386785887
https://zhuanlan.zhihu.com/p/109431459

3.关于性能优化
你做过哪些性能优化?这个点也是经常被问到,我的建议 不要随意把别人博客的性能优化当成自己做过的,很多都是纯KPI项目,他们可能自己都没去实践。面试官一听就知道你在瞎说,挑一些相对靠谱的结合自己项目说下,然后拓展一下还未实现但是准备去做的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270

推荐阅读更多精彩内容

  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,471评论 28 53
  • 首先介绍下自己的背景: 我11年左右入市到现在,也差不多有4年时间,看过一些关于股票投资的书籍,对于巴菲特等股神的...
    瞎投资阅读 5,588评论 3 8
  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    极客学院Wiki阅读 7,188评论 0 3
  • 不知不觉易趣客已经在路上走了快一年了,感觉也该让更多朋友认识知道易趣客,所以就谢了这篇简介,已做创业记事。 易趣客...
    Physher阅读 3,382评论 1 2