从网友的观点来看,大多数人还是不赞成裸辞的,尤其是深圳这样的一线城市,而且大厂履历是让你轻松拿到面试用的,面试水平和你履历没啥关系了。
大厂背书有没有用?
**大厂镀金有没有用?**不能说一点用都没有,毕竟工作背景就像学历背景一样,都是一个人过去能力的体现。在不了解一个人的时候,人们会习惯性地看他的背景。但如果因此就认为背景可以决定一切,那就大错特错了。
镀金再怎么闪亮,也只是在表面镀了一层金而已,真正能够让人通过面试、获得岗位的是里面的内容。如果闪亮的镀金下是一层生锈的铜,相信哪家公司也不会要你。而反过来,假如是一块表面黯淡的真金,即使刚开始可能会因为表面不美观而被放弃,但是金子总会发光的,只要深入接触,就会发现其金光闪闪的内核。
归根结底,实力是硬道理。那些以为有大厂背书就能所向披靡的人该醒醒了,最终决定你能不能通过面试、胜任工作的是你自身。如果想跳槽的话,还是早点从曾经的功劳簿上下来,老老实实提升自己的能力,让自己成为一块货真价实的真金,这才是正道。
怎么样才能进大厂?
①首先要让自己成为一个「优秀」的程序员。
那么,真正优秀的Android程序员是什么样的呢?
在我看来,至少得满足以下条件,才能够算得上「优秀」:
-
对于Android的基础知识足够牢靠
-
对于Android相关的知识面足够广
-
对于Android相关底层设计、概念至少有过了解
-
对于「软件设计」有自己的想法和方法论
-
对于「编程」具有良好的习惯
-
易于交往,不是团队气氛破坏者
看上去似乎没那么难?似乎JD里面都会这么写不是吗?但是你又做到了多少呢?每个人都可以这么问问自己。
以上列举的一些条件真的是必要条件,如果这些标准都达不到,那我觉得还是尽量别着急跳槽,好好在原来的公司呆着好好修炼一下自己再说吧。
②在工作中持续积累
重视重构代码,学会把自己的代码当作一个“工艺品”,而不是”交付物”,对于“工艺品”,自然是要求精益求精,有时间就要反复打磨,在不耽误上线时间的情况下,可以积极地做局部重构。
重视写文档的能力,项目中的沟通纪要、会议纪要、周报、工作总结、需求文档、设计文档、项目总结文档等无不需要大量实践训练,做到积极思考、勇于表达自己的意见。
学会阅读开源代码,培养自己读源码的能力, 优秀的源码中有着多年积淀下来的精华,即使对于一个编程新手,培养阅读源码的习惯 , 能力都会有所提升,小到对源码所提供的功能使用更加熟练,大到会使我们的程序设计更加完美。
当阅读了一定的源代码之后,就会从量变到质变,从模仿到超越,这样你也可以优雅的写出经典的代码,这也是为什么大厂的面试喜欢问源码的原因之一。
重视工作中的好习惯,努力把平时做的事情做到极致,别人做到80分,那你就去做到90分甚至100分,遇到一个典型的问题,别人解决就结束了,你可以做到刨根问底弄清楚原理。
重视学习方法,最简单粗暴的解决方法方式就是“做笔记”,好记性不如烂笔头,把没看懂的地方先做个标记,然后反复研究,直到弄懂为止,把历史经验沉淀下来,会让你的工作效率越来越高,还可以在博客上把它们整理归纳,通过分享输出这个过程,你会体验的更深、思考的更深。
以上这些方式对于总结经验、技术能力提高都非常有帮助,毕竟,工作经验和工作能力的积累是进大厂的核心,让别人认识你的同时还能帮助到别人,可为一举多得,也是日后跳槽的一个好方法。
那么,身为一个Android程序员,想要进大厂,需要掌握的核心技术栈是什么呢?
③进大厂需要掌握的核心技术栈
这里,我列出了6个部分,每个部分都对应Android开发者需要掌握技术点,并加以PDF总结,希望能帮到想要进入大厂的朋友或者正在面试大厂的朋友做一个技术上的储备;
1、 Java基础部分
-
Java序列化
-
Java泛型
-
Java反射
-
Java并发原理
-
线程与多线程
-
线程通信
-
线程池
-
JVM底层源码
-
GC垃圾回收器
-
类加载器
-
内部类
-
接口
-
Hashmap底层框架
-
Hashmap底层源码
-
Arraylist源码分析
2、 Android基础部分
-
Activity启动流程
-
Activity启动模式
-
Activity启动周期
-
Fragment生命周期
-
Fragment通信
-
Service启动模式
-
Service生命周期
-
View事件滑动
-
View事件分发
-
自定义View
-
进程的生命周期
-
多进程
-
进程存活
-
进程保活方案
-
Bitmap配置
-
Bitmap常用操作
-
BitmapFactory
-
Handler原理
-
Looper
-
AsyncTask
-
线程池
-
RecyclerView优化方案
-
内存泄漏
3、 Android进阶部分
-
预(AOT)编译
-
Apk打包流程
-
Apk整体优化
-
Apk代码优化
-
Hook流程
-
MVC、MVP、MVVM
-
Jetpack-Data Binding组件原理
-
Jetpack-ViewModel & LiveData组件原理
-
Jetpack-ViewModel & LiveData工作流程
-
JIN
-
NDK开发的基本流程
-
类加载器
-
framework通信原理
-
Binder通信原理
-
handler通信原理
-
zygote通信原理
-
init通信原理
-
AMS/PMS/WMS
-
RXJava
4、 Android性能优化部分
-
启动优化
-
UI渲染优化
-
崩溃优化
-
内存优化
-
卡顿优化
-
存储优化
-
网络优化
-
耗电优化
-
多线程并发优化
-
安装包优化
5、 Android 开源库源码部分
- LeakCanary
最后
文章不易,如果大家喜欢这篇文章,或者对你有帮助希望大家多多点赞转发关注哦。文章会持续更新的。绝对干货!!!
由于文章篇幅问题 查看详细文章以及获取学习笔记链接:GitHub
- Android进阶学习全套手册
关于实战,我想每一个做开发的都有话要说,对于小白而言,缺乏实战经验是通病,那么除了在实际工作过程当中,我们如何去更了解实战方面的内容呢?实际上,我们很有必要去看一些实战相关的电子书。目前,我手头上整理到的电子书还算比较全面,HTTP、自定义view、c++、MVP、Android源码设计模式、Android开发艺术探索、Java并发编程的艺术、Android基于Glide的二次封装、Android内存优化——常见内存泄露及优化方案、.Java编程思想 (第4版)等高级技术都囊括其中。
-
Android高级架构师进阶知识体系图
关于视频这块,我也是自己搜集了一些,都按照Android学习路线做了一个分类。按照Android学习路线一共有八个模块,其中视频都有对应,就是为了帮助大家系统的学习。接下来看一下导图和对应系统视频吧!!!
-
Android对标阿里P7学习视频
-
BATJ大厂Android高频面试题
这个题库内容是比较多的,除了一些流行的热门技术面试题,如Kotlin,数据库,Java虚拟机面试题,数组,Framework ,混合跨平台开发,等
ndroid学习路线做了一个分类。按照Android学习路线一共有八个模块,其中视频都有对应,就是为了帮助大家系统的学习。接下来看一下导图和对应系统视频吧!!!
[外链图片转存中…(img-IereMku7-1646475050315)] -
Android对标阿里P7学习视频
[外链图片转存中…(img-w32hMc9Z-1646475050316)]
- BATJ大厂Android高频面试题
这个题库内容是比较多的,除了一些流行的热门技术面试题,如Kotlin,数据库,Java虚拟机面试题,数组,Framework ,混合跨平台开发,等