校招有感:计算机专业毕业生如何找工作(Java方向)

90% 的 Java 程序员都说不上来的为何 Java 代码越执行越快(2)- TLAB预热

    这两年毕业生的就业形势,大家都看在眼里。由于我平时本职会到校园去做校招,兼职会做培训,所以也接触到了不少计算机应届毕业生。

    我看到的计算机专业毕业生,各种情况的都有。虽然其中有学校的因素,但学校的因素也不足以造成这样大的差距。所以在本文里,就将结合找到各种工作的毕业生的情况,说下计算机专业的毕业生第一如何在大三大四时准好准备,第二如何在大四时找到心仪的工作。

1 哪些计算机毕业生能进大厂?或者至少能找到软件的活?

    我作为大厂面试官去做校招时,能收到一大堆简历,如何挑选有面试资格的人呢?

    1 可能我去的都是一本,这里已经隐藏了“学校好”的条件。但对于学校一般的同学,绝非没机会,第一参加各种招聘会,第二多找猎头,第三直接到各招聘网站投简历。

    2 简历上最好要有实际软件相关的项目,比如毕业实习,毕业设计,或者兼职去软件公司干活。其实我看下来真的有项目经验的人并不多,估计也就三成,所以这些人很占优势。

    3 退而求其次,如果没有实际项目经验,那么好歹得写一些课程设计项目或学习项目。一般来说,大多数毕业生候选人简历上多少会有些。对于这些人,先比较学习项目的时长,再看简历上给出的技术。

    4 至于很多简历上给出的篇幅很长的自我介绍,学校经历等,除了证书和获奖情况,基本掠过。

    其实我知道,除非有实际项目经验,其它简历上只包含学习项目的同学,其实能力都差不多,但一般只能看,谁写的项目多,谁写的技术全面。也就是说,大多数毕业生得到面试机会,更需要的是语文能力,而不是技能。

    然后是面试,(因为我是java方面)面试的机会一般会问如下的问题。

    1 Spring Boot(或其它框架),你有没有做过基本的增删改查?其中大致流程是什么?

    2 数据库方面,你会不会写SQL?可能会笔试让写。

    3 Java方面,在集合,异常处理,多线程等方面,也不敢问深,因为一问深估计就招不到了,就挑些网上通用的问题问下。

    4 随后就是大路的算法题和编程题,这些基本都是从网上找的。

    也就是说,只要简历过筛选的候选人,真的运行过并吃透一个学习项目,要过面试应该问题不大。

2 哪些毕业生找不软件的活?

    话反过来说,哪些计算机专业的毕业生找不到软件的活?

    第一,可能需要考虑一定的学校因素, 比如学校一般,同时又没有其它获奖等能弥补的因素。

    第二,简历上看不出任何软件相关的项目,哪怕是学习项目也没有,只有干巴巴的用到的技术列表。

    第三,即使有面试机会,框架,数据库和java核心方面一问三不知,可能只会说些智力题和基本的算法题。

    这里大家要注意,哪怕毕业生学校再好,如果仅仅具备课本上的理论知识,比如只掌握数据结构,算法,操作系统等技能,没有项目技能,估计甚至找不到软件方面的活。

    但相反,如果你学校一般,而你简历上心点,给出三个学习项目(当然最好是实际项目),同时面试前刷些题,背些答案和算法,你未必没机会。

3 如何积累(哪怕是纸面上的)项目经验

    再啰嗦下,面试前一定得准备项目经验。如下按优先级降序,给出建议的做法。

    最好是你去找些软件公司的实习机会,比如毕业设计你上点心,或者你主动找有外快项目的老师一起做。当你真正做过项目,哪怕就3个月,别人都不用说,你自己就会知道面试该准备什么。

    如果你实在没有机会去外面的软件公司实习,你好歹做好你的毕业设计或课程设计,虽然这些有可能是你老师拍脑袋想出来的选题,但好歹成系统,多少也会让你综合实践些技术。 

    再不行,你买几本带案例的书,或者找至少3个Spring boot框架的项目,第一运行通,第二照书,找视频理解其中关键模块(比如控制器,业务层,jpa)的含义,然后再熟悉基本的sql语句,这样好歹你也算有项目经验。

    如果你感觉实在没有时间了,同时感觉自己也没能力运行通项目,那么可能只能去找培训班了。培训班虽然学费贵,但好歹有人带。相比之下,如果个人动手能力确实不高,看一些视频还未必能调试通。所以上培训班可能真是没办法中的办法了。

    总之,在找工作前,你至少能在简历上写上3个项目经验。

4 如何用简历争取到面试机会

    之前讲到了哪些简历有面试机会,这里具体给出写简历的方法。

    第一,每个公司甚至每个职位所要求的技术不同,你得仔细阅读,给每份职位定制化简历,在不同的简历中根据要求的技术做些微调。

    第二,按如下模版写项目。

    时间:2020年7月到12月,项目名,xx应用系统 用到技术,Spring boot,mysql,jpa (再有当份jd上要求的技术)

    我做的事情:1 用Spring boot全栈流程开发了xx模块 2 用sql语句编写了查询xx模块数据的业务 3 用前端css+div+jquery等,编写了xx页面

    得到的收获:1 熟悉了Spring boot全栈开发流程,2 熟悉了mysql数据库基本操作 3 了解了java 多线程,异常处理和集合等技能点

