安卓系统最新面试题(面试题整理,含答案)

            最近自己再找安卓系统方面的工作,所以安卓系统整体的知识点进行了整理,内容点涉及的比较多。可以选择自己不熟的层来看跟学习,如果小伙伴还有补充或者自己遇到的题,欢迎留言。

系统应用层:

四大组件:

          一. Activity

          二. Service

          三. ContentProvider

          四. BroadCast Receiver

安卓Context:谈谈关于context的理解?

1.定义是什么?。2.能做什么?。3.继承关系,4.实现类时什么?5.问题(OOM)?

Context都没弄明白,还怎么做Android开发? - 简书

Intent:谈谈对intent的理解?

1.intent定义?。2.intent的常用属性?。3.常见应用。

Android组件系列----Intent详解 - 千古壹号 - 博客园

Handler机制:

1.画框架图。2.用在哪里?。3.分析各个类的作用。4.注意项(阻塞,target和when)。

安卓Handler机制:深入理解Looper,Handler,Message,Messge Queue内部原理_不忘初心-CSDN博客

AsyncTask和Handler+Thread机制的区别?

Android中的异步:Handler+Thread 跟AsyncTask 两种方式的区别_Crystal_xing的专栏-CSDN博客

事件传递机制:

1. 主要是三个函数。2.传递流程是什么?

Android事件分发机制面试题 - 青年程序猿 - 博客园

https://blog.csdn.net/kai_zone/article/details/80141949

Android 多线程-----AsyncTask详解:

1.作用是什么?。2.内部原理是什么(Handler+Thread)?3.怎么使用(三个泛型,四个步骤)

Android 多线程-----AsyncTask详解_不忘初心-CSDN博客

单例模式 :手写单例模式。

Java单例模式——并非看起来那么简单_viclee-CSDN博客_java单例模式是什么意思

安卓任务栈Task:

Activity的任务栈Task以及启动模式与Intent的Flag详解 - 简书

ANR产生的原因及定位分析:

掘金

Android 耗时代码(ANR)的查找检测和分析解决 TraceView的使用手册_alcoholdi的专栏-CSDN博客

 内存泄漏及解决办法 :

1.定义是什么?2.常见发生情况有哪些?3.怎么避免?

Android开发中常见的内存泄漏情况和解决办法_da_caoyuan的博客-CSDN博客

Dalvik虚拟机相关问题:

1.什么是虚拟机?2.跟java虚拟机的区别?3.art虚拟机的优缺点?

JAVA虚拟机、Dalvik虚拟机和ART虚拟机简要对照 - lxjshuju - 博客园

反射:

1.class对象时什么?2.class三种获取方式。3.反射的使用步骤。

Android反射机制:手把手教你实现反射_不忘初心-CSDN博客_android 反射

JNI/NDK:

1.JNI定义?。2.安卓所用到的场景?3. 使用方法及流程?

Android JNI:深入分析安卓JNI原理_不忘初心-CSDN博客_android jni原理

JNI分别有几种注册方式?有什么不同?

两种注册方式:JNI代码两种注册编写方式_张小强的专栏-CSDN博客_jni注册方式

    java虚拟机在运行包含本地方法的java应用程序时,要经过两个步骤:

    1. 调用System.loadLibrary()方法,将包含本地方法具体实现的C/C++运行库加载到内存中,

    2. Java虚拟机检索加载进来的库函数符号,在其中查找与java本地方法拥有相同签名的JNI本地函数符号。如找到一致的,则将java本地方法映射到具体的JNI本地方法

    Java虚拟机在将本地方法与C运行库中的JNI本地函数映射到一起的时候,不会耗费很长时间,但Android framework这类复杂的系统下,拥有大量的包含本地方法的java类,

java虚拟机加载相应的运行库,再逐一检索,将各个本地方法与相应的函数映射起来,这显然会增加运行时间,降低运行效率。

为了解决这一问题,JNI机制提供了名称为RegisterNatives()的JNI函数,该函数允许C/C++开发者将JNI本地函数与Java类的本地方法直接映射起来。

