绝不是广告,绝对良心技术文,不带货,也没有任何课程推荐,请各位明鉴。
最近在一位老朋友的要求下,帮他表弟做了个跳槽加薪的规划。
我很少做这样的规划,因为通常都是费力不讨好的,你做了规划,他也不一定按照你说的去做,或者是很难坚持去做到,最后就往往演变成埋怨,里外不是人。
但是朋友再三要求,只好破个戒,大家也帮我参谋一下,谢谢啦!
为保护个人隐私,这里姑且称为程序员A吧。
一:程序员A的基本情况
1:现状
男,25,大专,工作3年,程序员,在北京某国企下属企业工作
目前薪资15K
2:计划目标
预计学习准备半年,明年3月份跳槽
目标行业:互联网公司
目标薪资20K
这些都是程序员A告诉我的一些基本信息和想法。
二:我对程序员A的摸底评测
拿到程序员A的简历,感觉确实有些弱,心里寒意陡升。为了能更好地给出规划建议,我决定对程序员A进行一次技术面试,详细的摸个底。
摸底评测的情况如下:
1:业务方面
我让他讲了最近参与的3个项目的业务,发现:
(1)项目的业务都比较简单,基本就是信息记录加上一个简单的业务流,业务中没有明显的亮点,也没有明显复杂的重难点业务。
也有可能是因为程序员A对业务理解不深入,讲不出来,反正讲出来的东西,给人的感觉就是很简单。
(2)程序员A在其中参与或负责的业务,基本都是一些边缘业务,或者是信息记录型的业务,从开发角度说,就是在增删改查的基础上,加了点业务的处理。
从这个也可以看出程序员A在项目团队中的作用和地位,明显不是处于团队C位的,顶多算是一个基本的开发人员,估计算骨干开发都比较勉强。
2:技术方面
他简历上主要的技术栈是:
Springboot+SpringMVC+Spring+Mybatis+SpringCloud+Redis+Kafka
我按照他简历上写的技术,挑主要的几个详细问了一下,情况如下:
(1)Springboot
会基本的开发使用,但是稍稍问得深一点,就卡壳,比如:
自动配置的实现机制、如何自定义自己的起步依赖等,基本都不会。
(2)SpringMVC
只让他说了一下请求到达后端应用后,SpringMVC处理的一个基本流程。
对这个问题,磕磕巴巴的回答了一些,算勉强60分吧。
(3)Spring
也只问了一个问题,让他说说对IoC的理解,回答非常浅,基本只懂个皮毛,原本想再深入问问IoC的实现机制,甚至源码级别的问题的,就通通没有问了。
摸底嘛,知道他目前的水平情况就可以了,也没有必要难为人家,容易尴尬。
(4)Mybatis
没问,这个基本上就是一些开发的事情,就跳过了
(5)SpringCloud
其实是写到简历上,唬人的,谁让SpringCloud这么热门呢。
他实际上只用了Feign+Ribbon进行远程调用,没有做过微服务,也没有用过SpringCloud中其它的技术。
问了他FeignClient使用的方式,限制,以及Feign调用的实现流程。
基本上只能回答FeignClient注解的基本使用,其它一概不知。
问了他Ribbon的重试机制和配置。
基本上一概不知。
感觉,对于SpringCloud,基本就处于完全不懂的状态。
(6)Redis
也只问了两个基本的问题,然后问不下去了。
先让他说了说Redis的持久化机制,对比AOF和RDB。
这个勉强能说一些,不全,很多关键点没有说到,可以算个40分吧
然后让他说说Redis的单线程模型。
这个也勉强能说一些,讲到了多路复用机制,就问他,多路指什么?复用的是什么?这就挂了,开始胡诌了。
后面又问了一些,比如:哨兵选主、数据丢失、集群故障恢复等等的,基本一无所知。
(7)kafka
面到这里,心里已经凉透了,就没有再问了。
3:摸底小结
现状很不乐观,业务参与不深,技术浮于表皮。
对于项目中用到的各种技术,基本只会使用,对于原理、机制等稍深入些的内容,都不太明白,确实是初级小白的水准。
要想达到他的目标,怎么也得达到中级开发人员的水平才行,任重而道远啊!
三:我对程序员A的规划建议
1:用三个月把他主要技术栈里面的几个重点技术,深入的学习一遍。
不仅仅要知道怎么开发,还要理解背后的原理和机制。
我给他挑了几个重点:Springboot、Spring、Redis、Kafka
2:完成前三个月的任务目标后,花两个月来弥补其它核心必备的技能
我给他挑了几个重点:
(1)Java虚拟机
(2)设计模式:这个不用都看,到时候给他挑常用的几个,十个以内就可以了
(3)数据结构和算法:这个也不用看太多,把常用的几个掌握了就可以了
(4)如果还有时间,可以加上数据库或者Java并发编程的部分知识,时间不够,就算了,可以后面再来加强。
3:最后一个月,就是针对性地准备了
核心技术的原理、机制等地复习
常见面试题的准备,通过面试题来查漏补缺
4:眼前的目标是,让他花15天来较为系统、深入的学习Redis,然后我检查,再调整下一阶段的规划。
目前他们项目不紧张,又是国企背景,基本上晚上8点后都可以学习,周末双休,所以,学习时间还是比较充足的,这算是一个有利条件。
目前他已经开始按我的规划执行了,只不过能坚持多久,执行到什么程度,就天晓得了。
等他完成Redis学习过后,我检查看看,就知道他的执行情况了,到时候再来跟大家汇报。
不知道大家对这个规划怎么看,帮我参谋完善一下吧!有什么问题或者建议,尽可评论留言或者私信,谢谢大家!
当然,如果你觉得本系列文章还不错,能够给你一些启发和思考的话,请