导航菜单
首页 >  高级程序员什么水平可以考公务员  > 程序员工作三年,到什么程度才算合格?我终于开窍了。。。

程序员工作三年,到什么程度才算合格?我终于开窍了。。。

程序员工作三年,要大致学习到什么程度才算合格?

这时候,我感觉很难给出一个绝对正确的回答。 我能做的就是,如实的把我做程序员三年后的状态分享出来,供大家参考。 在这里插入图片描述

熟练不等于技术提升

在我当了程序员三年之后,我对开发这事儿已经非常熟练了,熟练主要表现在两个方面:

提给我的业务需求,我已经能毫不费劲的形成技术思路。写代码的时候,我已经能准确而快速的使用开发语言的 API 了。

我认为三年的程序员,做到以上两点是基本条件。干了三年左右,大部分人都已经很适应程序员这个工作了,是团队中编码的主力军,开发工作应该做的很顺利了。

如果大家在这方面还没做到位,我的建议是多写一些代码。这些代码可以是一些小工具,也可以是一些刻意练习。

牛客网上求职必备下的编程集合和它的基础提升模块大家可以看看。

说到这里,我多说一下,如果大家真的很熟练了,大家也要警醒一些。因为这种熟练的开发代码就像麻药一样,会渐渐地麻痹了大家的精神却不自知。

我自己对此是有些教训的。

我当时由于工作比较顺利,学习开始不那么努力了。虽然技术文章还在看,但系统的学习却停滞不前了。

我没有去系统性的拓展我的新技术学习,也没有规划好如何继续深入挖掘各种已掌握技术的细节。

直到一年后,公司有了一些变动,我被迫提前做了架构师,才发现自己知识的贫瘠。 还好那时我醒悟的还不算晚。否则,我可能就一直沉湎于自己构造的舒适圈,很可能就影响到自己以后的发展。

因此,这里我想通过我的经历告诉大家,当你工作了几年后,一个最基本的要求就是,你得成为一个熟手,能搞定大部分常规的需求。

但是,这种工作上的顺利可能会让你懒惰,这点一定要警惕。干咱们这行,是需要持续学习的,因为行业变化太快了,各种新技术新理念新架构层出不穷。

打算在这个内卷的行业里继续走下去,只有不断的学习,深挖技术细节夯实基础,学新技术拓展眼界。

在这里插入图片描述

如何进行自我提升?

不少Android开发的小伙伴在工作几年后,会觉得很迷惘,到底自己的开发能力处于什么水平,该如何努力成为对标大厂的高级开发,或者成为架构师。这里结合自身工作经验及参照大厂招聘高级工程师的要求,整理了一份学习路线,路线的内容有中高级,也有难度大的,但是学会后终身受用,拿下大厂高级岗、甚至资深岗,或在小厂当Leader应该不在话下。

最新Android高级知识体系

Java高级:

反射注解泛型多线程:线程、线程池、Synchronized、volatile、ReentrantLockJVM:类加载、内存模型、垃圾回收机制、强弱虚引用集合容器:Collection、Map

Android多线程:

Handler:Handler、Looper、MessageThreadLocalAsyncTask

网络:

HTTP、HTTPSTCP UDPTCP/IPSOCKET网络请求过程:三次握手、四次挥手、证书、断点续传

视图:

SurfaceView:自定义View(measure、layout、draw)Window:PhoneWindow、DecorView、ViewRoot事件分发机制:滑动冲突、dispatch动画:帧动画、View动画、属性动画ListView工作原理RecycleView工作原理、与ListView比较Webview:js通信,加载优化

图片:

BitMap:加载效率、缓存策略、内存计算Drawable加载大图

四大组件:

Acitivity难点:四大launch模式、启动流程、加载布局流程Service难点:启动方式、启动流程、应用场景ContentProvider难点:生命周期、启动流程、原理Broadcast难点:生命周期、注册方式、启动流程

性能优化:

启动优化UI优化内存优化卡顿优化网络优化数据库优化包体积优化ANR

三方库:

图片加载: Gride、Fresco、Picasso、Android-UIL网络通信:Retrofit、Okhttp、Volley异步处理:RxJava、RxAndroid、RxBinding、EventBus

与时俱进:

跨平台:Flutter、ReactNative、Weex模块化Hook技术插件化:DroidPlugin、VirtualAPK 、Small、RePlugin组件化:ARouter、CC热更新:Tinker、AndFix、Robust动态化

Kotlin:

扩展函数构造函数协程

框架:

Jetpack:ViewModel、LiveData、Lifecycles、Navigation、Room、Paging、WorkManager、DataBindingMVCMVPMVVM设计模式:六大原则、常见设计模式

Android系统:

系统启动流程应用启动流程进程间通信:IPC机制、Binder原理、AIDL构建:Grale、APT编译注解处理器apk打包:打包流程、v1和v2签名、分包multidex、加固Dalvik与ARTSystemServer:ActivityMagangerService、PackageManagerService、WindowManagerServiceDalvik与ARTJNI:JNI基础、NDK

音视频:

音视频基础ffmpegWebRTCOpenGLVulkanOpenCV 结语

人生关键的路还是要靠自己走,求知这件事情,没有什么终端捷径可走。只有自己深入思考,不断总结反思,一步一步构建自己的知识体系,才是最快的方法。

然而Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我针对Android程序员,我这边给大家整理了一套学习宝典!

1. Android学习路线图

首先,对于没有学习方向,知识不体系的人,我把我工作几年整理的学习路线分享给大家,做一个借鉴作用,还不知道怎么学习的人可以直接照着我这个学习路线一个个的去学习,知识不体系的人可以参考下我整理路线的方式,总之希望能够帮到你们!

学习框架

2.模块化学习资源

接下来是每个模块我整理出来的文档学习资料,帮助大家更细致化的学习。

《Android汇总复习资料—Java》

java

《Android汇总复习资料—Android》

Android

《Android汇总复习资料—Android扩展》

Android扩展

《Android汇总复习资料—Kotlin》

Kotlin

《Android汇总复习资料—Flutter》

Flutter

《Android汇总复习资料—算法》

Android汇总复习资料

除了上面的学习路线,还可以额外的配合以下方式学习,效果翻倍~

①看视频进行系统学习

前几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。

另外,我自己也珍藏了好几套视频,有需要的我也可以分享给你。

②读源码,看实战笔记,学习大神思路

“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。

主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。

源码解析

③面试前夕,刷题冲刺

面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。

关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:

面试资料合集

④2022大厂面试高频知识点

图片网络和安全机制数据库插件化、模块化、组件化、热修复、增量更新、Gradle架构设计和设计模式性能优化Android FrameworkAndroid优秀三方库源码

Android中高级面试题汇总目录.png

以上所有资料均无偿分享!内容比较多,无法一一展示,微信扫描下方CSDN官方认证二维码免费获取【保证100%免费】

相关推荐: