薪资比预期高30%的java开发面试技巧
*比预期高30%的java开发面试技巧
1、面试前准备、至少定出2天的准备时间
面试的准备时间一般别低于2天,如果可以,再延长些,但别太长。
比如是去现场面试,可以找的借口就比较多,比如项目忙,会多,时间间隔别超过5个工作日。比如周二收到通知,就尽量约到周五,如果是是周三周四,那么别超过下周二。
电话面试的话,借口不多,一般可以约到两天后。
但不建议今天接到通知,明天就直接电话面或现场面了,一方面公司会认为你当前很闲,另一方面,你真就没太多的准备时间了。
2、了解职位要求,一定得再次阅读公司的职位要求
就好比是考试,先得审题,大方向错了,准备就白做了。
比如,有如下的职位描述。
我们能从中挖掘出如下的技能需求点:
3年经验,熟悉常用类库
熟悉Spring和Mybatis框架
熟悉分布式中间件(比如消息,缓存等中间件)
熟悉数据库,较好是NoSQL
较好有大数据经验
而关于非技能的要求如下:
有责任心,有主动性
需要有团队合作的能力
需要有良好的编码习惯,学习能力要强。
其实,在投简历前,就可以根据上述要求微调简历,这样获得该岗位的面试机会能更大。*在本文里,就将以上述需求为例,讲述面试前的准备。
三、组织好项目经验总结,在刷题前,先准备项目描述的说辞
我见到不少候选人,在面试前,就会着重刷题,比如看算法题,基础题等,这个是必要的。
*在面试里,*一个环节一般都是项目介绍,也就是说,如果面试官通过项目,看到你的技能和职位不匹配,你甚至没有机会被问其他问题。
这里介绍些项目描述的要点:
a) 业务需求可以一笔带过,用寥寥几句话介绍项目的背景,大致做了什么,工期和人数即可,别讲太多,因为面试官不关心。下面给出一个说辞的案例。
我上个项目是做电信系统的计费软件,客户是xxx,工期是xxx个月,有5个人一起做,我在里面做的是开发。
b)结合项目实际需求,介绍项目用到的技术,比如在上述职位描述里,要求有spring mvc,消息中间件,数据库等需求,下面同样给出各说辞的案例。
在这个项目里,我们用到了Spring MVC(或Spring Boot或Spring Cloud)框架,数据库是用Oracle,ORM组件是用Mytabis,在项目里,我们在是通过消息queue来发送计费成功的消息,消息中间件我们使用Kafka,为了降低数据库访问次数,我们会把客户信息放在redis缓存中。此外,我们在网关层接入了nginx做负载均衡。
大家能看到,在上述说辞里,我们结合了案例,说出了招聘方需要的技术点,*请注意,这里仅仅是介绍项目,结合功能点说出技术即可,别过多展开,因为一旦过度展开,就会让面试官感觉你思路不清晰,或者凭借准备有恃无恐。
c)再结合项目,说些招聘方需要的非技术的要求。
在这个项目里,我们用到了xx设计模式,而且,我们会定期review代码,以求增加代码的质量,而且,当项目工期比较紧的时候,我还会客串配置管理的角色。在这个项目里,我一有问题,马上会和经理或测试或其它组的人沟通。
d)如果有,说下你在项目里的亮点,比如用到了一些比较好的技术。
这个项目对数据库性能和内存性能要求比较高,所以我用到了Oracle调优技术和JVM内存优化技术,此外,我们还用到了大数据分析的工具对计费模式做了优化。
大家看到,上述说辞不复杂,准备好以后,说起来估计也就2,3分钟 但就通过上述说辞,亮出了你的基本信息,而且能给面试官留下思路清晰,技术匹配的印象。
这里请注意,如果大家在项目里的技术和要求的不匹配,不建议作假,但可以通过如下的方式来做到匹配。
(1) 如果你的ORM用的不是Mytabis,而是itabis或干脆hibernate,就直说用到这些,因为ORM是相通的。
(2)如果这个技术,比如Redis,在项目里用到,但你没做,你可以在了解的基础上说出来,比如说:“这个项目还用到了Reids...,redis是用在xx模块上,功能是xxx”,请注意,这里你说是项目用到了,而不是你用到了,这里,如果在后继的回答中,你对redis的用法和技能问题都能回答上,那么面试官不会介意这点。
(3)某个技术你在这个项目里没用到,但你比较熟悉,你也可以通过如下的说辞说下。
我在其它项目里还用到了nginx(模糊回答,没刻意说这个项目),具体的应用场景是xxx(结合功能点说),用到了其中的xx配置项(通过些关节点来印证你用过)
这里请务必注意,在准备项目说辞的时候,可以尽量和职位要求靠,但别太离谱。因为你说的每个技术点,在后面,面试官都可能提问。如果某个技术点你没掌握,其实问题不大,面试官本来就没要求你十全十美,但如果你说你用过某个技术,但通过后面的问题,面试官发现你其实没用过,或者掌握程度没像你说得那样好,那么这个性质就不一样了。
4、技术应用,一定得准备项目描述里提到的技术
在介绍项目时,就好比是钓鱼,吸引面试官把注意力集中到你提到的技术点上。
所以在准备面试的时候,一定得先准备你项目里提到的技术(大多也是招聘要求的技术)。准备时可以按照如下的思路。
*一:一定得结合项目背景,比如大家要准备分布式缓存redis,先说在哪个项目的哪个场景里用到,比如在刚才提到的电信系统里。这样就会让面试官感觉到这个技术你实际用过,而不是简单地只有学习经验。
第二:有不少关键点,你用到以后一定是知道的,比如redis的基本数据结构,如何读和写,缓存如果击穿了怎么办?这些问题点一定得准备,所谓吹牛要打草稿。比如你可以说,在配置redis时,用到了xx配置文件的xx属性,它是干嘛的。这话不用多,但说出来以后,面试官一听就知道你真的用过。
第三:可以准备些这个技术的*问题,比如Redis集群如何搭建,集群里一台机器失效了怎么热备转移。同样,可以讲些如何配置以及如何使用的关键点。或者,大家可以准备redis分布式锁的底层实现。
请记住,需要对你项目里提到的任何技术都按上述要求做准备,虽然有些技术你未必会被问到。
这里,如果大家在项目里仅仅是用到了基本的功能,比如redis就用了基本的读和写,但你可以适当看些*知识点和面*题。
5、一定得准备亮点话题,并想办法往这方面绕,而且亮点话题多多益善
对于java*开发而言,可以准备如下的话题,大家也能以此为参考,准备些其它的话题:
虚拟机内存优化
数据库性能调优
分布式高并发架构
一些热门组件,比如redis,nginx等
大数据方向的用法
java core(比如集合或多线程)方面的底层实现代码
Spring系列(比如IOC, AOP, MVC,Spring Boot, Spring Cloud)方面的底层实现代码。
要准备到什么程度:
较好结合项目实际说出真的用过这些技术。
较好往性能调优方面靠。
下面就以虚拟机为例,说下如何在面试中引出该话题,以及面试时该怎么说。其它亮点话题也可以照此准备。
*一:在简历的较近项目介绍里加上类似这样描述,“这个项目的内存要求比较高,虽然在项目里分配的对象不少,但这个项目只被分配了1G内存,所以在这个项目里,我实践了一些定位排查内存问题的技能,也做了些调优的工作“,这样面试官见到简历的描述,就会自然而然地提问了。
第二:在面试中总会有“项目介绍”这个环节,面试官会让候选人介绍较近的(或较拿得出手)的一个项目,这样大家就可以顺势说出刚才已经给出的描述。
第三:大家可以在回答数据库或集合等方面的问题时引出这个话题,比如回答完JDBC问题后,大家可以说一句,“用好的Connection对象我们会及时关闭,否则它所占用的内存对象无法被GC回收”,或者在谈及List等集合类型时,同时多说一句,“用好的集合对象我们会及时clear掉,否则这个集合也会对一些对象产生强引用,这样就会延迟对象的回收时间”。
更多培训课程,学习资讯,课程优惠等学校信息,请进入 昆明官渡区IT培训昆明官渡区php培训昆明官渡区java培训 网站详细了解,免费咨询电话:400-998-6158