当不调用RegisterNatives函数时,Java虚拟机会自动检索并将JNI本地函数与相应的Java本地方法链接在一起。

但当开发者直接调用RegisterNatives()函数进行映射时,Java虚拟机就不必进行映射处理了,这会极大的提高运行效率。

由于程序员直接将JNI本地函数与Java本地方法链接在一起,在加载运行库时,Java虚拟机不必为了识别JNI本地函数的名称与JNI支持的命名规则进行对比,即任何名称的函数都能直接链接到java本地方法。

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

安卓系统层:

Android系统架构与系统源码目录(Windous安卓源码下载):

Android系统架构与系统源码目录_BATcoder - 刘望舒-CSDN博客

不一样的Android体系架构_不忘初心-CSDN博客

安卓整个系统启动流程:

Android启动流程:上电到启动第一个APP的详细流程,_不忘初心-CSDN博客_android 启动

init启动流程:

安卓init:Android7.0系统Init原理(一)_不忘初心-CSDN博客

Zygote启动流程:

安卓Zygote:深入理解Zygote(android6.0)_不忘初心-CSDN博客_androidzygote

ServiceManager启动流程:

安卓ServiceManager启动:彻底理解ServiceManager启动流程,这一篇就够了_不忘初心-CSDN博客

SystemServer启动流程:

Android源码解析之(九)-->SystemServer进程启动流程_一片枫叶的专栏-CSDN博客

Android系统启动-SystemServer上篇_不忘初心-CSDN博客

ActivitiManagerService启动流程:

ActivityManagerService启动流程_不忘初心-CSDN博客

ActivitiManagerService框架:

https://www.jianshu.com/p/194a37755fea

如何添加硬件服务:

安卓硬件服务实例:手把手教你如何从驱动到应用添加硬件服务_不忘初心-CSDN博客

Binder系统原理:

写给 Android 应用工程师的 Binder 原理剖析 - BaronZhang - 博客园 (图显示有问题) (链接 2

Android Binder通信一次拷贝你真的理解了吗?_IT先森-CSDN博客

这所谓的“一次拷贝”到底是发生在什么地方? 

答:这所谓的“一次拷贝”发生在请求端进程向Binder接收端进程发送数据的请求端的内核层空间中。

startActivity流程:

安卓startActivity:彻底理解startActivity的启动过程这一篇就够了_不忘初心-CSDN博客_android startactivity

startService流程:

安卓startService:让你彻底理解startService过程_不忘初心-CSDN博客_startservice

安卓进程创建流程:

https://www.jianshu.com/p/b6ac0c2fa240

深入理解安卓进程创建流程_不忘初心-CSDN博客

本地服务框架个java服务框架:

《安卓框架揭秘》

安卓Android.mk语法解析?

Android.mk 文件语法详解 - 阿波伦 - 博客园

安卓几种通信的方式?大数据用什么方法?

1. AIDL 2. 广播 3. 共享文件 4. Socket 5. 内容提供者 6.handler

Android应用层使用共享内存机制进行进程间交换数据_haohaoxuexi2014的博客-CSDN博客_android 进程间共享内存

android 两个应用之间的通信与调用_Shawn_Dut的专栏-CSDN博客_android两个应用之间的通信

Android5.0 到9.0系统版本的改变:

Android从5.0到9.0版本的主要变更 - 简书

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

语言篇:

java篇:

Android(2017-2018)BAT面试题整理(java篇,含答案)

C++面试题:

C++经典面试题(最全,面中率最高) - fcyh - 博客园

C++面试集锦( 面试被问到的问题 ) - Y1 - 博客园

其他重要知识点:

C++重点知识总结_不忘初心-CSDN博客

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

Android APP篇:

Android(2017-2018)BAT面试题整理(Android篇,含答案)

Android知识体系总结2020(全方面覆盖Android知识结构,面试&进阶)_编程语言是方式,而思维是创造。-CSDN博客_android知识体系

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

驱动篇:

linux驱动最新面试题(面试题整理,含答案)_不忘初心-CSDN博客_linux驱动面试题

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

研发岗位需求:base 杭州、武汉、上海。双击查看

 

  • 16
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kevin@1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值