没有项目经验,能找到工作吗?能进大厂吗?
没有项目实践经验,并不代表没有写过代码。如果你连 100 行代码的程序都没有写过,那还是回炉重造吧,先不要考虑找工作的事情了。
这里所说的项目实践,是指开发一个功能完善的、能够让用户使用的小型系统/程序。
很多在校大学生都非常发愁项目实践,因为实在不知道要做什么,如果没有老师带着,或者没有接过订单,或者没有明确的目标,那么项目经历基本就是一片空白。
有不少人认为,能不能独立开发项目是程序员求职的一条红线,如果没有做过项目,就没有找工作的资格。
当你给小公司投递简历时,老板们问的第一句话往往也是“有没有做过项目”,如果没有的话,基本也就歇菜了。他们认为,程序员入职以后是要丢到一线干活的,没有做过项目的话,基本也就没法干活。
站到小公司的角度来考虑,这个判断标准是符合他们利益的。小公司的系统往往都不复杂,也没有足够的时间和金钱去培养人才,所以一般都要求员工入职以后立马去干活,尽快为公司创造价值。
作为一个小公司的负责人,我也是这么操作的,一看简历中没有项目经历,基本也就 pass 掉了,电话都不会打。甚至,我们都不愿意招聘应届生。
但是,和小公司不一样,大公司/独角兽不是这么考虑问题的,他们拥有充足的时间和金钱,可以在短期内培养员工,让员工在几个月以后再创造价值,所以大公司/独角兽更加注重应届生的基础和潜力。
就算你做过很多小项目,顶多也是锦上添花。说实话,应届生做的那些项目,在大公司眼里都是垃圾,根本达不到上线标准。
相反,你做的小项目越多,你的编程思维就越固化,就越草莽,就越难适应大公司的正规军作战。入职以后,你往往还需要花费一段时间来扭转编程思维。
这意味着,小项目做多了,反而会降低你的可塑性,还不如一张白纸呢。
各位应届生读者,除非你把求职目标锁定在小公司,否则不用太过在意项目经验。
程序员在面试过程经常被问到的问题,数量是比较有限的,你可以看看各家公司往年的笔试面试题,或者看看面试书籍,或者看看大神总结的要点。
在笔试环节,很多大厂给出的题目都是算法;在面试环节,往往也会问到算法。算法不仅会提高整个程序的运行效率,还能鉴别一个程序员的基础和潜力。
找两本书,先学一下基本的数据结构和常见的算法,然后去力扣(LeetCode)上刷题吧,刷上 100 道。
如果你能在 ACM 竞赛中获得一个奖项,那就再好不过了,相信我,你肯定会被大厂刮目相看。尤其是当你获得一个重要奖项时,那你基本就被大厂钦定了。
这玩意不是纯理论,它非常有用,也非常硬核,简直就是程序员的“任督二脉”。如果你的任督二脉没有被打通,那么很多知识都是学不透的,这会影响你以后的发展潜力。
操作系统相关的知识一般在面试环节才会被问到。
当然,我并不是说要完全放弃项目实践,这毕竟是一个加分项。
但是,相比自己接一些订单,或者折腾一些小玩意,我更建议在 GitHub 上发布自己的一个开源项目,然后长期迭代,引得一堆人 fork,这对你能力的增长和口碑的打造都有很大帮助。
除了发布自己的开源项目,你也可以在 GitHub 找一些优秀的小型项目,然后分析它的源码,调试它的逻辑,学习一些架构思维,这才是真本领。
如果你有更多余力的话,也可以开通自己的博客,把学到的知识沉淀到文章里面去,然后再将链接贴到简历上,我相信面试官会感兴趣的。
这里所说的项目实践,是指开发一个功能完善的、能够让用户使用的小型系统/程序。
很多在校大学生都非常发愁项目实践,因为实在不知道要做什么,如果没有老师带着,或者没有接过订单,或者没有明确的目标,那么项目经历基本就是一片空白。
有不少人认为,能不能独立开发项目是程序员求职的一条红线,如果没有做过项目,就没有找工作的资格。
当你给小公司投递简历时,老板们问的第一句话往往也是“有没有做过项目”,如果没有的话,基本也就歇菜了。他们认为,程序员入职以后是要丢到一线干活的,没有做过项目的话,基本也就没法干活。
站到小公司的角度来考虑,这个判断标准是符合他们利益的。小公司的系统往往都不复杂,也没有足够的时间和金钱去培养人才,所以一般都要求员工入职以后立马去干活,尽快为公司创造价值。
作为一个小公司的负责人,我也是这么操作的,一看简历中没有项目经历,基本也就 pass 掉了,电话都不会打。甚至,我们都不愿意招聘应届生。
但是,和小公司不一样,大公司/独角兽不是这么考虑问题的,他们拥有充足的时间和金钱,可以在短期内培养员工,让员工在几个月以后再创造价值,所以大公司/独角兽更加注重应届生的基础和潜力。
就算你做过很多小项目,顶多也是锦上添花。说实话,应届生做的那些项目,在大公司眼里都是垃圾,根本达不到上线标准。
相反,你做的小项目越多,你的编程思维就越固化,就越草莽,就越难适应大公司的正规军作战。入职以后,你往往还需要花费一段时间来扭转编程思维。
这意味着,小项目做多了,反而会降低你的可塑性,还不如一张白纸呢。
各位应届生读者,除非你把求职目标锁定在小公司,否则不用太过在意项目经验。
应届生的三板斧
为了找到一份好工作,尤其是入职大厂,你需要向面试官展示出两个方面的能力,分别是基础和潜力。这需要你在投递简历之前做好充足的准备,玩转笔试面试的三板斧:八股文+算法+操作系统。1) 八股文
所谓八股文,也就是面经,也就是背题。程序员在面试过程经常被问到的问题,数量是比较有限的,你可以看看各家公司往年的笔试面试题,或者看看面试书籍,或者看看大神总结的要点。
大厂一般在面试环节才会考八股文,但是也不排除有些公司在笔试环节就考八股文。
面试就是高考,必须要使用题海战术,不断刷题。当你把那些常见问题刷上几遍,就能过五关斩六将了。2) 算法
不要小看算法,算法代表一个程序员解决问题的能力,这才是一个理工男/女最硬核的实力。在笔试环节,很多大厂给出的题目都是算法;在面试环节,往往也会问到算法。算法不仅会提高整个程序的运行效率,还能鉴别一个程序员的基础和潜力。
找两本书,先学一下基本的数据结构和常见的算法,然后去力扣(LeetCode)上刷题吧,刷上 100 道。
如果你能在 ACM 竞赛中获得一个奖项,那就再好不过了,相信我,你肯定会被大厂刮目相看。尤其是当你获得一个重要奖项时,那你基本就被大厂钦定了。
3) 操作系统
操作系统涉及程序运行原理、内存分配、进程/线程、网络通信、编译原理等。这玩意不是纯理论,它非常有用,也非常硬核,简直就是程序员的“任督二脉”。如果你的任督二脉没有被打通,那么很多知识都是学不透的,这会影响你以后的发展潜力。
操作系统相关的知识一般在面试环节才会被问到。
总结
对于应届生来说,最重要的是基础和潜力,而不是那些玩具级别的项目。当然,我并不是说要完全放弃项目实践,这毕竟是一个加分项。
但是,相比自己接一些订单,或者折腾一些小玩意,我更建议在 GitHub 上发布自己的一个开源项目,然后长期迭代,引得一堆人 fork,这对你能力的增长和口碑的打造都有很大帮助。
除了发布自己的开源项目,你也可以在 GitHub 找一些优秀的小型项目,然后分析它的源码,调试它的逻辑,学习一些架构思维,这才是真本领。
如果你有更多余力的话,也可以开通自己的博客,把学到的知识沉淀到文章里面去,然后再将链接贴到简历上,我相信面试官会感兴趣的。
千万不要小瞧博客的威力,它除了可以让你沉淀知识,还能增加你的知名度,让猎头/HR 更容易找到你。
总起来说,应届生要转变思维模式,坚信自己是干大事的,进大厂的,所以要学习那些真本领,而不是折腾一些小玩意。