面试真题:
- 自定义View的流程,requestLayout和invalidate的区别
- Handler原理,Handler/Looper/MessageQueue关系
- 子线程可以运行looper吗?多次looper. prepare会不会有问题?怎么进入循环的?looper.loop的关键点?消息延迟怎么实现?延时的依据是什么?为什么?
- 事件分发机制
- 绘制为什么要二级缓冲?一级二级三级演变的原因?
- Aspectj是运行时织入还是编译时织入?
- jvm编译优化是什么意思?
- 启动优化?异步了为什么还要优化?
- 插件化原理,换肤原理,热修复原理,插件化怎么实现把apk渲染成界面的?
- mmkv一般不是做缓存的吗?为什么和启动优化有关系?
- 说下udp、tcp和socket?
- 说下http,以及http是基于tcp还是udp?为什么?
- tcp的可靠性怎么保证的?
- 数组和链表的区别?
- app点击到启动第一个activity的流程?
- 项目是MVVM还是MVP,怎么实现的?有没有引入LiveData?
- 有没有做过Socket和串口通信?
- 有没有用过kotlin?协程有了解吗?
- 有没有用过Flutter?
- 分层架构怎么理解?
- 反射的原理和应用?
- 屏幕适配使用哪个方案?有了解过AutoSize吗?
- onCreate和onPostCreate的区别(onResume和onPostResume的区别)?
- 深拷贝和浅拷贝的区别,序列化是深拷贝还是浅拷贝?
- 贝塞尔曲线怎么实现?
- Activity、Window、View的联系?
- View的绘制流程,测量模式?
- Android的两个特别重要的服务是什么时候启动的?
- start和run的区别?sleep和wait的区别?
- Thread的join方法?
- private static 方法,子类能重写吗?
- Looper.loop为什么不会导致ANR?
- dialog和activity调用getWindow获取到的对象有什么不同?
- Int可以作为线程安全的单位吗?AtomicInteger实现原理?
- Intent的使用中有遇到什么问题吗?如何解决大图传输问题?
- 双向认证的流程?
- 启动模式的应用场景?
- 熟悉的设计模式?
- 异常设计?
- 如何排查内存泄露?
- 红黑树的实现原理?怎么染色的?
- 说下常见的排序算法?
- 说下常见的集合类?
- 说下JVM的特性?
- 浏览器输入一个url点击发送后发生了什么?
- 如何显示一张大图?
- 一些多线程和JVM的问题
- 线程池的实现原理?里面的队列有了解过吗?
——————
以上题目都是本人 根据自身经验,结合许多小伙伴的贴子和文章总结而出
都是比较基础和经典的题型,建议大家收藏起来,多刷两遍
有问题可私信/评论区一起讨论~
希望能够帮助大家在 知识掌握上巩固提升,一起升职加薪!!
#Android##android##安卓工程师##面试#