前言
本人十年开发经验,今年年初从之前公司跳槽,面试了多家大厂,因此在面试许多公司,找到了目前最适合自己的公司之后。于是做一个关于面试的总结。希望能够给那些依旧在找工作的同学提供帮助。
面试
其实关于面试总结这块,我也看过不少文章,但是大部分都是关于面试题以及面试中的问题所谈。但是对于一个不擅长找工作的同学来说,其实在简历制作这-块很重要。因为简历没写好的话,连面试邀请都没,何谈面试呢。所以我准备谈谈我对简历制作这块的一一些见解。如有不妥,欢迎指出!
简历制作
在写简历这方面,需要下一定的功夫。毕竟简历就是你给别人的第- -印象, 而印象则决定你的面试机会。简历突出的就是一个简字, 简历的制作不要过多,也不要过少。2-3页最好。简历的三个重要点就是,我是谁、我要做什么、我能做什么。
还有一点,今天能做完的事情,绝对不要留给明天。毕竟,人都是有惰性的。你要相信你自己,今天的你能做的没有做,明天的你也不会做的。
第一点,个人的基本信息。|
除了个人姓名、籍贯、现住地址等外,还需加上毕业学校、所学专业、工作时间等。重要的信息填上,无关的信息则少写或不写。例如身高、体重之类的。
第二点,求职意内。
这点很重要,可以的话,排版放在个人信息下面。求职意向主要就是期望工作的岗位、工作的地址以及薪资。工作岗位建议后面加个相关工作,可以少许提升面试机会。例如,java工程师及相关工作。薪资这块则建议填写面议,过高或看过低只会降低面试机会。
第三点,也就是HR最重视的一点,技术能力这块。
就写做掌握的技术以及相关熟练度,最好多用点技术关键字,毕竟不少的HR是按照关键字来搜索的。例如JAVA、SQL、1 i nux等。这点排版也建议放在求职意向下面。剩下的就是工作经历以及项目经验了。工作经历这块就不细说了。重要的是项目经验。
项目描述这块,个人建议
第一点,你要告诉别人,你的这个项目是做什么,为什么人群服务,怎么使用。不要过多的说明用了什么技术,用这些技术怎么开发项目。这点大致提下就可,毕竟篇幅有限,使用技术这块和面试官相谈即可。
第二点,项目负责开发的模块以及技术,这点需要让别人知道你在这个项目做了什么,用到了那些技术。
第三点,项目业绩,这点看个人,如果不知道怎么写,可以写个人在项目学到了什么,或者碰到了那些问题,是如何解决的。至于自我评价、获奖之类的,可以留在最后书写,写自己的真实情况,最好不要使用招聘网上的那种模版。
简历投递
投递简历这块这块看个人而定,智联、5 1、BOS S直聘、拉钩、猎聘这些还行,尤其是后三个,专门为IT行业服务的。可以多试试。
如果有内推的话更好。现在微信招聘之类的也不错,还有一些社区招聘之类的也可以多看看。
注意:如果面试收费之类的,这种就不用考虑了。在投简历的时候可以去看准网青查该公司的相关情况。
面试准备
在准备好简历之后,应该做些相关面试准备。
首先,是笔试题,这点是初级程序员绕不过去的坎。
笔试题一般的公司都会出的,除非你是大牛,可以选择不做。所以,还是老老实实的准备吧。
基础相关面试题要做好。
一些比较常见出现的问题,顺便列举下。
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.用一条sq|语句取出所有姓名有重复的学员姓名和重复的记录数。
JavaScript/JSP/Servet (这些般是基础题)
1. JSP的内置对象以及作用。
2. JSTL的常用标签。
3. Servlet的生命周期。
4. URL和URI的区别。
5. Ajax同步和异步的区别。
6.使用ajax发送异步请求的流程。
其他
1. &和&&的区别。
2. ==和equals的区别。
3. int和Integer的自动拆箱/装机相关问题。
4.10和NIO的区别。
5. final, finally. finalize的区别。
6.重载(Overload)和重写(Override) 的区别。
7. String, StringBufferStringBuilder的区别。
8.如何实现浅克隆和深克隆。
9.单例模式的实现以及最优。
10.排序的实现(冒泡、选择、快速等)。
11.去除重复的元素(实际是重写equals和hashcode)。
面试流程
现在有不少公司先是人事面试,然后技术面试。所以在人事这块谈论工资的时候,最好不要说死,或者先不谈,留着技术面试过了之后再谈。有点因为在工资待遇这块没谈好,就直接走人了。毕竟面试双方都要花要不少时间,所以这块露注意!
在相谈的时候,要注意礼貌,无论是否成功,都应该注意言行和态度。
一般技术面试这块会先让做个自我介绍,这块应该从大学开始讲,不应过多,重点放在工作上和项目上。大学这块就简单介绍毕业学校。毕业时间以及所学专业。如果有关于IT之类的获奖,可以提一下,但不宜多说。
项目这块,可能会提问为什么这么做,如果让你来重新设计,你会如何设计。在这个项目中的困难点是如何攻克的,在这个项目中学习到了那些等等。
在项目讲述这块,最好找面试言所感兴趣的项目,一般就是做过的项目和所招聘岗位较为符合的。在面试结束之后,理应说声感谢!毕竟面试其实也是成长的一种一般来说,技术面试过了的话,基本也就过了。剩下的就看待遇相谈这块了。在待遇这块最好遵循自己的想法,不要因为当初没谈好,后来工作时心中不满,产生的一系列问题。
面试技巧
个人能力这方面无非两个方面,广度和深度。
技巧很简单,就是说自己擅长的。技术掌握广,但是不深,就可以将自己的技术广度多说点,顺便可以提下自己的优点例如:学习新技术很快;技术学握深,但是不广。就可以将课程的深度多说点,可以提下自己在学习这块的专研度。如果在这两点都没有太明显的优点的,可以尝试从项目业务说,最好将项目吃选。
与面试官相谈的切记要诚实,不要弄虚作假。碰到不会的或者了解不深的,直接跳过,最好将面试言引导到自己擅长的领域。
面试总结
面(36分钟)芝麻信用
1.hashmap和hashtable区别
2.为什么产生死锁
3.jvm类加载
4.java反射获取私有属性,改变值
5.反射用途
6.所用数据库
7.项目难点,问题
8.如何解决项目中遇到的问题
9.项目中遇到最自豪的地方
10.会什么算法
二面(44分钟)支付宝创新
1.讲项目
2.数据库乐观锁使用
3.状态机
4.如何解决状态机不对问题
5.如何分库分表
6.MySQL极限
7.HashMap源码
8.设计一个线程安全的HashMap
9.快排的实现,时间复杂度和空间复杂度
10.会什么算法
11.如何把项目变成SOA架构
12.Spring源码,最深刻的模块,aop用途
13.JVM内存模型
14.垃圾回收机制
15.项目中查看垃圾回收
三面(33分钟)菜鸟国际
1.项目中的权限管理
2.登录状态如何储存
3.session和cookie的区别,session如何管理
4.HashMap底层结构
5.synchronized关键字的用法
6.synchronized修饰类方法和普通方法的锁区别,获取类锁之后还能获取对象锁吗
7.类加载器的双亲委派模型的作用,能重复加载某个类吗
8.类加载器的类的缓存,key是什么
9.介绍Redis
10.如何将数据分布在不同的Redis
11.有了解过取余算法?
12.spring的apo实现
13.字节码结构
14.浏览器输入网址过程,结合springmvc
四面(36分钟)菜鸟国际供应链
1.HashMap在大量哈希冲突该怎么处理
2.红黑树比BST优点
3.MySQL为什么使用B+树
4.多个索引会有多份数据吗
5.数据库的隔离级别和解决的问题
6.数据库默认隔离级别,一定会产生幻读吗,怎么解决
7.输入网址到展示的整个过程,结合springmvc来讲
8.负载均衡的算法
9.哈弗曼编码,如何解决译码问题
10.实习会对工作有影响吗
11.用英文介绍一个项目
12.如何查看系统负载
13.描述一个解决问题的过程
14.如何把文件从服务器复制到本地,用什么命令
五面(27分钟)菜鸟技术部
1.当时怎么找到百度这个机会的
2.项目中用的哪些技术
3.项目如何设计流程流转,如果是你的话该怎么设计
4.MySQL使用的索引结构,查找效率
5.MySQL查询优化6.MySQL慢查询开启,语句分析
7.HashMap查找效率
8.JVM内存模型
9.设计模式,策略模式的使用场景
10.如何确保单例线程安全
11.Spring的bean的默认范围
12.对Netty的了解
13.未来发展规划
14.如何让代码可读性更加复杂
六面(22分钟)HR面
1.说一下发展方向
2.说一下经验不足导致的问题
3.说一下挑战杯的工作内容
4.说一下你给挑战杯项目的主要贡献
5.实习时间
6.拿到了哪些offer,你是怎么考虑的
7.为什么不选择腾讯
8.腾讯技术栈和阿里技术栈的区别
面试完之后,最好进行总结。毕竟每一-次面试都是一 -次收获。 如果将面试中所遇到的问题以及感慨能记下来,那就再好不过了。
在找工作的时候,除了做些相关面试和准确熟悉以前做的项目之外,还应该学习新的知识,毕竟每多学一点,成功找到工作的机会就大一点。而且,IT这行,技术发展过于快速,如果没有学习新知识的动力,终究会被淘汰。
因为学习实在是很枯燥无味。学习是一个长期投资,短期很难道看到收益,而娱乐是一项短期投资,短时间便可以看到收益。所以学习这块最好可以给自己定一个目标,每天学习一点,慢慢的会达到的。如果没有动力的话,可以给自己设置奖励。这是可以激发学习的兴趣的。
还有一点,今天能做完的事情,绝对不要留给明天。毕竟,人都是有惰性的。你要相信你自己,今天的你能做的没有做,明天的你也不会做的。
附上自己总结的大厂面试题一份,需要刷题的同学可以先点赞+收藏后私信【大厂】得到获取方式



最后
祝在找工作的各位能找到自己心仪的公司! ! !
如果你对生活感觉到了绝望,请不要气馁。因为这样只会让你更加绝望!所谓的希望往往都是在绝望中萌发的,所以,请不要放弃希望!
网友评论