1、APP稳定性优化
1.做过哪些稳定性方面的优化?
2.性能稳定性是怎么做的?
3.业务稳定性如何保障?
4.如果出现异常,怎样快速止损?
2、APP启动速度优化
1.启动优化原理是什么?
2.是怎么异步的,异步遇到过什么问题吗?
3.启动优化有哪些容易被忽略的地方?
4.版本迭代导致的启动变慢有好的解决方式吗?
面试大纲
1.java基础、面向对象、集合、线程使用;
2.Android 机型适配、SDK适配、内存优化、内存溢出、内存泄漏;3.MVC/MVP/MVVM的使用场景;
4.了解并能使用最新流行开源库RXjava+Retrofit+OKHttp、Glide、EventBus等5.JNI及NDK的使用、熟悉Framework。
频繁面试题
1.面向对象(OOP)
2.数据类型
3.equal和==的区别
4.字符串运行速度:StringBuilder、StringBuffer、 String
5.Queue 队列、Stack 栈
6.ListView机制
7.Fragment生命周期
8.四大引用类型
9.线程、进程及其通信方式
10.PackageManagerService
11.binder机制
12.launcher的实现
13.Android 版本特性
14.BroadcastReceiver广播
15.RecycleView
16.各种集合比较SparseArray、HashMap、ArrayMap、LinkedList、ArrayList
17.SQLite升级
18.Bitmap
19.Handler机制
20.性能优化技巧
21.ANR
22.自定义View
23.MVC、MVP、MVVM三种架构设计
24.APP 启动流程
25.插件化
26.Kotlin 多平台应用的静态编程语言
27.Framework 工作原理
28.Android 屏幕适配
29.事件分发机制
30.Android 动画分类:视图,属性,帧,gif
31.Android 进程
32.Android 五大存储方式
33.屏幕旋转Activity生命周期
34.Activity 四大启动模式
35.CPU、GPU工作原理
36.UI卡顿原因
37.Application的生命周期
38.如何避免因引入的开源库导致的安全性和稳定性?
39.简单的音频/视频格式
40.线程同步的方法
41.线程安全的单例
42.Serializable、Parcelelable
43.Service启动方式和生命周期
44.Android 常见布局
45.Http、Https、Volley、OkHttp、RxJava + Retrofit + OkHttp、TCP、UDP
46.如何节省内存使用,主动回收内存?
47.Activity如何生成View?
48.为什么要使用多线程?
49.现场保护
50.内存溢出、内存泄漏
51.JNI和NDK
52.常用的设计模式及其实现思想和作用
53.HashMap、 HashTable、HashSet的异同
54.Android 中内存泄漏原因及优化方案
55.LeakCanary 内存泄漏检查的开源工具
56.多线程、线程池
57.腾讯 Bugly
58.Glide
59.Fresco
60.React
结语
看到这篇文章的人不知道有多少是和我一样的Android程序员。
35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。
我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。
千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。
有了学习的想法就赶快行动起来吧,不要被其他的事情牵绊住了前行的脚步。不要等到裁员时才开始担忧,不要等到面试前一晚才开始紧张,不要等到35岁甚至更晚才开始想起来要学习要进阶。
给大家一份系统的Android学习进阶资料,希望这份资料可以给大家提供帮助。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!