时光如梭,转眼间研究生即将毕业,学生身份也即将告一段落。在这里简单介绍一下我的求职历程,希望能够对各位同学有所帮助。
一、前期准备
1.着装:目前疫情严峻,大多数公司特别是省外的公司往往都是采用线上面试,因此对着装方面要求不高。而对于考公、银行等岗位以及一些省内公司的线下面试正装是必不可少的。
2.证件照及简历:要提前去专业的照相馆拍摄证件照,并准备一份个人简历,hr筛选简历的速度非常快,面试官一般在面试开始时才会看面试者的简历,因此个人简历一定要简约,要让面试官一眼看到你的主要信息与专业技能,这样可以让面试官快速了解面试者。
3.讲座:积极参加就业指导中心组织的一些求职讲座,同时学校学生就业指导中心也会专门建立QQ群来发布一些招聘信息。
二、求职心得
1.求职方向要提前明确
我认为求职最重要的首先是明确自己以后想要干什么,人生的第一份工作往往决定了你今后整个职业生涯的发展方向,因此绝不可马虎了事。要明确自己今后的求职方向也建议大家提前考虑,越早越好,这样留给你的准备时间会更充分。
2.专业技能要提前准备
如果同学想要从事的工作与自己的研究方向密切相关,并且在这方面有很多实际的工程类的操作的话,那么恭喜你,你在专业技能方面具有得天独厚的优势。例如你的研究方向经常会用到一些嵌入式设备,而导师手头上又有一些项目,而你恰好希望找一个嵌入式工程师的岗位,那么你只需要认真的完成导师给你布置的课题,尽量多的参与导师接手的实际项目,都会对你以后的求职提供帮助。而如果同学想找的工作是与研究方向不相关的话,那么我就建议要提前进行一些知识储备以及学习一些开源项目来丰富自己的技能树。由于我所找的工作时java后端开发方面的,下面我主要介绍一些自学java方面需要准备的内容。
对于0基础学习java的同学,目标为了找工作,所以首要任务是要在各类招聘网站上看一下招聘信息,这就是你学习的目标,看看目前互联网大厂都在用些什么技术,需要哪些方面的人才。后端开发的内容与技术相对较多,也比较冗杂,所以我建议大家主要以教学视频为主,专业书籍为辅。因为我们是半路出家,在短时间内完全了解每一项技术的基本细节时间肯定来不及,所以我们主要是在实用方面下功夫,而很多教学视频主要讲的就是应用,这里我推荐B站尚硅谷的教学视频,我的所有课程都是在尚硅谷上进行学习,并且完全免费,非常良心,视频质量也相对较高。
①:首先我们要分门别类的学习一些技术的基本使用方法,针对java后端开发,主要的学习技术可以总结为如下几部分:
JavaSE(这部分是java基础,熟悉java语言的基本特性) àMySQL(数据库基础)à JDBC (java自带的数据库交互包,实现相对复杂,但是很多框架的实现基础,该技术在之后会有spring/springboot+mybatis实现简化)àJavaWeb(此处会设计很多的网络知识,如果时间紧张可以不学直接跳过,后面会有专门的框架SpringMVC来简化实现,时间充裕的同学建议学习,了解原生Servlet的工作原理) à主要框架【 Spring,SpringMVC,MyBatis ,SpringBoot,SpringCloud(需要分布式架构方面的知识再学习)】à基本开发工具的使用【Maven,Git/GitHub ,linux等】à附加技术(主要针对时间充裕的同学进行扩展学习,但这些技术也是目前流行且常用的技术)【非关系型数据库Redis;中间件RabbitMQ,RocketMQ,kafka(目前非常流行);分布式架构的相关技术,例如注册中心ZooKeeper,Dubbo等,这里配合 SpringCloud一起学习 】
②:在学习完基础的内容之后,一定要跟着尚硅谷中学做1~2个项目,这样既可以丰富你的简历,不至于在简历筛选过程中直接就被pass掉。而且实际的项目可以让你之前学习的知识得到综合性的应用,也更能够加深学习。另外,所做的项目用到的技术以及遇到的问题以及解决方案这些是面试官在项目问题上常问的,需要大家提前准备一下,并且一定要对项目的基本实现了如指掌,以防面试官当场拆穿。
③:数据结构和算法是非常重要的,特别是想要找大厂的同学,大厂笔试基本上只有算法题,而且现场手撕代码就需要你对基本的数据结构和算法有一定的了解,主要多刷题,没有其他办法,leetcode,牛客等网站上面的算法题非常多,有时间就刷一刷。
④:面试除了基本的项目经验会被问到外,主要的就是一些基本的实现原理,这里往往都是八股文,需要大家花上一段时间去背一背,主要涉及的方面包括java基本语法与实现【例如异常与泛型等等】;多线程/并发、锁机制、volatile、CAS;java内存区域分布;垃圾回收机制;java8的新特性Stream;类加载机制;基本数据结构【例如HashMap的实现原理等等】;框架方面的基本实现原理【最常问的就是Spring框架IOC,AOP的含义】,计算机网络的基本概念【网络的七层结构,TCP、UDP的区别,TCP的三次握手四次挥手,HTTP实现为什么使用TCP而不是用UDP,HTTP协议的网络请求过程,对称加密与非对称加密技术等等】;设计模式【常问到的就是单例模式以及其5五种实现】;数据库相关知识【事务的四大特性、乐观锁悲观锁、B树B+数的区别】;常见的算法实现【例如排序算法的几种实现形式以及时间复杂度】。上述肯定不能包含全部的基础知识,这个需要同学们在日常的学习和面试中不断的积累。
3.面试信息的相关推荐
最后是一些推荐,首先推荐大家在牛客网上面进行搜索,来看一些面试者发布的大厂的笔经面经,这是学习面试常见内容的最最主要的途径,同时也可以了解一些招聘信息。如果要想去BAT这些大厂的同学强烈建议leetCode刷题,这个非常重要。而小厂往往对于算法方面要求不高。另外推荐一个小程序叫做OfferShow,这个小程序上面有很多公司的薪资范畴,都是匿名公开的,准确度相对较高。大家可以根据上面的薪资水平来判断自己的Offer是否适合。
在求职的这段时间大家一定要保持一个良好的心态。不要太过于在意一场面试的失利而影响到之后面试的发挥,我们只需要对每一场面试做好准备,而对于结果我们泰然处之。求之有道、得之有命,我们只要在这个过程中是努力的,结果如何不必在意,总结每一次面试的问题与不足,我们最终总会成功的,如风吹水、自然成纹。最后祝愿各位同学都能找到自己理想的工作!