最近我在接受采访时被问到我关于成为一名伟大的程序员见解。这是一个有趣的问题,我认为我们都可以是伟大的程序员,无论我们的天赋如何,如果我们遵循一些规则的话——我相信——这应该是常识。实际上,这些规则并不只适用于编程领域,也适合任何专业。
当然,这些要点中的所有内容并不都是完全正儿八经的,有些事情只是我的看法,你的情况可能会有所不同,所以如果出现矛盾的话,不要耿耿于怀。
面试大纲
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工程师而言,想要提升技能,往往是自己摸索成长。而不成体系的学习效果低效漫长且无助。时间久了,付出巨大的时间成本和努力,没有看到应有的效果,会气馁是再正常不过的。
所以学习一定要找到最适合自己的方式,有一个思路方法,不然不止浪费时间,更可能把未来发展都一起耽误了。
如果你是卡在缺少学习资源的瓶颈上,那么刚刚好我能帮到你。以上知识笔记全部免费分享,如有需要获取知识笔记的朋友,可以点击我的腾讯文档免费领取。
部免费分享,如有需要获取知识笔记的朋友,可以点击我的腾讯文档免费领取。