畅谈大学生活
关于我
本人末流985本硕,国内Top2,C9在某客网上应该是非常常见的开头,不得不说这些都和我没有关系,之所以5年大学生活,是专科3年+2年本科(全日制)。
高中时期的自己整天迷恋于CF,然后玩那些Q等级,空间什么的,刷钻等相关的,总之,当时比较痴迷。然后高考只能上个专科,由于自己对计算机感兴趣,所以就直接报了一个计算机专业,大一去了之后其实自己也是懵懂,不懂什么是C语言、什么二进制 之类的,然后就是对着书上敲代码,由来有幸接触到Java,然后一入Java深似海,等学习了一年,期间在校跟着老师做相关做了一年,后来奋起笔书准备半年多,参加了省内的专接本,然后很幸运考上了,之后就一路规划自己的职业发展,绝对不考研之后,就准备Java相关的就业知识。
我是21毕业,去年秋招也准备了,然后因为没有相关的面试经验,笔试也过不去,只拿到几个面试机会,0Offer,然后9月开学后,从头开始一点点积累,12月投出简历,面试了几家,然后也很顺利找到了比较满意的实习,并且后来也顺利转正,薪资其实就是白菜价,OfferShow上都可以查到。
其实一路上,挺感谢自己一直坚持走下去。对于我来说这个解决很好了,我也很满足,BATTMDJ是去不了了,我现在的想法就是好好沉淀1、2年,让自己有一个成长,然后在冲刺一线互联网公司。
关于学习路线
好了,扯淡完毕,干货来了。
其实对于应届生来说,好好把基础扎实下然后配合做个项目就行。
科班基础=数据结构+算法(这部分剑指Offer 过3遍不过分 力扣TOP100 HOT100) 多总结套路。
网络协议+操作系统
Java的话 JVM+并发+集合
框架 SSM(重点在于Spring/SpringBoot),说实话其他的牛友都总结过,就不在简述。
分布式主题相关的缓存中间件Redis、MQ了解有精力深入下。分布式锁、事务等。
面试在于表达自己的想法,虽然有些是八股文,但是思考和没有思考过给出的回答是不同的。
春招 秋招
可以的话 提前参加实习,大三的春招,大四的秋招。
关于实习的思考和复盘
1.技术上
没有技术不行,对于开发人员来说,绝大部分都是做业务系统研发,千万不要有那种说什么,技术很重要,业务不重要的想法。技术为业务服务,业务创造价值。业务需要一点点的积累,每个公司都会采用现有的技术,不要觉得不是微服务就不好,是微服务就很牛叉,能恰如其分的解决问题才是根本,有时候大多数人都是在制造麻烦,问题,而不是在解决问题。所以不管对于什么要看到问题的本质,第一性原理。
2.工作中遇到问题时,积极的心态,享受工作上的快乐感。
不管是大厂还是小厂来说,大家进入之后都是拧螺丝钉的工作,每天都在解决问题,刚开始的时候,我是害怕那些问题丢给我,让我直接看代码自己去梳理,后来逐渐了解整个公司的整个架构,然后解决问题也就游刃有余。逆向思维是解决问题时一个比较好的模式,比如出现了这个问题,为什么会出现,如果正常的流程没问题,那是什么样子,一定是在某一个子环节中遇到的问题,导致才出现的这个问题,所以要慢慢梳理出这个问题所在。
对于工作要积极心态,刚开始,感觉工作还是挺累的,当自己的心态改变时,其实一切都没有那么困难,最终问题总会找到一个合适的方法被解决,所以要面对问题是积极心态,消极心态只会影响到自己。
3.不要焦虑,阶段性目标。
大家常说35岁职业瓶颈,要是35岁当不上管理层,就会被行业淘汰,其实现有的社会都充满了各种焦虑文章,尤其那些微信公众号什么的,我自己是不看这些公众号的,对于一个事情大家不要人云亦云,而要有自己的想法,否则只能随大流。如果每天焦虑,都不好的,不要想那么多。心里上的效应,需要自我调节。
之所以说程序员35岁瓶颈,一个是软件行业的发展也不过20年,所以最早的一批人员也在40岁左右,都是一些人的悲观心理好, 只要自己还有价值就不会被替代,所以多花时间提升自己,定一些阶段性的目标更重要,比如毕业2年后25K等,4年后做到架构师级别。只要不断学习就不会被社会淘汰。
4.思考自己工作的价值,在整个系统的位置。
对于一个应届生来说,未来1到2年内都是在模块内的工作,接到需求后,按需能完成就可以,但是我们更应该话时间去思考自己所在公司的整个位置,既全局观,只有了解全局才能把控,多去思考现有公司的技术,以及自己的相关思考。对于那些有成就的人,大多都会独立思考问题。
5.不要追求十全十美,完美主义。充满自信。
自信心可以带来财富。敢于试错。
6.系统性的学习
7.沟通的重要性
关于路线成长
架构师的在于判断与取舍
几大原则:合适原则、简单原则、演进原则
1.工程师级别(扎实基础,系统化学习)
-
系统化学习
-
运行环境、编程语言、网络基础
2.高级工程师
-
业务积累
-
原理
3.技术专家
-
深度&全面&业界