最近半个月的面试,就记得下面这些题目啦哈哈,希望有所帮助
JAVA部分
- 讲一讲 多态封装与继承
- 讲一讲拆箱与装箱
- int,short,double在JVM中各占多少个字节
- 位运算,原码反码补码
- 什么是反射,反射在底层是怎么实现的,谈谈类加载器
- 什么是泛型,什么是泛型擦除
- 反序列化时怎么推导具体类型
- 说一下GC机制,了解垃圾回收器吗
- 了解哪些设计模式
- 手写一个双重锁检查的单例
- 懒汉单例模式为什么要加volatile
- volatile和syncronize的区别
- 谈谈syncronize(重量级锁,偏向锁,轻量级锁,monitorenter,monitorexit)
- 如何实现线程间通信
- hashmap原理,线程安全吗,讲讲红黑树
- 谈谈TCP的三次握手与四次挥手
- HTTPS和HTTP的区别,SSL流程
- 断点续传是怎么实现的
- 什么是内部类
安卓部分
- Activity生命周期,onRestart在何时调用
- A切换到B,再从B返回到A的详细流程
- Activity是如何保存数据的?如横竖屏切换。数据是以什么形式保存的
- 那View是怎么保存的?
- 四大启动模式,singleTop的Activity自己启动自己的生命周期
- Fragment的生命周期
- 如何选择Activity和Fragment
- Service保活
- 使用START_STICKY返回值后,服务挂掉后多久会重启?多次挂掉后还会重启吗?什么情况下不会重启?
- Activity启动流程。App启动流程。系统启动流程。
- App的生命周期
- SQlite和SharedPreference线程安全吗,做过优化吗?
- 动态权限申请
- 谈谈Handler(从Handler、Looper、MessageQueue、Message这几个方面讲。可以延伸
- ThreadLocal,同步屏障,内存泄漏)
- handler是怎么实现delay的Looper会一直运行吗?(epoll机制)。当队列中有一个延时消息时,Looper会被唤醒吗?
- removeCallbacks的原理
- 了解事件分发吗,谈谈DispatchTouchEvent方法(源码)
- onTouch和onTouchEvent
- 触摸事件分发流程
- 项目中如何处理滑动冲突的?
- 手指在Button上按下,并移出Button外,事件的分发流程?从Button外按下,移动到Button上又会怎样?
- 讲讲View的绘制。如何重写onMeasure方法,各种参数,怎么判断控件大小?
- 从View的onDraw方法到通过Handler发送异步消息去绘制,中间发生了什么?
- ListView和RecyclerView的区别
- RecyclerView的缓存机制
- MVC、MVP、MVVP的区别
- DataBinding的优点
- RxJava原理以及如何切换线程的
- Okhttp源码分析 ,分发器和拦截器
- 讲讲五大拦截器的作用。header是在那个拦截器进行拼装的
- 缓存拦截器是怎么实现的
- 拦截器使用了什么设计模式?责任链模式的好处?
- Retrofit源码分析,谈谈动态代理。
- retrofit是怎么把Okhttp和Rxjava组合在一起的(适配器)
- Glide源码,是如何监控生命周期的,三重缓存的实现
- 讲讲Binder机制,包括驱动初始化,内存映射,一次拷贝
- 熟悉AIDL吗,谈谈aidl生成的类以及作用(proxy,stub)
- 启动优化,内存优化,屏幕适配,内存泄漏.
- Android版本特性,不同版本api的区别
- 多进程App的好处(涉及到浏览器)
- 插件化换肤是怎么实现的(写在简历上)
- 还有就是一些项目上的问题(根据简历),程序设计,以及算法(刷leetcode)
还有面试官问到 flutter、鸿蒙编译器。。。算是加分项
目前只记得这些了哈哈
————————————————
版权声明:本文为CSDN博主「weixin_44173142」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44173142/article/details/115025270