自己动手实现java断点/单步调试(二)

    照这你写3个,这样的简历,面试官一定能看出是学习项目,但如果你真的没商业项目也没办法,这样的话,你至少不会没面试机会。

    第三,证书,获奖情况,甚至培训班经历,以及其它你的优势全写上,培训班经历对社会人员可能是不利因素,但对毕业生,这好歹能说明你有项目经验,受过系统软件开发培训。

    第四,至于个人介绍,就写能加班肯吃苦,团队精神强学习能力强等能帮你找到工作的话,其它兴趣爱好之类无关的话别写。

5 准备优先级:说好项目>说好技能>手撕算法

    用简历得到面试机会后,你事先一定得准备。 如下给出我会问的问题。

    1 你就以一个业务模块,比如增加订单,为例,说下Spring boot处理请求的流程。

    2 你在Spring boot(或你做的项目)里,如何连数据库,比如jpa怎么连?mybatis怎么连?

    3 你在项目里,如何编写控制器,或如何写数据库的配置,或者如何定义事务。

    4 说下Spring ioc的理解(或从其它看到的网上关于Spring的面试题)

    5 说下HashMap里的hashcode和equals方法,或其它能查到的java核心方面的面试题

    6 找些算法题,比如用两个arraylist实现堆栈,或者分类问题。

    这里大家能看到,面试问题按重要性划分,首先是项目里的问题,也就是说你得再三复习你做过的项目,了解Spring boot相关问题,随后是技能方面的问题,然后再是算法题编程题。

    怎么准备?

    1 多到网上搜,比如Spring boot面试题,java面试题,找到以后,你一定不能死记硬背,一定得在运行通的基础上理解看,比如ioc,又如hashcode,相关代码你要逐一调试通,这样你找到工作的可能性就一定很大。

    2 还是这句话,多运行学习项目,凡运行通一个,你就写到简历上,通过这样全栈的运行,你会一点点熟悉框架里的细节。

    3 然后再看些算法题编程题,这不用偏,重点看排序,和线性表哈希表相关即可,同时稍微准备些二叉树方面的冷门题目。

    我见到很多候选人,项目和技能方面说到很差,但算法和编程题非常熟悉,这就属于本末倒置了。

6 这个时间点,大四毕业生应急的做法

    现在是2月,对大四毕业生而言,应该是4月找到工作,最晚6月,7月离校,所以现在还有3个月左右的时间,如果你当下属于什么都不懂,该如何应急呢?

    1 赶紧买2本Java语法书,什么书都行,照着里面的代码敲一遍,注意别敲java界面(比如swing)方面的代码,这需要在2周内做好。

    2 就安装个mysql数据库,然后买两本Spring boot书(最好是带视频教学的),照着其中的项目运行一通,这样你就至少接触过当下找工作所需要的技术了。这可能时间需要长些,估计得用1个月,这期间你可能会遇到很多问题,比如环境问题语法问题等,一般书上的代码至少能跑通,有问题再看视频。

    3 上述两件事情,你得在4月前做好,这样你再用一个月,搜网上面试问题,再结合代码理解。

    4 你在找面试题的同时,需要投简历面试,照本文给出的方法,你不会没面试机会。刚开始的时候,你可能真一问三不知,然后你搜集下实际的面试题,外带不断动手实践理解答案,一个月以后,你至少能和面试官对上话了。

    5 进入到5月份,你再循环着做面试——搜索问题——找答案——不断提升,这样你好歹能在5月或6月找到工作,至于找到什么工作,就得看你之前敲代码和理解的程度了。

7 这个时间点,大三学生可以更从容

    相比之下,当下大三的同学,时间上就从容多了,除了可以做上文提到的运行项目+背题之外,还可以做如下的事情。

    1 虽然当前环境下兼职活不好找,但不等于找不到,你可以用扫楼的方式去找软件实习活。

    2 每个学校,计算机方向的老师,总有和外面公司有合作的,把活接到教研室里做,你打听下找老师做。由于给钱少,或者甚至不给钱,不少老师都愿意带本科生一起做。

    3 更可以系统地看技术和运行项目。这里提到的技术,除了是课本上的理论知识外,更需要看Spring boot框架方面的技术。由于有充足的时间,所以更可以多照着视频做。就按两个月运行通一个项目的速度,到了大四,至少能跑通4个左右的项目。跑项目遇到问题怎么办?第一多视频讲解,第二就把错误点放网上搜,第三你还有充足的时间去问老师问技术大神。

    4 更重要的是,你可以通过写技术博客,或者公众号等手段,不断写下你提升技术的心得。这样到找工作的时候,你博文本身也就是一个亮点,更别提你所积累的技术了。

8 总结:进大厂 or 送外卖,更取决于你

    计算机应届生,能否找到工作,或者能否找到好工作,根本在于实践过(或者运行通)多少个项目,而不是取决于专业课学得有多好。

    从这角度上看,广大毕业生朋友当下应当找各种渠道,或者多接触商业项目,或者多在自己的电脑上跑通并理解学习项目,这才是面试的底气,而是单纯地背各种面试题。

    我见过太多的毕业生,在大四上学期还是前景堪忧,但经过半学期的努力,就能找到心仪的工作,还不用去培训班。所以哪怕是从现在开始努力,为时也不算晚。最后祝各位毕业生都前程似锦。

    

请大家关注我的公众号:一起进步,一起挣钱,在本公众号里,会有很多精彩文章。

每个开发人员都应该知道的WebSockets知识

相关推荐

发表评论

路人甲

网友评论(0)