Android 研发大厂面试记:阿里,字节,安卓内存监控悬浮窗
说说看自己的优劣势
对于现在做的产品有什么看法和见解,怎么看待竞品
[](
)有赞(过)
=================================================================
一面:
组件化的架构怎么设计的
组件之间怎么通信,除了 EventBus 还有其他哪些了解过
EventBus 是怎么工作的
Router 框架怎么设计的
LiveData 为什么具有生命周期感知能力,如何实现的
APT 怎么实现,如何生成代码文件
MVP 与 MVVM 的区别
MVP 为什么会存在内存泄漏的可能,怎么解决
线程池的创建有哪些参数,有什么作用
有用过 kotlin 么?object 关键主要应用在哪里? let 和 run 的区别
GC 有哪些算法,现代虚拟机基本采用什么算法,为什么这么做
Activity 的启动流程
在 APP 进程还没创建的时候,会做哪些额外操作,app 进程是谁创建的
View 是如何显示出来的
如何把像素点显示到屏幕上
Glide 三级缓存策略有了解过么
Glide 为什么会感知生命周期
做过哪些性能优化
最近写的这篇博客写的什么,遇到了什么问题,怎么解决
二面:
讲讲项目的组成
retrofit2 原理
用过 rxjava2 哪些操作符,zip 什么作用。
热修复的原理
APT 技术怎么实现,如何理解 AOP,有过哪些应用场景
MVC,MVP,MVVM 的区别
讲一下 LiveData+ViewModel 怎么实现生命周期, 屏幕旋转时,会保存数据么
有没有碰到过 LiveData 接收多次消息的问题,LiveData 的 postValue 和 setValue 有什么区别,平时怎么使用
glide 怎么实现生命周期的监听
组件化的方案,如何提高编译效率
组件通信用的什么
有没有写过印象深刻的框架
平时周末会遇到线上事故么,怎么处理
平时开发过程怎么沟通协调,在里面作为什么角色存在。
三面:
讲一下你觉得成长最大的一个项目,为什么
组件化考虑的因素有哪些,为什么这么考虑,为什么使用 AAR 包就会提高编译效率
说一个你觉得做的比较好的点。
有没有跨端经验
有没有推动过项目的一些方案的制作和实施。讲一下怎么做的
[](
)哈啰出行(过)
===================================================================
一面:
讲述一下自己做的最有亮点的项目
view 的绘制流程
View 的事件分发流程
ViewPager 内部嵌套同向 RecyclerView,RecyclerView 滑动与 ViewPager 滑动冲突解决方案
详细说下 Handler 机制
Handler 会存在哪些问题,怎么解决
设计模式用过哪些,简要讲述下最熟悉的几个设计模式,怎么设计,为什么这么设计
APT 怎么实现的,元注解什么作用。 IOC 怎么实现
二面:
讲述一下自己项目亮点
讲一下路由框架的架构设计,路由还可以实现哪些功能
容灾方案怎么实现,怎么做降级处理,怎么做 AbTest
App Link 有了解过没
Handler 的机制,如果取不到消息接下来怎么做。
APP 启动做过哪些优化,如果启动优化的负责人,你会怎么做
Activity 的冷启动流程
Application 由谁创建,Activity 由谁创建。ContentProvider 的 onCreate 发生在什么时候
热更新的原理,插件化的原理
三面:
讲述项目经历
讲一下自己觉得做得最好的地方
有做过哪些性能优化
让你负责埋点功能,你怎么设计实现
leakcanary 实现原理
flutter 有了解过么
讲当前部门的主要业务
[](
)涂鸦智能(过)
===================================================================
一面:
Activity 启动流程
Handler 机制
项目中解决过的难题
Http1.0 http1.1 http2.0 的区别
Https 的请求过程
用过抓包工具么,抓包工具为什么可以抓到请求,如何抓到 HTTPS 请求,怎么实现
二面:
讲几个项目中遇到的难题(技术上的难题或者团队协作上面的难题),怎么解决
如何进行团队协作
讲下项目亮点
EventBus 的原理,还有哪些可以通信的
LiveData+ViewModel 怎么实现生命周期的
EventBus 和 LiveData 的优缺点
OKHttp 的原理
三面:
组件化开发怎么实现
路由怎么实现,组件化通信有哪些
介绍下 opengles 开发魔方的流程
retrofit 实现原理
为什么这个时候选择看机会
涂鸦对你来说整体印象如何
[](
)字节跳动(过)
===================================================================
一面:
git cherry-pick 操作 commit id 一样么
git merge 和 rebase 的作用
Fragment 如何传参的,有没有使用构造函数传参
SurfaceView 和 View 绘制上面的差别,可以设置层级么。 mediaOverlay 什么作用
插件化和组件化的差别, 插件
化的加载过程
长图加载解决方案 DecodeRegion 的底层原理
算法: A 方法返回 0 和 1 的概率是 p 和 1-p, 设计一个算法让 0 和 1 返回的概率各是 1/2
opengl 顶点着色器, 片段着色器
classLoader 通过什么判断 class 是否已经加载到内存中
内存优化怎么做的
滑动冲突怎么解决 nestchild 和 nestparent 如何实现手势分发
二面:
OpenGLES 怎么使用
线程启动方式
HandlerThread 了解过么
Synchronized 原理,notify wait 底层是怎么做的, 了解过锁的膨胀么
CAS 操作如何保证两个线程数据安全
Dialog 和 Activity 属于同一个 window 么,为什么
用过哪些设计模式
讲讲设计原则,项目里使用情况
讲讲现在项目里的网络库, OKHttp 有哪些优势(相比较于以前的 HttpClient 和 HttpUrlConnection)
EventBus 内部使用什么样的数据结构保存,EventBus 的优缺点
Bitmap 内存怎么计算 假设一个 100*100 的图片放入 xxhdpi 的文件夹,在 720 的手机上面显示,Config 是 ARGB8888。 内存大小多少
讲讲为什么使用 MVVM,MVP 为什么会出现内存泄漏, MVVM 为什么不会出现内存泄漏
VSync 信号 什么作用 同步多次执行 addView,removeView 等 UI 操作为什么不会多次进行 View 的绘制
算法: 如果将一串路径反转 例如 /a/b/././c/…d/e -> /e/d/c/b/a
三面:
自动登出如何处理的
登录之后页面,数据刷新怎么处理
TCP 和 UDP 的区别, 讲下视频通话中哪些用到了 UDP,哪些用到了 TCP
Java 的 Thread 是 JVM 创建的还是系统的
Thread 可以设置大小么
JVM 的内存回收算法
View 的 onMeasure 测量逻辑
解决过的难题
讲下 mvvm 的设计,与 mvp 相比优势是什么,如果用 mvp 如何防止内存泄露
评论