很多程序员都会抱怨工作不好找,特别是刚实习完或者工作一两年左右的程序员,其实挺尴尬的,高不成低不就。那么今天就给各位程序员们分享一些求职经验,希望能够帮助到有需要的朋友们。
求职第一步是要制作一份好的简历,它是你的敲门砖。
在写简历这方面,需要下一定的功夫。毕竟简历就是你给别人的第一印象,而印象则决定你的面试机会。简历突出的就是一个简字,简历的制作不要过多,也不要过少。2-3页最好。
简历的三个重要点就是,我是谁、我要做什么、我能做什么。
第一点,个人的基本信息。
除了个人姓名、籍贯、现住地址等外,还需加上毕业学校、所学专业、工作时间等。重要的信息填上,无关的信息则少写或不写。例如身高、体重之类的。
第二点,求职意向。
这点很重要,可以的话,排版放在个人信息下面。求职意向主要就是期望工作的岗位、工作的地址以及薪资。工作岗位建议后面加个相关工作,可以少许提升面试机会。例如,java工程师及相关工作。薪资这块则建议填写面议,过高或着过低只会降低面试机会。
第三点,也就是HR最重视的一点,技术能力这块。
就写做掌握的技术以及相关熟练度,最好多用点技术关键字,毕竟不少的HR是按照关键字来搜索的。例如 JAVA、SQL、linux等。这点排版也建议放在求职意向下面。剩下的就是工作经历以及项目经验了。工作经历这块就不细说了。重要的是项目经验。
项目描述这块,个人建议,第一点,你要告诉别人,你的这个项目是做什么,为什么人群服务,怎么使用。不要过多的说明用了什么技术,用这些技术怎么开发项目。这点大致提下就可,毕竟篇幅有限,使用技术这块和面试官相谈即可。
第二点,项目负责开发的模块以及技术,这点需要让别人知道你在这个项目做了什么,用到了那些技术。第三点,项目业绩,这点看个人,如果不知道怎么写,可以写个人在项目学到了什么,或者碰到了那些问题,是如何解决的。
至于自我评价、获奖之类的,可以留在最后书写,写自己的真实情况,最好不要使用招聘网上的那种模版。
投递简历这块这块看个人而定,智联、51、BOSS直聘、拉钩、猎聘这些还行,尤其是后三个,专门为IT行业服务的。可以多试试。
如果有内推的话更好。现在微信招聘之类的也不错,还有一些社区招聘之类的也可以多看看。
注意:如果面试收费之类的,这种就不用考虑了。在投简历的时候可以去看准网查查该公司的相关情况。
在准备好简历之后,应该做些相关面试准备。
首先,是笔试题,这点是初级程序员绕不过去的坎。
笔试题一般的公司都会出的,除非你是大牛,可以选择不做。所以,还是老老实实的准备吧。
首先,基础相关面试题要做好。
一些Java相关的面试题型都有。还有在一些网站上面做面试题,例如牛客网和慕课网。
一些比较常见出现的问题,顺便列举下。
JAVA
1.5个常用的java-api包。
2.String类中常用的5个方法。
3.API接口开发的注意事项。
4.TCP/IP、HTTP协议。
集合相关的问题(重点)
1.HashMap、TreeMap、Hashtable、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的实现和区别之类的。
2.上述集合中的那些是线程安全的,那些不是。
3.在那些场景使用这些集合。
4.List、Map、Set三个接口,存取元素时,各有什么特点。
线程相关问题(重点)
1.创建线程的几种方式。
2.线程同步的方法。
3.wait和sleep区别。
4.Runnable接口和Callable接口的区别。
5.如何实现线程安全。
框架相关知识(这块反而不多)
1.Mybatis#和$的区别.
2.Hibernate和Mybatis的区别。
3.Spring MVC和Struts2的区别.
4.Hibernate的缓存机制。
5.什么是Hibernate延迟加载.
6.为什么要用spring。
SQL(主要考察Group by和Order by相关知识)
1.查询每个班级成绩最高的学生。
2.查找出每个班级成绩第二的学生。
3.按照班级查询每个班上总分前三的学生。
4.查找入职员工时间排名倒数第三的员工所有信息。
5.薪水排序后薪水排名在第2--8的员工。
6.按工资进行排名,排名从1开始,工资相同排名相同(如果两人并列第一则没有第二名,从第三名继续排)。
7.用一条sql语句取出所有姓名有重复的学员姓名和重复的记录数。
JavaScript/JSP/Servet (这些一般是基础题)
1.JSP的内置对象以及作用。
2.JSTL的常用标签。
3.Servlet的生命周期。
4.URL和URI的区别。
5.Ajax同步和异步的区别。
6.使用ajax发送异步请求的流程。
其它
1.&和&&的区别。
2.==和equals的区别。
3.int和Integer的自动拆箱/装箱相关问题。
4.IO和NIO的区别。
5.final、finally、finalize的区别。
6.重载(Overload)和重写(Override)的区别。
7.String、StringBuffer和StringBuilder的区别。
8.如何实现浅克隆和深克隆。
9.单例模式的实现以及最优。
10.排序的实现(冒泡、选择、快速等)。
11.去除重复的元素(实际是重写equals和hashcode)。
个人能力这方面无非两个方面,广度和深度。
技巧很简单,就是说自己擅长的。技术掌握广,但是不深,就可以将自己的技术广度多说点,顺便可以提下自己的优点 例如:学习新技术很快;技术掌握深,但是不广,就可以将掌握的深度多说点,可以提下自己在学习这块的专研度。如果在这两点都没有太明显的优点的,可以尝试从项目业务说,最好将项目吃透。
与面试官相谈的切记要诚实,不要弄虚作假。碰到不会的或者了解不深的,直接跳过,最好将面试官引导到自己擅长的领域。
面试完之后,最好进行总结。毕竟每一次面试都是一次收获。如果将面试中所遇到的问题以及感悟能记下来,那就再好不过了。
在找工作的时候,除了做些相关面试和准备熟悉以前做的项目之外,还应该学习新的知识。毕竟,每多学一点,成功找到工作的机会就大一点。而且,IT这行,技术发展过于快速,如果没有学习新知识的动力,终究会被淘汰。
因为学习实在是很枯燥无味。学习是一个长期投资,短期很难道看到收益,而娱乐是一项短期投资,短时间便可以看到收益。所以学习这块最好可以给自己定一个目标,每天学习一点,慢慢的会达到的。如果没有动力的话,可以给自己设置奖励。这是可以激发学习的兴趣的。
还有一点,今天能做完的事情,绝对不要留给明天。毕竟,人都是有惰性的。你要相信你自己,今天的你能做的没有做,明天的你也不会做的。
最后,祝在找工作的各位能找到自己心仪的公司!