一、为什么大公司要设置学历和学校的门槛( 三 )


5、操作系统里的一些知识点和算法 。
6、Java等编程语言,学校里一般会更多地偏重知识点,而实际公司里,要求更多的是动手开发能力 。
大家可以看下,这些其实不怎么难学,这也是为什么非软件专业的同学能转行,以及培训学校能量产程序员的原因 。
至于说,基础理论知识阻碍了程序员升级,比如某程序员由于不熟悉Hash表数据结构从而导致缺乏优化能力,这不是程序员没经过大学里基础课的培训,而是在工作后,没有主动弥补这方面的知识点 。
基本功另外一类是关于技能的,分为如下几个层次:
1、调试代码的能力,比如边上没有人,你能自己通过debug把代码调通 。
2、能山寨别人代码的能力,比如你要实现一个JDBC连数据库的功能,自己不熟悉JDBC的操作,但你可以从网上找段相似的然后改改实现 。
3、学习的能力,比你是做后端的,但需要实现一些基本的前端功能,这你要能通过看资料快速上手 。
4、搭建环境和框架的能力,小而言之,在linux上搭建mysql等,大而言之,搭建一个nginx++dubbo集群的能力 。
5、能通过看日志排查问题的能力,比如日志在linux上,你能通过grep, less等命令快速定位问题 。
【一、为什么大公司要设置学历和学校的门槛】6、这个可能比较难点,叫解决问题的能力,比如目前系统性能一般,你得能通过压测,看日志等手段看出问题点,然后动手解决 。
从上述描述里,大家可以看到,这些技能上的基本功,在大学里能得到锻炼的很少,很多都是在工作后慢慢积累的,也就说,哪怕学校一般,学历一般,在工作中绝对是有机会迎头赶上的 。
▌五、如何自己弥补基本功
那么初级程序员该如何提升自己的基本功?实践是最重要的,重要程度没有之一,具体来讲,怎么做呢?
1、入门阶段,先买本书,建议是纸质书,这样阅读效率更高,下载代码,边运行代码边看书里的解释 。
刚开始不知道买哪类书怎么办?一般能通过出版社审核的书都不会差 。比如就拿Java后端方向,买本Java Core的,一本Web书(含SSM框架),数据库的书也可以买一本 。由于边运行边看,所以最长3个月能把代码运行通 。
2、在这三个月的过程中,也可以看些视频,视频里一般会含代码也代码的配置步骤 。
3、理论略过,着重看代码运行 。运行代码时一定别先自己动手,因为刚开始能力弱,自己动手一定会遇到很快坑,这样多遇到几次调不通,信心就没了,就会不了了之了,记得,刚开始时最多可以在运行通的前提下改别人的代码,以验证各模块和各参数的效果 。
4、在看的时候,初级程序员往往会多看些平时用不到的知识点,所以在这个阶段,可以去看下别人培训班的课程体系,或者看些面试方面的书,这样就知道哪些知识点不怎么用到,这样能节省学习时间 。
这样看书看视频运行代码持续3个月后,就具备动手调试代码和搭建环境的能力了,然后就有进软件公司干活的能力了 。在这个时间点上,再了解上文提到的算法,如果可以,再通过Java等语言,按数据结构书里的代码运行一下,了解下基本的数据结构和排序等算法,这样能力甚至会高于一般学校软件行业的毕业生了 。
▌六、有意识地积累些值钱的知识点
通过上述方法积累些理论方面的经验之后,就得通过做项目来积累实战经验了 。很多时候,在做完2到3个项目后,非科班出身的程序员和好学校科班出身的程序员动手技能实际上就差不多了,这个时候就得注意积累些“值钱”的技能点了 。