Android面试题:助还在迷茫找到面试的方向

前言

  • 阐述一下 Activity 的生命周期
  • 谈谈 Android 的四大组件
  • Service 与 IntentService 的区别
  • Android 应用中如何保存数据
  • 如何在 Android 应用中执行耗时操作
  • 两个 Fragment 之间如何通信
  • Activity 之间如何通信,Activity 与 Service 之间如何通信
  • 两个不同的 app 之间如何交互
  • 什么是 Fragment
  • 为什么建议只使用默认的构造方法来创建 Fragment
  • 为什么 Bundle 被用来传递数据,为什么不能使用简单的 Map 数据结构
  • 阐述一下 Fragment 的生命周期
  • 解释下 Android 的 View
  • Activity、Window、View 关系
  • 你能创建自定义 View 吗?具体是如何创建的?工作原理
  • 什么是 ViewGroup ,它与 View 的区别在哪里
  • Fragment 和 Activity 有什么区别?它们之间又有什么关系
  • 谈谈 Serializable 接口和 Parcelable 接口的区别。在 Android 中最好使用哪种接口
  • Activity 的启动模式有哪些
  • Activity 启动模式的应用场景
  • 解释一下 Android 中的 Intent
  • 什么是隐式 Intent
  • 什么是显式 Intent
  • 解释一下 AsyncTask
  • AsyncTask 的原理
  • 如何理解 Android 中的广播
  • 如何理解 Android 的 LocalBroadcastManager
  • 广播和 EventBus 的区别
  • 什么是 JobScheduler
  • 什么是 DDMS ?你可以用它来做什么
  • 解释一下什么是 support libary ,以及为什么要引入 support library
  • 如何理解 Android 中的 ContentProvider 。它通常用来干什么
  • Android 的核心组件具体都有什么
  • 什么是 ADB
  • 什么是 ANR ?如何避免发生 ANR
  • AndroidManifest.xml 是什么
  • 解释一下 broadcast 和 intent 在 app 内传递消息的工作流程
  • Bitmap 如何优化,三级缓存的思想与逻辑
  • Android 应用有哪些不同的存储数据的方式
  • 什么是 Dalvik 虚拟机
  • Dalvik 虚拟机模式和 ART(Android Runtime)虚拟机模式的区别
  • AsyncTask 的生命周期和(它所属的) Activity 的生命周期有什么关系?这种关系可能会导致什么样的问题? 如何避免这些问题发生
  • Intent filter 是用来做什么的
  • 什么是 Sticky Intent
  • 什么是 AIDL ?列举一下通过 AIDL 创建被绑定的服务(bounded service)的步骤
  • Android 的权限有多少个不同的保护等级
  • 在转屏时你如何保存 Activity 的状态?
  • 常用布局有几种,区别
  • 如何实现 XML 命名空间
  • View.GONE 和 View.INVISIBLE 之间的区别
  • Bitmap 和 .9(nine-patch)图片之间有什么区别
  • 谈谈位图池
  • 内存泄漏是什么,如何发现,为什么引起,如何解决
  • Android 桌面的小部件是什么
  • 什么是 AAPT
  • 你如何排查应用崩溃的原因
  • 为什么你应该避免在主线程上运行非用户界面相关的代码
  • 你是如何做应用适配的
  • px、dp、sp、ppi、dpi 有什么区别,如何换算,给出公式
  • 如何理解 Doze 模式。如何理解应用程序待机模式(App Standby)
  • 在 Android 中,你可以使用什么来进行后台操作?
  • 什么是 ORM ?它是如何工作的
  • 什么是 Loader
  • 什么是 NDK ,为什么它是有用的
  • 如何理解严格模式(StrictMode)
  • 什么是 Lint ?它的用途是什么
  • 什么是 SurfaceView
  • ListView 和 RecyclerView 有什么区别
  • 什么是 ViewHolder 模式?为什么我们应该使用它
  • ListView 如何优化
  • 什么是 PendingIntent
  • 你能手动调用垃圾回收吗
  • 周期地更新页面的最好方式是什么
  • 有哪些类型的广播
  • 如何理解上下文(Context)。怎么使用它
  • 你知道什么是视图树(View Tree)吗?怎样优化它的深度
  • onTrimMemory() 方法是什么
  • Android 应用可以使用多进程吗?怎样使用
  • 内存溢出(OutOfMemory)是怎么发生的
  • 文本样式接口(Spannable)是什么
  • 什么是过度绘制(overdraw)
  • FlatBuffers 和 JSON 的区别
  • 阐述一下 Android 中的 HashMap , ArrayMap 和 SparseArray
  • 阐述一下 Looper, Handler 和 HandlerThread
  • Handler 的作用
  • Handler 是什么,原理,使用方法
  • Handler 和 AsyncTask 的关系
  • 谈谈对 RxJava 的理解
  • LayoutInflater 的 inflate 方法的几个参数分别代表什么
  • Maven 和 Gradle 的区别
  • OkHttp、Retrofit 的区别
  • 如何做性能优化
  • MVC、MVP、MVVM 区别
  • 介绍 Android 的内存管理机制
  • 创建线程的几种方式,优缺点?
  • Layout_gravity 和 gravity 区别,paddingLeft 和 Layout_marginLeft 区别
  • 动画的种类有什么,有啥区别
  • 介绍下 Android 中的 IPC 机制
  • 介绍下 AIDL 的原理

***********************************************************

#面试##面试题##Android##Android面试#
全部评论
这么多题目啊,压力瞬间就大了
点赞 回复 分享
发布于 2022-08-13 20:55

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务