之前有发进大厂的文章时,总有人留言说3年开发,进大厂很难,尤其进BAT。但是最近一个读者告诉我,他3年Java开发,最近通过了阿里的面试,即将入职。3年开发只要肯下功夫,进大厂并不难。不要被别人的说法干扰了自己。
对于社招同学而言(特别是有2~5年工作经验的同学),不仅仅会问一些编程语言、设计模式等基础问题,还要对一些项目有深入的实战经验。
但现实却是,很多同学在技术生涯最初几年都会 沉浸在业务开发中,忽视了对系统知识的梳理和技术视野的扩展。
而技术的突破需要依赖业务场景的需求和自身刻意的规划学习,二者缺一不可。
以工作前5年的规划为例,至少需要突破三个层次:
No.1
重视代码品质,精益求精,这是技术开发的本质,也是程序员的立足之本。
对处于还 没工作或者工作1年左右 这个阶段的人来说, 看书是比较好的提升方式 ,推荐《Java编程思想》、《effective java》等。
需要注意的是,在看书的过程中一定要思考能否运用书中的经验来改善自己写的代码,运用到实处,比如看到 final和 static,想想自己代码中用的是否合理。
No.2
在将基础打牢之后,需要主动突破舒适区,不断的去扩大自己的技术视野,做到有广度。
这一步比较难,因为 很多人会被公司的技术和业务牵着走 。比如公司当前的业务规模决定了技术上不需要分布式技术,很多人就不会去思考规模大了之后如何利用分布式技术来解决问题。
此外,技术的全貌还包括各种技术之间的关系,你用了 Dubbo,那么 Duboo和 Netty是什么关系?为什么会用到 Zookeeper呢?和 Spring Cloud又是什么关系?
这种时候,除了寻找更大规模的业务外,要 时刻保持跳出当前层级和环境来思考的习惯 。比如,你只用了关系型数据库,有没有想过数据一直产生,到达TB级别的时候该如何快速检索与保存呢?
No.3
扩展了知识广度,还要加强自己的技术深度。
很多人信奉“不去造轮子”,看似性价比很高的一句话,却不知道这句话是有前提的,那就是“你得知道轮子的内部结构”,否则就是自我麻痹。接下来需要选择某一个或几个方面深入研究下去,构建自己的核心竞争力。
比如,消息队列在高并发分布式系统中一个及其重要的组件,起到削峰填谷、系统解耦的作用。
我们以消费端如何快速获取数据来看思维是如何一步步深入的:
1.首先消费端要想及时获取数据,是否需要建立一个长连接?长连接的实现方式如何?
2.数据是通过 push还是 pull方式给到消费端,各自有什么弊端?
3.如果消费失败,可能是哪些原因引起?如果是因为网络原因引起,该如何解决?
这些问题都会在你自己造轮子的过程中暴露出来,从而加深你的理解和技术深度。
至于如何系统学习,我这里有一个 Java技术图谱 ,大家可以来领取,方便查漏补缺。
(扫描文末二维码,领取高清完整版技术图谱)
要成为高级开发,系统的学习和行业大牛的指导都是必不可少的。这里给大家准备了 免费 的Java源码与实战视频直播课程,助你全面提升!
扫描下方二维码
No.1
网易 限时免费Java进阶直播课
▼
【框架+源码+原理+实战】系列直播
11月7日-11月13日
每晚8点 不见不散
原理: 互联网面试必问—线程池原理与API精析
1 |
你知道在高并发下开多少线程合适吗? |
2 |
线程的本质、线程池的工作原理 |
3 |
如何正确使用java并发包中线程池API |
实战: 十年程序员分享他的设计模式经验
1 |
前人总结的那些代码设计原则 |
2 |
识别代码中那些“坏味道” |
3 |
我是怎么学习和运用设计模式的 |
实战: 分库分表技术分享
1 |
互联网公司如何应对海量增长的数据 |
2 |
单数据库扛不住,怎么使用多个数据库来凑 |
3 |
学会利用分库分表中间件 |
框架: SpringBoot核心篇第一堂课
1 |
SpringBoot快速开发的原因是什么 |
2 |
庖丁解牛,一步步梳理SpringBoot核心设计 |
3 |
手把手带你封装Springboot业务组件 |
框架: 教你写SpringMVC框架
1 |
SpringMVC核心处理流程梳理 |
2 |
实现一个自己的mvc框架 |
3 |
总结技巧,Spring原理不再难懂 |
实战: 搜索引擎技术揭秘
1 |
搜索引擎核心理论精析 |
2 |
TF-IDF相关性计算模型讲解 |
3 |
Java开源搜索引擎介绍 |
原理: Dubbo-RPC核心原理剖析
1 |
为什么要用dubbo框架 |
2 |
dubbo框架本质是什么? |
3 |
手把手带你写出dubbo核心逻辑 |
扫描下方二维码
【框架+源码+原理+实战】
进阶视频 专属资料 先到先得
No.2
网易专属Java进阶资料