天天都在 996 ,安卓人该如何持续学习,实现可持续性发展?
Posted 好好说话行吗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了天天都在 996 ,安卓人该如何持续学习,实现可持续性发展?相关的知识,希望对你有一定的参考价值。
没有什么行业比我们程序猿更重视新知识和学习了,毕竟互联网行业一直都是走在信息更替的前沿。
但是我们程序猿天天都在 996 ,天天都是业务代码,我们该如何学习,保持持续成长,提升自己给自己增值呢?
程序猿 996 的普遍现状
我们安卓这个圈子不大,所以我和几个大厂的朋友组建了一个移动开发技术交流圈。
大家平时都挺活跃,讨论技术、工作还有生活。
最近大家都在感叹,现在天天都是 996 ,感觉一直都在写业务代码,每天就是增删查改,重复同样的工作,真的好累,但是又不敢辞职,感觉自己现在就是闲鱼,出去肯定要被虐。但是又不想安于现状。
在这样的情况下,我们安卓人该如何持续学习,实现技术进阶?
这里面,【持续学习】是一个很重要的关键词。
996 下,我们该如何持续学习?
在学校的时候,我们每天有固定的时间用于学习,还有老师引导方向,答疑解惑。但是工作后,这一切都没了,我们需要在搬砖之余自己抽时间学习。
我也是想了很久,才决定归纳整理一下自己的心得,没有太斟酌文字,供大家参考,只希望可以帮到像我一样的普通android开发者。
总的来说,大家根据自己的具体条件找到适合自己的学习方法才是最关键的。
1.为了吃上饭学习(被动学习)
如果你是在工作中,因为客观需要而去学习(比如实现产品经理提出的需求、设计一个技术方案、跳槽面试等)。为了提高解决问题的能力,吃上饭
为了吃上饭学习(被动学习)其实也有技巧。
这里教大家在被动学习中掌握节奏,找到合适的方法。这里主要分为两方面来讲:工作和面试(这是吃上饭的需要攻克的两大重点)。
(1) 工作
在工作中,需要学习的场景一般就两种:需求和产出。
- 如何实现这个需求
- 如何更优雅地实现这个需求
- 如何设计一个技术方案
- 总结最佳实践
- 如何调试、看日志,如何定位问题
- …
总结来看就是一个如何在工作中解决问题。在此基础上,我们会想办法将它总结、输出。
- 如何使用 *** 解决 *** 问题
- *** 的最佳实践
- 深度学习 ***
- *** 在 *** 的应用
- ……
总结的过程也是一个学习的过程。
(2)面试
咱都是面试过的,大家都知道,准备面试真的很累,强度不输于期末考试,在此期间我们需要持续输入大量的知识。
但是,这是一个很强的学习动力,也是一次很好的学习机会。
A:总结自己的移动开发知识体系
总结知识体系的过程是一个查缺补漏的过程。遇到没掌握或者了解不深的知识点,务必去了解、搞清楚,否则就不算掌握。
一般都需要经历以下六步,这里就不一一展开。
作为一名有着快八年开发经验的老Android,这里我把自己的一个知识体系分享给大家,给大家提供一个参考。
- 底层基础(或者可以叫他《移动开发架构师筑基必备技能》第二点里面有分享,这份资料是一个基础知识的整合)
- Android高级UI与FrameWork源码:高级UI晋升+Framework内核解析+Android组件内核+数据持久化
- 360°全方面性能调优:设计思想与代码质量优化+程序性能优化+开发效率优化
- 解读开源框架设计思想:热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack
- NDK模块开发:NDK基础知识体系+底层图片处理+音视频开发
- 微信小程序:小程序介绍+UI开发+API操作+微信对接
- Flutter等跨平台开发技术
B:总结自己做过的项目
- 难点、亮点
- 技术架构
- 最佳实践
- 涉及到的所有技术点都可以挖一下,看看有没有某个点是自己描述不清的
这里给大家推荐一篇超实用干货:震惊!项目经验不会说?字节跳动小姐姐手把手教你"套路"面试官!
PS:这是一个凭借实力进入字节的小姐姐写的攻略哦建议按照这个准备一下项目
C:刷题
不多说,就是刷 LeetCode:剑指 offer、大厂题库、归纳总结。
这里可以给大家安利一份面试真题解析:1307页字节跳动Android面试全套真题解析在互联网火了 ,完整版开放下载
或者大家比较喜欢真人讲解的,可以去B站看这个:https://www.bilibili.com/video/BV1jU4y1Y7Tx
D:复盘
每面试一轮,就进行一复盘,回忆一下面试过程,查缺补漏。
这个并不复杂,只要总结一下遇到的面试题,理清思路和参考答案即可。
2.为了吃上更好的饭学习(主动学习)
如果你不满足于只是吃上一碗普通的饭,而是想要在工作中提升自己,然后寻求更好的发展,吃上更好的饭,这里大致总结几种大多数开发者会用来主动学习的途径:
- 经典书籍
- 大佬公众号
- 知识付费
- 开发社区
- 免费公开课
- 长期培训班
(按推荐指数排序)
在本文中会描述不同途径的优点和缺点,以及我个人的学习方法分享。
(1)经典书籍
书拥有很多优点:
- 拥有完备的理论,方法论,帮助大家成体系地学习
- 有利于非常基础、长期稳定的知识体系形成,受益整个职业生涯
- 深入学习,可以成为理论王者,最后指导实践
A:Android 开发者,应该看哪些书?
这里推荐一些计算机类的经典书籍,主要是因为这些书籍的知识密度大,而且内容都是偏向基础的,表激动不会很大,不存在跟不上时代什么的。
- 计算机组成原理知识:《深入理解计算机系统》
- 计算机网络:《图解 HTTP》、《图解 TCP/IP》、《网络是怎样链接的》,再深入的话推荐《计算机网络:自顶向下》
- 操作系统:《现代操作系统》、《操作系统—精髓与设计原理》、《Linux内核设计与实现》、《鸟哥的 Linux 私房菜》
- 数据库:《SQL 必知必会》、《高性能 mysql》、《Redis 深度历险:核心原理与应用实战》、《MongoDB权威指南》
- 设计模式类书籍
此外,一般我还会看业界大佬推荐,或者就是看最近新出了什么书,如果感兴趣都会买一本。
B:如何高效规划看书学习
- 制定看书计划
根据书的厚度安排一个期限看完,然后每天看固定量的厚度。
也可以根据自己的时间来安排,比如每天 1 小时
或者按照书的分节来,每天一章节(我是这种)。
- 如何高效看书
看书前: 看目录
看书时:写读书笔记
看书后:实战巩固
技术书籍一般附有大量的代码,可以跟着章节节奏动手敲敲代码,加深记忆。
- 学会总结
阅读完全书之后,可以回顾一下自己的读书笔记,总结一篇全书的读书笔记。
还可以将总结发表在社区上,和大家交流讨论,这样你会收获很大的满足感,获得正向反馈,然后有更多坚持看书的动力。
(2)大佬公众号
很多人觉得公众号就是垃圾营销,不能学习,我想说的是,找到方法就能学到东西。
通过公众号学习,我总结两个关键词:垂直和取舍。
垂直:关注 1-3 个垂直领域公众号
获取安卓领域深度文章、最新资讯、最佳实践等,为了深度。
- 关注 1 个计算机领域公众号(获取一些计算机领域的文章,扩展视野,为了广度)
- 不要在花边新闻和标题党上浪费时间(没有营养,浪费时间)
- 不要关注当下对自己没用的技术公众号(容易焦虑,自卑)
取舍:判断推文是否值得看
-
通过标题判断是否值得阅读
-
通过内容判断是否值得收藏
是否需要深度阅读?
是否未来可能对自己有用?
是否是一个解决方案、最佳实践? -
Mobile 端碎片阅读
由于屏幕和场景的限制,Mobile 端决定了无法深度阅读一篇文章,这里推荐的是大致扫一遍文章内容,了解通篇的主要内容即可。
- PC 端深度阅读、分类收藏
在 Mobile 端碎片阅读之后,如果觉得文章有用,则在 PC 端花时间深度阅读,并且分类收藏,未来可能就会用到。
(3)知识付费
随着国民经济水平以及版权意识等的提高,这几年知识付费挺流行的,各种培训课程、专栏、视频课程层出不穷。
这其实是一把双刃剑,好的课程可以引导我们,不好的课程浪费时间甚至误导我们,我们需要正确地看待它。
首先,知识付费存在即合理。天下没有免费的午餐,想想,别人为啥平白无故教你,然后来卷他?所以,想要让别人教你一些东西,还是要等价交换的。当然,这个价不能太贵。
其次,我们需要取其精华去其糟粕。不是所有的付费知识都是值得的,有些很好,有些真的很辣鸡。
如何为知识付费?为什么样的知识付费?
首先,不要反感知识付费,感兴趣、有帮助就买,没用的课程就别浪费钱。我这两年还是花了不少钱买课的,可能你会说我是“韭菜”?但是我确实从中得到了我想要的东西,当然,我也踩过坑,这里作为一个过来人分享下知识付费的经验。
三个基本点:
-
定向搜索自己需要体系化的知识点。比如想学 webpack 的时候,繁杂的配置和流程,如果有人能体系地指导一下,就非常好;再比如浏览器原理,这东西就很抽象,没有实战经验,就需要有经验的前辈给你总结一下
-
当被推荐、种草时。不要马上无脑买,先打开目录或者推荐语瞅瞅。这个课程讲了啥?是拼凑的还是成体系的?自己能用得上吗(查缺补漏、扩展视野、最佳实践等)?
-
寻找优惠渠道。一般付费课程都有分享返现或者优惠码的渠道。大家可以先观摩一下,或者进入一些交流群进行咨询。
(4)开发社区
这里的社区指的是一些社交平台和技术社区,包括 GitHub、知乎、掘金、Twitter 等。
这里推荐几个我经常用的社区:
- GitHub
- CSDN
- 掘金
(按推荐程度排序)
GitHub:可以 follow 一些比较活跃的大 V,看他们的日常动态。
如果他 star 了某个仓库,
- 点进去看看,了解一下这个仓库干啥的
- 如果感兴趣可以写个 DEMO 玩玩
- 如果未来可能用到,就也 star 一下,至少保留一个印象
- …
如果他 follow 了某个人,
- 点进去看看这个人是不是比较活跃
- 是有比较有名的开源项目呢
- 还是有一个非常高频原创的博客
- …
准确地说,就是通过大 V 的眼睛去发现一些 GitHub 上的新东西,扩展视野。
CSDN:这是目前国内比较火的一个开发者社区
有非常多值得阅读的文章。
我们可以每天刷刷首页的推荐流,取其精华,发现高质量原创文章。
同样我们可以关注一些大佬。
掘金:也是目前国内比较火的一个开发者社区,和CSDN差不多。
同样我们可以关注一些大佬。
Twitter:主要还是关注一些大佬。
他们会经常在 Twitter 上讨论某个技术方向、某个新工具以及一个有意思的 idea,主要就是看他们都在 “玩” 什么。
玩社区的核心目的:持续关注和积累,保持好奇心。
平时看到啥技术相关的内容,都可以点进去了解了解。如果已经会了,关了就好;如果不会,就看看;如果可能对自己有用,那就收藏一下。~~俗话说得好,收藏 === 学会(并不)。
(5)免费公开课
由于现在的大环境很卷,包括培训班也很卷,所以一般都有可以免费白嫖的公开课,大家如果看见了他们的公开课活动,刚好有感兴趣的内容,不妨看一下他们的公开课。毕竟能出来做分享的人还是得有两把刷子的。
说不定就嫖到了有用的东西了。
(6)长期培训班
这一点我之所以放在最后,是因为这是一个填鸭式的学习途径。和上学一样,这是短时间内进行高浓度的知识摄入,然后迅速的提升,可能会不容易消化。
在这里,我也只推荐实在是迷茫找不到方向,或者是自己工作太忙是在是抽不出时间进行学习规划,或者是想迅速就业的朋友试试看。
最后
说这么多,其实就是想告诉大家:只要思想不滑坡,方法总比困难多。
工作再忙我们也不能纵容自己在技术上当一条咸鱼躺平(不然,迟早被淘汰)。
在这里给大家推荐一份火爆全网,几乎所有安卓开发人手一份的学习笔记,还没有上手的赶紧整一份。
有需要的朋友直接【一键三连】,然后点击【此处】进入群共享资源自取,或者直接通过下方代码块找我领取。
// Wechat number(可复制):
study5233
- 架构师筑基语言基础
知识要点:
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
- 设计思想解读开源框架
知识要点:
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计
- 360°全方位性能调优
知识要点:
1、设计思想与代码质量优化
2、程序性能优化
启动速度与执行效率优化
布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK大小优化3、开发效率优化
分布式版本控制系统Git
自动化构建系统Gradle4、项目实战
启动速度
流畅度
抖音在APK包大小资源优化的实践
优酷响应式布局技术全解析
网络优化
手机淘宝双十一性能优化项目揭秘
高德APP全链路源码依赖分析
彻底干掉OOM的实战经验分享
微信Android终端内存优化实践
- 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、购物商场项目实战
有需要的朋友直接【一键三连】,然后点击【此处】进入群共享资源自取,或者直接通过下方代码块找我领取。
// Wechat number(可复制):
study5233
总结
技术提升需要一定的过程,脚踏实地走好每一步,先定好一个个小目标,然后去一一实现。希望大家好好利用这份资料,最终达成所愿。
如果觉得本文有帮助,点个免费的三连支持吧——
以上是关于天天都在 996 ,安卓人该如何持续学习,实现可持续性发展?的主要内容,如果未能解决你的问题,请参考以下文章