2021Android面试题整理(1年)

最近半个月的面试,就记得下面这些题目啦哈哈,希望有所帮助

JAVA部分

  1. 讲一讲 多态封装与继承
  2. 讲一讲拆箱与装箱
  3. int,short,double在JVM中各占多少个字节
  4. 位运算,原码反码补码
  5. 什么是反射,反射在底层是怎么实现的,谈谈类加载器
  6. 什么是泛型,什么是泛型擦除
  7. 反序列化时怎么推导具体类型
  8. 说一下GC机制,了解垃圾回收器吗
  9. 了解哪些设计模式
  10. 手写一个双重锁检查的单例
  11. 懒汉单例模式为什么要加volatile
  12. volatile和syncronize的区别
  13. 谈谈syncronize(重量级锁,偏向锁,轻量级锁,monitorenter,monitorexit)
  14. 如何实现线程间通信
  15. hashmap原理,线程安全吗,讲讲红黑树
  16. 谈谈TCP的三次握手与四次挥手
  17. HTTPS和HTTP的区别,SSL流程
  18. 断点续传是怎么实现的
  19. 什么是内部类

安卓部分

  1. Activity生命周期,onRestart在何时调用
  2. A切换到B,再从B返回到A的详细流程
  3. Activity是如何保存数据的?如横竖屏切换。数据是以什么形式保存的
  4. 那View是怎么保存的?
  5. 四大启动模式,singleTop的Activity自己启动自己的生命周期
  6. Fragment的生命周期
  7. 如何选择Activity和Fragment
  8. Service保活
  9. 使用START_STICKY返回值后,服务挂掉后多久会重启?多次挂掉后还会重启吗?什么情况下不会重启?
  10. Activity启动流程。App启动流程。系统启动流程。
  11. App的生命周期
  12. SQlite和SharedPreference线程安全吗,做过优化吗?
  13. 动态权限申请
  14. 谈谈Handler(从Handler、Looper、MessageQueue、Message这几个方面讲。可以延伸
  15. ThreadLocal,同步屏障,内存泄漏)
  16. handler是怎么实现delay的Looper会一直运行吗?(epoll机制)。当队列中有一个延时消息时,Looper会被唤醒吗?
  17. removeCallbacks的原理
  18. 了解事件分发吗,谈谈DispatchTouchEvent方法(源码)
  19. onTouch和onTouchEvent
  20. 触摸事件分发流程
  21. 项目中如何处理滑动冲突的?
  22. 手指在Button上按下,并移出Button外,事件的分发流程?从Button外按下,移动到Button上又会怎样?
  23. 讲讲View的绘制。如何重写onMeasure方法,各种参数,怎么判断控件大小?
  24. 从View的onDraw方法到通过Handler发送异步消息去绘制,中间发生了什么?
  25. ListView和RecyclerView的区别
  26. RecyclerView的缓存机制
  27. MVC、MVP、MVVP的区别
  28. DataBinding的优点
  29. RxJava原理以及如何切换线程的
  30. Okhttp源码分析 ,分发器和拦截器
  31. 讲讲五大拦截器的作用。header是在那个拦截器进行拼装的
  32. 缓存拦截器是怎么实现的
  33. 拦截器使用了什么设计模式?责任链模式的好处?
  34. Retrofit源码分析,谈谈动态代理。
  35. retrofit是怎么把Okhttp和Rxjava组合在一起的(适配器)
  36. Glide源码,是如何监控生命周期的,三重缓存的实现
  37. 讲讲Binder机制,包括驱动初始化,内存映射,一次拷贝
  38. 熟悉AIDL吗,谈谈aidl生成的类以及作用(proxy,stub)
  39. 启动优化,内存优化,屏幕适配,内存泄漏.
  40. Android版本特性,不同版本api的区别
  41. 多进程App的好处(涉及到浏览器)
  42. 插件化换肤是怎么实现的(写在简历上)

还有就是一些项目上的问题(根据简历),程序设计,以及算法(刷leetcode)

还有面试官问到 flutter、鸿蒙编译器。。。算是加分项
目前只记得这些了哈哈

猜你喜欢

转载自blog.csdn.net/weixin_44173142/article/details/115025270