废话不说太多,这次主要是Android 面试题汇总为主,助力大家找都更好的Offer!!!
Java 方面
1.抽象类与接口的区别?
2.分别讲讲 final、static 和 synchronized 可以修饰什么,以及修饰后的作用?
3.请简述一下 String、StringBuffer 和 StringBuilder 三者的区别?
4.“equals” 与 “==”、“hashCode” 的区别和使用场景?
5.Java 中深拷贝与浅拷贝的区别?
6.谈谈 Error 和 Exception 的区别?
7.什么是反射机制?反射机制的应用场景有哪些?
8.谈谈如何重写 equals() 方法?为什么还要重写 hashCode()?
9.Java 中 IO 流分为几种?它们之间有什么区别?
10.谈谈你对 Java 泛型中类型擦除的理解,并说说其局限性?
11.谈一谈 Java 成员变量、局部变量和静态变量的创建和回收时机?
12.谈谈 Java 中 List、Set 以及 Map 的区别?
13.谈谈 ArrayList 和 LinkedList 的区别?
14.请说一下 HashMap 与 HashTable 的区别?
15.HashMap 的实现原理?
16.Java 中使用多线程的方式有哪些?
17.说一下线程的几种状态?
18.谈谈线程死锁,如何有效的避免线程死锁?
19.说一下 synchronized 和 volatile 关键字的区别?
20.谈谈 ThreadLocal 用法和原理?
参考答案:
Android 面试题
1.Activity 与 Fragment 之间常见的几种通信方式?
2.谈谈 Android 中几种 LaunchMode 的特点和应用场景?
3.BroadcastReceiver 与 LocalBroadcastReceiver 有什么区别?
4.谈一谈 startService 和 bindService 方法的区别,生命周期以及使用场景?
5.简单介绍下 ContentProvider 是如何实现数据共享的?
6.说下切换横竖屏时 Activity 的生命周期变化?
7.HandlerThread 的使用场景和实现原理?
8.IntentService 的应用场景和内部实现原理?
9.BroadcastReceiver 与 LocalBroadcastReceiver 有什么区别?
10.谈一谈 startService 和 bindService 方法的区别,生命周期以及使用场景?
11.说说 Activity 加载的流程?
Handler 相关
1.HandlerThread 的使用场景和实现原理?
2.IntentService 的应用场景和内部实现原理?
3.AsyncTask 的优点和缺点?内部实现原理是怎样的?
4.谈谈你对 Activity.runOnUiThread 的理解?
5.谈谈 Android 中消息机制和原理?
6.Android 的子线程能否做到更新 UI?
7.为什么在子线程中创建 Handler 会抛异常?
8.试从源码角度分析 Handler 的 post 和 sendMessage 方法的区别和应用场景?
9.Handler 中有 Loop 死循环,为什么没有阻塞主线程,原理是什么?
UI 绘制相关
1.Android 补间动画和属性动画的区别?
2.Window 和 DecorView 是什么?DecorView 又是如何和 Window 建立联系的?
3.简述一下 Android 中 UI 的刷新机制?
4.你认为 LinearLayout、FrameLayout 和 RelativeLayout 哪个效率高,为什么?
5.说一下 Android 中的事件分发机制?
6.有针对 RecyclerView 做过哪些优化?
7.谈谈你是如何优化 ListView 的?
8.谈一谈自定义 RecyclerView.LayoutManager 的流程?
9.什么是 RemoteViews?使用场景有哪些?
10.谈一谈获取View宽高的几种方法?
11.View.post() 为什么可以获取到宽高信息?
12.谈一谈属性动画的插值器和估值器?
13.getDimension、getDimensionPixelOffset 和 getDimensionPixelSize 三者的区别?
14.请谈谈源码中 StaticLayout 的用法和应用场景?
15.有用过ConstraintLayout吗?它有哪些特点?
16.关于LayoutInflater,它是如何通过 inflate 方法获取到具体View的?
17.谈一谈如何实现 Fragment 懒加载?
18.谈谈 RecyclerView的缓存机制?
19.请说说 View.inflate 和 LayoutInflater.inflate 的区别?
20.请谈谈 invalidate() 和 postInvalidate() 方法的区别和应用场景?
参考答案:
Android 性能调优相关
1.谈谈你对Android性能优化方面的了解?
2.一般什么情况下会导致内存泄漏问题?如何解决
3.自定义 Handler 时如何有效地避免内存泄漏问题?
4.哪些情况下会导致OOM问题?如何解决?
5.ANR 出现的场景以及解决方案?
6.谈谈 Android 中内存优化的方式?
7.谈谈布局优化的技巧?
8.对于 Android 中图片资源的优化方案你知道哪些?
9.Android Native Crash 问题如何分析定位?
10.该如何给 Apk 瘦身?
11.说一下你是如何优化 App 启动过程的?
12.谈谈代码混淆的步骤?
13.说说 App 的电量优化?
14.谈谈如何对 WebView 进行优化?
15.如何处理大图的加载?
16.谈谈如何对网络请求进行优化?
17.请谈谈如何加载Bitmap并防止内存溢出?
参考答案:
设计模式
1.请简要谈一谈单例模式?
2.对于面向对象的六大基本原则了解多少?
3.请列出几种常见的工厂模式并说明它们的用法?
4.说说项目中用到的设计模式和使用场景?
5.什么是代理模式?如何使用?Android源码中的代理模式?
6.谈一谈单例模式,建造者模式,工厂模式的使用场景?如何合理选择?
7.谈谈你对原型模式的理解?
8.请谈谈策略模式原理及其应用场景?
9.静态代理和动态代理的区别,什么场景使用?
10.谈一谈责任链模式的使用场景?
Kotlin 方面
1.请简述一下什么是 Kotlin?它有哪些特性?
2.Kotlin 中注解 @JvmOverloads 的作用?
3.Kotlin 中 List 与 MutableList 的区别?
4.Kotlin 中实现单例的几种常见方式?
5.谈谈你对 Kotlin 中的 data 关键字的理解?相比于普通类有哪些特点?
6.什么是委托属性?请简要说说其使用场景和原理?
7.请举例说明 Kotlin 中 with 与 apply 函数的应用场景和区别?
8.Kotlin中 Unit 类型的作用以及与Java中 Void 的区别?
9.Kotlin 中 infix 关键字的原理和使用场景?
10.Kotlin中的可见性修饰符有哪些?相比于 Java 有什么区别?
11.你觉得 Kotlin 与 Java 混合开发时需要注意哪些问题?
12.在 Kotlin 中,何为解构?该如何使用?
13.在 Kotlin 中,什么是内联函数?有什么作用?
14.谈谈Kotlin中的构造方法?有哪些注意事项?
15.谈谈 Kotlin 中的 Sequence,为什么它处理集合操作更加高效?
16.请谈谈 Kotlin 中的 Coroutines,它与线程有什么区别?有哪些优点?
17.说说 Kotlin中 的 Any 与Java中的 Object 有何异同?
……
参考答案:
其实还有许多Android 的面试习题没有进行展示,因为文章篇幅有限,所以参考答案等也就只能用部分截图进行展示了,如果面试前期需要更好更全面的复习提升,还得综合下面这《Android 面试指南》进行一起复习。有需要的可以 点击直接参考↓↓↓ 学习!
有需要的可以复制下方链接,传送直达!!!
https://qr21.cn/CaZQLo?BIZ=ECOMMERCE
原文地址:https://blog.csdn.net/weixin_61845324
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。