一朝入IT,帽子头上带.
这一路走来过程多艰难心酸,多少次有过想退却的想法,还有哪些迷茫,怀疑自己的阶段
相信你,也一定有过.
阶段1:只会增删改查:
时间:大学期间(2008年-2009年)
学习的方式:看视频、看书。(学会了使用控件的增删改查,和写SQL语句)。
自我感觉:XX管理系统已不在话下,反正网站弄来弄去也是增删改查,这大概就是无知者无畏。
如何破:(走出社会去就好了)。
阶段2:能快速实现功能,却不会思考:
时间:(2009年-20012年)
学习的方式:看博客、大量的编码(第1年,封闭式开发(1天敲15个小时代码),第二年后:每周六天,每天到夜里3点)。
感觉:大量的编码,做了大量的不同类型的系统,已练就成一个高级代码工:(CodeSmith代码生成器+批量生成增删改查)。
如何破:(让自己静下来)。
阶段3:学会了分享、安全、性能、底层原理
时间:(20012年-2016年)
学习的方式:写博客、看博客、写框架(CYQ.Data V-V4系列、QBlog)。
感觉:为某个框架代码而自我得意。
如何破:不断重复的将自己归零(把自己的认为得意的东西开源出去,如果要保留一点感觉,可阶段性开源)。
阶段4:领悟了抽象思维、面向对象、写框架、用户体验
时间:(2016年-至今)
感觉:也许我懂的很多,但是我不懂的更多。
如何破:(转行卖烧烤。。。)
总结一下:
上面的内容,其实只是个大概的节点情况,太多细节点的过程,来不及细说,全面汇总成以下几点:
1:大量的编码实战。
2:开发自己的作品。
3:学会分享。
4:学会低调,知识归零。
关于看书:
这么多年,我很少看技术类的书,因为人的特征本各不相同,我不善于记忆,只能通过大量的实战来形成条件反射。
另外,从实战到=》互联网的文章,有目的性的补充知识,更加容易被吸引。
所以,看书和看文章,其实本质都是在学习,只是我是通过实战驱动去补充知识,而不是单纯的看书,然后选择被遗忘。
以下内容随意聊聊::
这些年,曾高调过,曾低调过,也不高不低过,有人看我很谦虚,有人看我屌,其实,都是看心情,看心情的。。。
我想汇总一下我的知识体系,身体又懒的动,只因大脑感觉要写完天都要亮好几回,若不写,这随谈又要谈什么呢?
听说Java界的架构师很少,其实是Java的技术总监或CTO太少,毕竟是上层决定了下层的技术使用。
在我这几年当总监的岁月里,拿到的Offer最高月薪也只有4W,这在Python界轻松就能突破的数字,在Java界却不那么容易。
因此,从现实出发,混到总监的,有些也不在乎技术了,也没有技术情节和忠诚感,转个技术方向突破薪资才是硬道理。
生态圈的良性循环,还是得靠占据总监位置的同志们,坚持。。。
而且,大量的Java,必须突破自己,靠架构师上靠,才能进一步稳住市场。
目前Java大多数都在1W左右2W以下的薪资,勉强占领高级程序员或技术经理这么个角色。
追期根源,是因为技术上没有亮点,技术还停留在能做功能的地步,技术和思想也没形成体系。
怎么成长才能突破?
忽略其它综合因素,比较明显的是以下两个层面:
1:技术上的成长。
2:岗位上的成长。
明显决定薪水的,是岗位,要记得:上层给你一个Title让你带队,也好过给你涨薪,这是你跳槽的最有谈判的资本。
然后说说技术,感觉技术成长不上去的时候,怎么办?
先说说现在年轻人最大的感觉,很多人在用我的开源框架,但是他们遇到问题时,很多都是直接上问题,不愿调试代码。
这样的方式,只是完成了任务,就算最终学完整学会了用框架,也只是在众多框架中学会了一个,成长性是很小的。
过程是很重要的,哪怕是弯路,哪怕浪费时间,记得那都是思维的成长,比你完成一个当前的任务更值钱。
都说人生苦短,技术无涯,底层原理下面还有底层原理,无限的底层下,究竟学到哪层,才算底层?
在这框架百出的年代,若每样都要掌握,深度必无,人生必毁,所以,怎么学习,已经成为了一个值的思考的问题了。
其实,这些年,对于自己的成长,无非就是一样,将已有所有知识点形成体系。
当然,我并不是有意而为之,而是大量的实战和知识补充,最终自然而形成。
所以,学习应该围绕着体系而进行,适当的学习底层,是为了建立体系的连结点,而不是为追底层而底层。
今天跟大家分享一份Java 工程师进阶知识点扫盲清单,中间涵盖了redis/mongodb/dubbo/zookeeper/kafka 高并发、高可用、分布式、微服务等众多技术。
当然还有Java 工程师软实力方面的内容,比如说:面试技巧、技术文档编写、中英文档阅读、数据结构与算法等方面的内容。
这里先给大家列举一些分布式的内容:
Redis
- 从入门到精通,Redis的数据结构分析
- Redis主从复制原理及无磁盘复制分析
- Redis管道模式详解
- Redis缓存与数据库一致性问题解决方案
- 基于Redis实现分布式锁实战
- 图解Redis中的AOF和RDB持久化策略的原理
- Redis读写分离架构实践
- Redis哨兵架构及数据丢失问题分析
- Redis luster数据分布算法之 Hash Slot
- Redis使用常见问题及性能优化思路
- Redis高可用及高伸缩架构实战
- 缓存击穿,缓存雪崩预防策略
- Redis批量查询优化
- Redis高性能集群之Twemproxy or codis
Dubbo
- Dubbo管理中心及监控平台安装部署
- Dubbo分布式服务模块划分(领域驱动)
- 基于Dubbo的分布式系统架构实战
- Dubbo负载均衡策略分析
- Dubbo服务调试之服务只订阅及服务只注册配置
- Dubbo服务接口的设计原则(实战经验分享)
- Dubbo设计原理及源码分析
- 基于Dubbo构建大型分布式电商平台实战雏形
- Dubbo容错机制及高扩展性分析
Zookeeper
- 从0开始搭建3个节点的Zookeeper集群
- 深入分析Zookeeper在disconf配置中心的应用
- 基于Zookeeper的分布式锁解决方案
- Zookeeper Watcher核心机制深入源码分析
- Zookeeper集群升级,迁移
- 基于Zookeeper实现分布式服务器动态上下线感知
- 深入分析Zookeeper Zab协议及选举机制源码解读
Kafka
- Kafka基于Zookeeper搭建高可用集群实战
- Kafka消息处理过程剖析
- Java客服端实现Kafka生产者与消费者实例
- Kafka的副本机制及选举原理剖析
- 基于Kafka实现应用日记实时上报统计分析
mongoDB
- mongoDB应用场景及实现原理
- mongoDB常用命令及配置
- 基于mongoDB手写ORM框架
- 基于mongoDB GirdFS实现一个分布式网盘实战
- mongoDB高可用实战及V4.0新提醒
关于这份Java工程师进阶清单的问题
上述的内容只是整个清单中的一小部分,这里只是列举一些,供大家参考,更加详细的内容,这边有一份高清的技术脑图,可以分享给大家,领取的话,看文末就好了
关于软实力方面的内容,这里也列举一下内容:
面试技巧
- 如何写出一份漂亮的简历
- 如何高效准备面试
- 如何优雅谈薪
- 如果精准跳槽
- 辞职的正确姿势
- 如何规划自己的职业发展
技术文档编写
- 需求文档编写技巧
- Java开发规范文档编写技巧
- 数据库设计文档编写技巧
中英文档阅读
- 一小时掌握英语学习技巧
- 专业英语单词记忆技巧
个人认为,作为技术人就要保持终生学习的态度,让学习力成为核心竞争力,才能不被时代所淘汰,而高效的时间支配能让你变得更加优秀,所以,这里也送给大家一份学习路线图。
上面的这些面试题都整理成了PDF文档,希望能帮助到你面试前的复习并找到一个好的工作,相对来说也节省了你在网上搜索资料的时间来学习!!!
附欢迎关注我的公种号:it资源之家 ,扫描下面二维码即可领取更多一线大厂Java面试题资料!
最后
欢迎大家评论区一起交流,相互提升;整理资料不易,如果喜欢文章记得点个赞哈,感谢大家支持!!!