Android程序员如何通过跳槽薪资翻倍?
马爸爸总结了一句话:跳槽,要么是钱不到位,要么是受了委屈。
我给自己这次的跳槽经历做了一个分析,希望能对那些想换工作的朋友有所帮助。
许多朋友想换工作,但是对“换工作”的理解可能仅限于写简历、投简历、面试。在跳槽之前,我也是这么想的。
当时,工作并不顺利,我的专业技能并没有很好的发挥,公司也给不了什么发展前景,就有了跳槽的打算。
我看到一家行业内还不错的上市公司在招聘这个岗位,于是我发了简历。面试后我感觉很好,但我拒绝了,因为工资没有达到预期。
经过仔细思考,我发现我准备得太匆忙了,或者根本没有准备好。粗糙地写了一份简历,面试前也没有充分的准备,就去了那里。在面试中,项目的一些细节无法得到回答,许多知识点也没有很好的回答,这可能让面试官感觉处于普通水平。
在接下来的几个月里,我开始查阅各种跳槽和面试相关的资料,同时按计划组织重点、整理学习路径,逐步复习。
在开始复习知识点前,要确认以下 2 点:
定位
“定位” 是指你要确定自己所处的阶段和想要达到的水平。主要包括:
-
目前是什么水平
-
有什么项目积累
-
工作项目里有什么难点
-
想找什么级别的工作
-
薪资
比如我,给自己的定位就是:现在是中级水平,常见应用开发需求基本都能解决,开源框架使用没问题,部分读了源码,工作项目里主要是混合开发比较复杂,想找有利于自己成长的、大公司中高级安卓开发工作。
亮点
有的朋友可能对 “亮点” 的定义不是很明白。“亮点” 其实就是能够把你和众多应聘者区分出来的优秀品质。
程序员面试主要考察这几点:
-
技能水平
-
学习能力
-
团队合作
-
工作心态等
如果你在其中任何一个方面都有自己的优势,就赶紧找出来,写到简历上,面试表达出来。
拿技能水平来说,根据做过项目的类型,确定自己当前擅长的点,比如你做的是电商应用,那可能就擅长混合开发、自定义 View;做的是大用户量应用,那可能就擅长监控、性能优化等等。
找到自己已有的或者该有的亮点,然后去努力掌握、精通。
知识点整理
一、架构师必备Java基础
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
二、设计思想解读开源框架
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计
三、360°全方位性能调优
1、设计思想与代码质量优化
2、程序性能优化
启动速度与执行效率优化
布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK大小优化
3、开发效率优化
分布式版本控制系统Git
自动化构建系统Gradle
四、Android框架体系架构
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析
五、NDK模块开发(音视频系列)
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习
六、Flutter学习进阶
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门
七、微信小程序开发
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战
掌握了知识点后,接下来就要针对各公司侧重内容重点复习了。
各大公司面试考察的知识点,网上相关的资料不少,我平时也在关注一些面经,看看里面有什么是自己欠缺的,然后找时间补上。
首先不同岗位的知识点不同,大家都知道,安卓开发有应用开发、音视频开发、底层开发、SDK 开发等等,如果去应聘音视频开发,那就要掌握 NDK 编解码之类的。由于我从事的是应用开发,所以这里的知识点主要针对应用开发的同学。
我们在面试不同公司时,一定要根据 JD 了解重点招聘要求,最好再了解到招聘岗位对应的项目情况,针对性地多多复习。