新的一年开始了,很多朋友应该都急切的找工作、忙着跳槽吧。
不可否认,近两年由于疫情的冲击,经济不景气,各个行业都呈颓势,Android也不例外。
但如今已经春暖花开,Android岗位应该会增多,这又意味着程序员们又会多许多面试机会。
在我看来,有时候选择比能力更重要,俗话说:站在风口上,猪都能起飞。
对于程序员来说,尽早地做好自己的职业规划,确立发展路线,是很有必要的。我认为,同样的实力,善于发现和判断机会的人,永远占据先机。
程序员的发展方向,大致分为三类:
首先抛开管理者不谈,就前两个方向来说,对你的技术水平和工作能力都有一定的要求,首先我们要清楚,技术是根基,其次才是能力偏差。
比如,架构师需要你具备完善和扎实的技术体系,具有一定的修养,具备较好的系统分析和设计能力,具有丰富的开发项目经验;而项目经理,除了技术要过关以外,还应该了解软件开发的的各个环节、了解开发的各种技术和运用、了解开发队伍人员的水平和特点。
1.Retrofit原理
2.okhttp原理
3.线程同步
4.handler
5.协程原理
6.viewModel原理
7.lifecycle原理
8.handler延时原理
9.okhttp复用连接池
1.Android事件分发机制
2.onIntercept返回true的效果
3.dispatchEvent返回true的效果
4.Activity的PhoneWindow层级架构
5.在Activity的onCreate里获取控件的宽高
6.dialog弹窗对activity生命周期的影响
7.startService的方式启动service,service的生命周期执行哪些方法
8.Android 8.0新特性
9.Activity背景透明,强制竖屏,android8.0的问题
10.自定义View和ViewGroup的区别
11.ViewDragHelper的理解
12.Activity的onfinish执行后会立即执行onDestory吗
13.recyclerView如何删除条目
14.recyclerView删除条目不调用notifyItemRangeChanged后果
15.Looper死循环不会导致ANR的原因
16.handler机制
17.handler发送message发送到了哪里
18.handler发生内存泄漏的解决方案
19.Bitmap图片显示为400,实际图片为4000的解决方案
20.Bitmap缩放
21.非静态内部类创建静态实例会不会导致内存泄漏
22.性能优化
23.启动白屏的处理方案
24.kotlin的open关键字
25.kotlin的三元运算符
26.kotlin扩展函数
27.kotlin对象可空的意义
28.如何保证应用的稳定性
29.Retrofit的GET请求传递参数使用哪个注解
30.Retrofit的POST请求传递参数使用哪个注解
31.Retrofit的@url的作用
32.RxJava的ObserveOn和subScribeOn的意义
33.String,StringBuilder,StringBuffer的区别
34.-12.5四舍五入的结果
35.快速选择排序
1.通信协议
2.Kotlin基本数据类型
3.字符串数字转换为数字
4.字符串转为数字原理
5.Android常用的数据结构
6.HashMap原理
7.为什么会有hash冲突
8.为什么HashMap使用红黑树不用二叉树
9.对自定义控件的理解
10.Activity B里面有大数据,耗时且即时的数据请求,用户在Activity A和B之间频繁切换,优化方案有哪些
11.网络请求没有取消为什么会导致内存泄漏
12.Handler机制
13.Looper无限轮询为什么不会卡死
14.Handler的消息什么时候发送到了主线程
15.Looper如何得到对应的线程