你所不知道的Android原生开发的现状,HR的话扎心了
作者:互联网
# Android高级知识点
# 一、Android性能优化
1.描述一下android的系统架构?
2.Android线程间通信有哪几种方式
3\. 如何避免OOM异常
4.Android程序运行时权限与文件系统权限的区别?
5.Hybrid 通信原理是什么,有做研究吗?
6.Framework工作方式及原理,Activity是如何生成一个view的,机制是什么
7.ANR是什么?怎样避免和解决ANR
8.Devik进程,linux进程,线程的区别
9.卡顿 {如何检测卡顿,卡顿原理是什么,怎么判断页面响应卡顿还是逻辑处理造成的卡顿} ,BlockCanary 的原理
# 二、Android热修复、插件化、组件化
1.谈谈对 ClassLoader 的理解
2.自定义 ClassLoader
3.插件化为什么会出现,如何代码加载,资源加载,代理 Hook)
4.如何从一个老项目一步步实现组件化,主要问思路,考察架构能力和思考能力。(需要考虑很多,每一步做什么,顺序很重要)
5.组件化和模块化的理解与区别?
6.class文件加载Dex原理
7.Gradle自动补丁包生成原理
# 三、Android Framework、 ROM定制、Ubuntu、Linux之类的问题
1.Binder 机制(IPC、AIDL 的使用)
2.Activity 启动流程,App 启动流程
3.Android 图像显示相关流程,Vsync 信号等
4.为什么使用 Parcelable,好处是什么
5.AMS 、PMS
6.类加载机制
7.Ubuntu编译安卓系统
8.对Dalvik、ART虚拟机有什么了解?
9.JVM内存区域,开线程影响哪块内存
# 四、架构设计和设计模式
1.MVC MVP MVVM原理和区别
2.项目中常用的设计模式
3.说说EventBus作用,实现方式,代替EventBus的方式
4.Fragment如果在Adapter中使用应该如何解耦?
5.实现一个Json解析器(可以通过正则提高速度)
6.从0设计一款App整体架构,如何去做?
7.Fragment如果在Adapter中使用应该如何解耦?
8.谈谈你对Android设计模式的理解
# 五、算法
1.手写一个冒泡排序
2.快速排序的过程、时间复杂度、空间复杂度
3.蚁群算法与蒙特卡洛算法
4.两个不重复的数组集合中,求共同的元素。
5.2000万个整数,找出第五十大的数字?
6.求1000以内的水仙花数以及40亿以内的水仙花数
7.写出你所知道的排序算法及时空复杂度,稳定性
8.二叉树给出根节点和目标节点,找出从根节点到目标节点的路径
# 六、网络和安全机制
1.TCP的3次握手和四次挥手
2.HTTP与HTTPS的区别以及如何实现安全性
3.App 是如何沙箱化,为什么要这么做?
4.谈谈你对WebSocket的理解
5.请解释安卓为啥要加签名机制?
6.HTTP1.0与2.0的区别
7.视频加密传输
8.https中哪里用了对称加密,哪里用了非对称加密,对加密算法(如RSA)等是否有了解?
# 七、Flutter相关
1.Flutter 中的生命周期
2.Widget 和 element 和 RenderObject 之间的关系?
3.Flutter中的Widget、State、Context 的核心概念?是为了解决什么问题?
4.State 对象的初始化流程?
5.讲一下flutter的几个特点/优缺点
6.Flutter 如何与 Android iOS 通信?
7.说一下什么是状态管理,为什么需要它?
8.说一下 BLoC 模式?
### 尾声
最后,我再重复一次,如果你想成为一个优秀的 Android 开发人员,请集中精力,对基础和重要的事情做深度研究。
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家梳理了多年的架构经验,筹备近6个月最新录制的,相信这份视频能给你带来不一样的启发、收获。
![](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625442993959581.jpg)
##### Android进阶学习资料库
一共十个专题,包括了Android进阶所有学习资料,Android进阶视频,Flutter,java基础,kotlin,NDK模块,计算机网络,数据结构与算法,微信小程序,面试题解析,framework源码!
![](http://www.icode9.com/i/li/?n=2&i=images/20210705/1625442994531466.jpg)
* ##### 自行下载直达领取链接:[点击这里前往GitHub](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)
标签:架构,HR,BC%,扎心,如何,Android,Flutter,卡顿 来源: https://blog.51cto.com/u_15291414/2975088