# Android-Daily-Interview **Repository Path**: androidxindong/Android-Daily-Interview ## Basic Information - **Project Name**: Android-Daily-Interview - **Description**: 每工作日更新一道 Android 面试题,小聚成河,大聚成江,共勉之~ - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-25 - **Last Updated**: 2021-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
---------------- 每工作日更新一道 Android 面试题,小聚成河,大聚成江,坚持下来的都是时代的铸就者,共勉之!如果想要和我们一起坚持下去,不妨点个**关注**吧!:rainbow_flag: ## 今日面试题 (2019-08-13) ### [谈谈List,Set,Map的区别?](https://github.com/Moosphan/Android-Daily-Interview/issues/120)👉[去答题](https://github.com/Moosphan/Android-Daily-Interview/issues/120) ## 如何贡献? 想加入这件有意义的事,并成为[**贡献者**](https://github.com/Moosphan/Android-Daily-Interview/blob/HEAD/android-interview/contributors.md)一员?很简单,你可以选择以下方式来完善和壮大这个项目: 1. 参与每日答题,在[**答题区**](https://github.com/Moosphan/Android-Daily-Interview/issues)留下你的见解,让更多人认识你! 2. 参与[**往期面试题的归纳、总结、完善或者扩展**](https://github.com/Moosphan/Android-Daily-Interview/issues/113),稳固基石! 3. 前往👉[**后续面试题征集区域**](https://github.com/Moosphan/Android-Daily-Interview/issues/20),提供更多优质面试题~ 4. 你也可以加入QQ群,参与本项目的维护或者讨论:**713463651** ## 历史汇总区 - **第 109 期**:[**谈谈 AIDL?**](https://github.com/Moosphan/Android-Daily-Interview/issues/119) - **第 108 期**:[**谈谈你对Java泛型中类型擦除的理解,并说说其局限性?**](https://github.com/Moosphan/Android-Daily-Interview/issues/118) - **第 107 期**:[**谈一谈线程sleep()和wait()的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/117) - **第 106 期**:[**请举例说明Kotlin中with与apply函数的应用场景和区别?** ](https://github.com/Moosphan/Android-Daily-Interview/issues/116) - **第 105 期**:[**说下切换横竖屏时Activity的生命周期?** ](https://github.com/Moosphan/Android-Daily-Interview/issues/115) - **第 104 期**:[**谈谈如何对网络请求进行优化?** ](https://github.com/Moosphan/Android-Daily-Interview/issues/114) - **第 103 期**:[**你知道哪些提升开发效率的骚操作?** ](https://github.com/Moosphan/Android-Daily-Interview/issues/112) - **第 102 期**:[**如何处理大图的加载?**](https://github.com/Moosphan/Android-Daily-Interview/issues/111) - **第 101 期**:[**谈一谈java线程常见的几种锁?**](https://github.com/Moosphan/Android-Daily-Interview/issues/110) - **第 100 期**:[**谈谈代码混淆的步骤?**](https://github.com/Moosphan/Android-Daily-Interview/issues/109) - **第 99 期**:[**如何保证线程安全?**](https://github.com/Moosphan/Android-Daily-Interview/issues/108) - **第 98 期**:[**什么是委托属性?请简要说说其使用场景和原理?**](https://github.com/Moosphan/Android-Daily-Interview/issues/107) - **第 97 期**:[**什么是线程池?如何创建一个线程池?**](https://github.com/Moosphan/Android-Daily-Interview/issues/106) - **第 96 期**:[**请谈谈你对Binder机制的理解?**](https://github.com/Moosphan/Android-Daily-Interview/issues/105) - **第 95 期**:[**谈谈Java 线程中 notify 和 notifyAll有什么区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/104) - **第 94 期**:[**谈谈App的电量优化?**](https://github.com/Moosphan/Android-Daily-Interview/issues/102) - **第 93 期**:[**谈谈你对Kotlin中的 data 关键字的理解?相比于普通类有哪些特点?**](https://github.com/Moosphan/Android-Daily-Interview/issues/101) - **第 92 期**:[**简单介绍下ContentProvider是如何实现数据共享的?**](https://github.com/Moosphan/Android-Daily-Interview/issues/100) - **第 91 期**:[**说一下线程的几种状态?**](https://github.com/Moosphan/Android-Daily-Interview/issues/99) - **第 90 期**:[**Service 如何进行保活?**](https://github.com/Moosphan/Android-Daily-Interview/issues/98) - **第 89 期**:[**谈谈你对时间复杂度和空间复杂度的理解?**](https://github.com/Moosphan/Android-Daily-Interview/issues/97) - **第 88 期**:[**Kotlin中实现单例的几种常见方式?**](https://github.com/Moosphan/Android-Daily-Interview/issues/96) - **第 87 期**:[**谈谈布局优化的技巧?**](https://github.com/Moosphan/Android-Daily-Interview/issues/95) - **第 86 期**:[**请简述一次http网络请求的过程?**](https://github.com/Moosphan/Android-Daily-Interview/issues/94) - **第 85 期**:[**为什么在子线程中创建Handler会抛异常?**](https://github.com/Moosphan/Android-Daily-Interview/issues/93) - **第 84 期**:[**谈谈如何适配更多机型的?**](https://github.com/Moosphan/Android-Daily-Interview/issues/92) - **第 83 期**:[**子线程能否更新UI?**](https://github.com/Moosphan/Android-Daily-Interview/issues/91) - **第 82 期**:[**Kotlin中List与MutableList的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/90) - **第 81 期**:[**如何反转一个单链表?**](https://github.com/Moosphan/Android-Daily-Interview/issues/89) - **第 80 期**:[**Android Native Crash问题如何分析定位?**](https://github.com/Moosphan/Android-Daily-Interview/issues/88) - **第 79 期**:[**简述一下Android 8.0、9.0 分别增加了哪些新特性?**](https://github.com/Moosphan/Android-Daily-Interview/issues/87) - **第 78 期**:[**谈一谈单例模式,建造者模式,工厂模式的使用场景?如何合理选择?**](https://github.com/Moosphan/Android-Daily-Interview/issues/86) - **第 77 期**:[**谈谈你是如何优化App启动过程的?**](https://github.com/Moosphan/Android-Daily-Interview/issues/85) - **第 76 期**:[**JVM、Dalvik、ART三者的原理和区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/84) - **第 75 期**:[**谈谈ThreadLocal用法和原理?**](https://github.com/Moosphan/Android-Daily-Interview/issues/83) - **第 74 期**:[**Java 中 IO 流分为几种?BIO,NIO,AIO 有什么区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/82) - **第 73 期**:[**什么是代理模式?如何使用?Android源码中的代理模式?**](https://github.com/Moosphan/Android-Daily-Interview/issues/81) - **第 72 期**:[**谈谈怎么给 Apk 瘦身?**](https://github.com/Moosphan/Android-Daily-Interview/issues/80) - **第 71 期**:[**简要说说 LruCache 的原理?**](https://github.com/Moosphan/Android-Daily-Interview/issues/79) - **第 70 期**:[**说一说https,udp,socket区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/78) - **第 69 期**:[**谈谈如何重写equals()方法?为什么还要重写hashCode()?**](https://github.com/Moosphan/Android-Daily-Interview/issues/77) - **第 68 期**:[**Kotlin 中注解 @JvmOverloads 的作用?**](https://github.com/Moosphan/Android-Daily-Interview/issues/76) - **第 67 期**:[**Java 中深拷贝与浅拷贝的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/75) - **第 66 期**:[**谈谈对于ConcurrentHashMap的理解?**](https://github.com/Moosphan/Android-Daily-Interview/issues/74) - **第 65 期**:[**简述下热修复的原理?**](https://github.com/Moosphan/Android-Daily-Interview/issues/73) - **第 64 期**:[**说说项目中用到的设计模式和使用场景?**](https://github.com/Moosphan/Android-Daily-Interview/issues/72) - **第 63 期**:[**请简述 Http 与 Https 的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/71) - **第 62 期**:[**Android 中的图片优化方案?**](https://github.com/Moosphan/Android-Daily-Interview/issues/70) - **第 61 期**:[**请谈谈 Thread 中 run() 与 start() 的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/69) - **第 60 期**:[**谈谈 Error 和 Exception 的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/68) - **第 59 期**:[**请简述一下什么是 Kotlin?它有哪些特性?**](https://github.com/Moosphan/Android-Daily-Interview/issues/67) - **第 58 期**:[**Java 中使用多线程的方式有哪些?**](https://github.com/Moosphan/Android-Daily-Interview/issues/66) - **第 57 期**:[**什么是反射机制?反射机制的应用场景有哪些?**](https://github.com/Moosphan/Android-Daily-Interview/issues/65) - **第 56 期**:[**谈一谈ArrayList的扩容?**](https://github.com/Moosphan/Android-Daily-Interview/issues/64) - **第 55 期**:[**谈谈线程阻塞的原因?**](https://github.com/Moosphan/Android-Daily-Interview/issues/63) - **第 54 期**:[**什么是 RemoteViews?使用场景有哪些?**](https://github.com/Moosphan/Android-Daily-Interview/issues/62) - **第 53 期**:[**分别讲讲 final、static 和 synchronized 可以修饰什么,以及修饰后的作用?**](https://github.com/Moosphan/Android-Daily-Interview/issues/61) - **第 52 期**:[**请用 Java 实现一个简单的单链表?**](https://github.com/Moosphan/Android-Daily-Interview/issues/59) - **第 51 期**:[**谈谈你对Android性能优化方面的了解?**](https://github.com/Moosphan/Android-Daily-Interview/issues/58) - **第 50 期**:[**分别介绍下你所知道Android的几种存储方式?**](https://github.com/Moosphan/Android-Daily-Interview/issues/57) - **第 49 期**:[**什么是冒泡排序?如何优化?**](https://github.com/Moosphan/Android-Daily-Interview/issues/56) - **第 48 期**:[**说一下 synchronized 和 volatile 关键字的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/55) - **第 47 期**:[**谈谈ArrayMap和HashMap的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/54) - **第 46 期**:[**谈一谈startService和bindService的区别,生命周期以及使用场景?**](https://github.com/Moosphan/Android-Daily-Interview/issues/53) - **第 45 期**:[**“equals”与“==”、“hashCode”的区别和使用场景?**](https://github.com/Moosphan/Android-Daily-Interview/issues/51) - **第 44 期**:[**请列出几种常见的工厂模式并说明它们的用法?**](https://github.com/Moosphan/Android-Daily-Interview/issues/50) - **第 43 期**:[**谈谈你对 Activity.runOnUiThread 的理解?**](https://github.com/Moosphan/Android-Daily-Interview/issues/49) - **第 42 期**:[**谈一谈自定义LayoutManager的流程?**](https://github.com/Moosphan/Android-Daily-Interview/issues/47) - **第 41 期**:[**谈一谈JAVA垃圾回收机制?**](https://github.com/Moosphan/Android-Daily-Interview/issues/46) - **第 40 期**:[**请简述 LinkedHashMap 的工作原理和使用方式?**](https://github.com/Moosphan/Android-Daily-Interview/issues/45) - **第 39 期**:[**简述JVM中类的加载机制与加载过程?**](https://github.com/Moosphan/Android-Daily-Interview/issues/44) - **第 38 期**:[**谈谈线程死锁,如何有效的避免线程死锁?**](https://github.com/Moosphan/Android-Daily-Interview/issues/43) - **第 37 期**:[**谈谈如何优化ListView?**](https://github.com/Moosphan/Android-Daily-Interview/issues/42) - **第 36 期**:[**谈谈自定义View的流程?**](https://github.com/Moosphan/Android-Daily-Interview/issues/41) - **第 35 期**:[**请说一下HashMap与HashTable的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/39) - **第 34 期**:[**针对RecyclerView你做了哪些优化?**](https://github.com/Moosphan/Android-Daily-Interview/issues/38) - **第 33 期**:[**HandlerThread 的使用场景和用法?**](https://github.com/Moosphan/Android-Daily-Interview/issues/37) - **第 32 期**:[**谈谈 ArrayList 和 LinkedList 的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/36) - **第 31 期**:[**谈谈 Android 的事件分发机制?**](https://github.com/Moosphan/Android-Daily-Interview/issues/35) - **第 30 期**:[**请谈谈你对 MVC 和 MVP 的理解?**](https://github.com/Moosphan/Android-Daily-Interview/issues/33) - **第 29 期**:[**请简述一下 Android 7.0 的新特性?**](https://github.com/Moosphan/Android-Daily-Interview/issues/31) - **第 28 期**:[**LinearLayout, FrameLayout, RelativeLayout哪个效率高, 为什么?**](https://github.com/Moosphan/Android-Daily-Interview/issues/30) - **第 27 期**:[**对于面向对象的六大基本原则了解多少?**](https://github.com/Moosphan/Android-Daily-Interview/issues/29) - **第 26 期**:[**AsyncTask的优点和缺点?**](https://github.com/Moosphan/Android-Daily-Interview/issues/28) - **第 25 期**:[**回答一下什么是强、软、弱、虚引用以及它们之间的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/27) - **第 24 期**:[**IntentFilter是什么?有哪些使用场景?**](https://github.com/Moosphan/Android-Daily-Interview/issues/26) - **第 23 期**:[**IntentService 的应用场景和使用姿势?**](https://github.com/Moosphan/Android-Daily-Interview/issues/25) - **第 22 期**:[**请简述从点击图标开始app的启动流程?**](https://github.com/Moosphan/Android-Daily-Interview/issues/24) - **第 21 期**:[**请简述一下String、StringBuffer和StringBuilder三者的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/22) - **第 20 期**:[**请回答一下Android进程间的通信方式?**](https://github.com/Moosphan/Android-Daily-Interview/issues/21) - **第 19 期**:[**Serializable和Parcelable的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/19) - **第 18 期**:[**谈谈 Android 中内存优化的方式?**](https://github.com/Moosphan/Android-Daily-Interview/issues/18) - **第 17 期**:[**简述一下 Android 中 UI 的刷新机制?**](https://github.com/Moosphan/Android-Daily-Interview/issues/17) - **第 16 期**:[**HashMap 的实现原理?**](https://github.com/Moosphan/Android-Daily-Interview/issues/16) - **第 15 期**:[**SharedPreferences 是线程安全的吗?它的 commit 和 apply 方法有什么区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/15) - **第 14 期**:[**对于 Context,你了解多少?**](https://github.com/Moosphan/Android-Daily-Interview/issues/14) - **第 13 期**:[**Window和DecorView是什么?DecorView又是如何和Window建立联系的?**](https://github.com/Moosphan/Android-Daily-Interview/issues/13) - **第 12 期**:[**请简要谈一谈单例模式?**](https://github.com/Moosphan/Android-Daily-Interview/issues/12) - **第 11 期**:[**BroadcastReceiver 与 LocalBroadcastReceiver 有什么区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/11) - **第 10 期**:[**抽象类与接口的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/10) - **第 09 期**:[**谈谈 Handler 机制和原理?**](https://github.com/Moosphan/Android-Daily-Interview/issues/9) - **第 08 期**:[**ANR 出现的场景以及解决方案?**](https://github.com/Moosphan/Android-Daily-Interview/issues/8) - **第 07 期**:[**Android 补间动画和属性动画的区别?**](https://github.com/Moosphan/Android-Daily-Interview/issues/7) - **第 06 期**:[**如何实现多线程中的同步?**](https://github.com/Moosphan/Android-Daily-Interview/issues/6) - **第 05 期**:[**哪些情况下会导致oom问题?**](https://github.com/Moosphan/Android-Daily-Interview/issues/5) - **第 04 期**:[**LaunchMode 的应用场景?**](https://github.com/Moosphan/Android-Daily-Interview/issues/4) - **第 03 期**:[**一般什么情况下会导致内存泄漏问题?**](https://github.com/Moosphan/Android-Daily-Interview/issues/3) - **第 02 期**:[**Activity 与 Fragment 之间常见的几种通信方式?**](https://github.com/Moosphan/Android-Daily-Interview/issues/2) - **第 01 期**:[**自定义 Handler 时如何有效地避免内存泄漏问题?**](https://github.com/Moosphan/Android-Daily-Interview/issues/1) ## Thanks > 感谢 [**玩 Android**](https://www.wanandroid.com) 为广大安卓开发者无私提供一个比较全面的 Android 学习平台,此项目部分灵感亦来源于此。 ## 最后 > 建立这个项目的初衷是想大家每天以**答题打卡**的方式来巩固基础知识和查漏补缺。我相信,如果每天能够坚持打卡,不出一个月定能意识到自己的成长。因此,对于想要和我们一样坚持的同学,欢迎来加群探讨,群号**713463651**,请特别备注:**坚持打卡**。