开始我们需要清楚一个事实,招聘的一个很环节的成分是在给本人找未来的同事,同级别下要找比本人优秀的人,面试是一个双向选定的历程,也是一个将心比心去交流的历程。
作为面试官,我只能凭据候选人的回覆来决意面试后果。但是,与人利便本人利便,所以我在本文里,将通过一些常用的问题来介绍面试的筹办技巧。大家在看后一定会感叹:只要技巧得当,筹办面试第一不难,第二用的时间也不会太多。
一、开场白:
(1)简单的介绍一下本人的事情经历与职责,在校或者事情中主要的事情内容,主要负责的内容;(你的信息一清二白的写在简历上,这个主要为了缓和面试者的压力)
(2)绍下本人非常写意的,有技术亮点的项目或平台,重点介绍下本人负责那片面的技术细节;(主要考查应聘者对本人做过的事情是否有清楚的形貌,校验做的事情的复杂度)
二、 框架重点:
别让人感觉你只会山寨别人的代码在面试前,hr会阅读简历以查看候选人在框架方面的项目经验,在候选人的项目介绍的环节,也会着重关注候选人非常近的框架经验,当前对照热门的是SSM。但是,普通事情在5年内的候选人,大多仅仅是能“山寨”别人的代码,也即是说能在现有框架的基础上,照着别人写的流程,扩大出新的功效模块。好比要写个股票挂单的功效模块,是会模仿现有的下单流程,然后畴昔端到后端再到数据库,依样画葫芦写一遍,非常多把功效相关的代码点改掉。
其实每个人都这样过来的,但在面试时,要是你仅仅阐扬出这样的才气,就和大多数人的水平差不多了,在这点就没法体现出你的优势了。我们晓得,要是单纯使用SSM框架,大多数项目都会有痛点。好比数据库性能差,或者业务模块对照复杂,并发量对照高,用Spring MVC里的Controller无法满足跳转的需要。所以hr普通还会主动问:你除了遵照现有框架写业务代码时,还做了哪些改动?
听到的回覆有:增加了Redis缓存,以避免频繁调用一些不变的数据。或者,在MyBitas的xml里,语句where条件有isnull,即这个值有就增加一个where条件,对此,会对任何一个where增加一个不带isnull的查询条件,省得该语句当传入参数都是null时,做全表扫描。或者,干脆说,后端异步返回的数据量很大,时间很长,在项目里就调大了异步返回的非常大时间,或者对返回信息做了压缩处理,以增加网络传输性能。
三、别单纯看单机版的框架,适当打听些分布式:
在形貌项目里框架技术时,非常好你再带些分布式的技术。下面列些大家可以筹办的分布式技术。
(1)反向代理方面,nginx的基本配置,好比若何通过lua语言设置规则,若何设置session粘滞。要是可以,再看些nginx的底层,好比和谈,集群设置,无效转移等。
(2)远程调用dubbo方面,可以看下dubbo和zookeeper整合的知识点,再深一步,打听下dubbo底层的传输和谈和序列化方式。
(3)消息队列方面,可以看下kafka或任意一种组件的使用方式,简单点可以看下配置,事情组的设置,再深入点,可以看下Kafka集群,持久化的方式,以及发送消息是用长连接或是短阻挡。
以上仅仅是用3个组件举例,大家还可以看下Redis缓存,日志框架,MyCAT分库分表等。
四、数据库方面,解性能优化:
别就晓得增编削查,还得打听性能优化,在实际项目里,大多数程序员用到的可能仅仅是增编削查,当我们用Mybatis时,这个情况更普遍。但是要是你面试时也这样阐扬,估计你的才气就和其它竞争者差不多了。
这方面,你可以筹办如下的技能:
(1)SQL高级方面,好比group by, having,左连接,子查询(带in),行转列等高级用法。
(2)建表方面,你可以考虑下,你项目是用三范式或是反范式,理由是什么?
(3)尤其是优化,你可以筹办下若何通过执行计划查看SQL语句改进点的方式,或者其它能改善SQL性能的方式(好比建索引等)。
(4)要是你感觉有才气,还可以筹办些MySQL集群,MyCAT分库分表的技能。好比通过LVS+Keepalived实现MySQL负载均衡,MyCAT的配置方式。同样,要是可以,也看些相关的底层代码。
哪怕你在前三点阐扬普通,辣么至少也能超越将近普通的候选人,尤其当你在SQL优化方面阐扬非常好,辣么你在面试高级开发时,数据库层面一定是达标的。
五:Java核心方面,围绕数据布局和性能优化筹办面试题:
Java核心这块,网上的面试题很多,但是在此以外,大家还该当着重关注鸠合(即数据布局)和多线程并发这两块,在此基础上,大家可以筹办些设计模式和虚拟机的说辞。
服务热线
18074870991