Android面试高频问题,必知必会!!!
基础问题
-
recyclerview和listview的区别;两者性能之间的差距
-
view绘制原理、绘制流程,自定义View的操作,如何获取view的宽高,自定义View如何提供获取View属性的接口?
-
HashMap,HashMap底层,HashMap线程安全
-
线程和进程的区别
-
Handler,通过Handler传递的线程对象的生命周期,传递的时候涉及几次拷贝?
-
RecyclerView和ListView的区别,缓存机制,RecyclerView的优点
-
ANR,ANR的检测
-
tcp/ip协议,tcp和udp的区别,tcp实现可靠传输的机制,tcp三次握手,代码层面咋实现
-
平台:LeetCode
-
手撕:二叉树的层序遍历,合并两个有序数组
难点问题
-
java多线程怎么安全终止一个线程
-
java GC机制,java和C编译的区别
-
int转byte,int转char
-
抽象类和接口区别,抽象类的意义,抽象类与接口的应用场景,抽象类是否可以没有方法和属性?,接口的意义
-
泛型中extends和super的区别
-
Serializable 和Parcelable 的区别
-
常用数据结构
-
列举java的集合以及集合之间的继承关系
-
HashMap的实现原理、数据结构、源码理解
-
HashMap如何put数据?怎么手写实现
-
ConcurrentHashMap的实现原理
-
树,B+树的理解
-
Http和Https的区别,Https的流程,http常见的响应码
-
Android布局和布局优化
-
Android的进程间通信
-
Android属性动画特性
-
自定义View如何考虑机型适配
-
Handler机制和底层实现
-
类加载
-
Java反射、Java注解、依赖注入
-
Java中String的了解,String为什么要设计成不可变的?
-
TCP的3次握手和四次挥手,TCP与UDP的区别,TCP与UDP的应用
-
WebSocket与socket的区别
-
安卓签名
-
对热修复和插件化的理解,插件化原理分析
MVC MVP MVVM原理和区别
非技术类问题
-
自我介绍(注意谈吐)
-
开发经历与收获
-
项目的亮点和重难点(Android开发始终与问题相伴,要突出问题如何解决、困难如何攻坚!!)
-
个人所擅长和感兴趣的技术领域与技术点(最好与业内信息挂钩)
-
个人职业规划与发展路线
- 反问(提出问题,体现对岗位定位的了解)
之后会再整理一个更全面的题库,也会持续更新各个大厂的真题和面经🙂...
#Android##安卓工程师##安卓工程师面经##android#Android开发面经