易讯考务系统

查看更多新闻

这样准备面试,薪资比预期至少多拿30%!

2021-12-06 14:43:24 易讯考务系统 阅读

由于小易做了比较长时间的技术面试官,根据小易的面试体会,不少同学收到面试后,什么准备也不会做,到时候就来了。


这样做的后果是:不知彼,不知己,每战必殆。哪怕侥幸面试成,工资一定会被压得很低。


其实公司肯花时间让你去面试,前提条件一定是通过你的简历,一定发现了你和公司的匹配点,也就是说,一定是有录用意向的


在技术面试的时间段里(最长1个小时),你如果能展现你的优势那是最好的,但如果你做不到这点,简单点,让面试官感觉你达到了最低标准即可。


至于通过技术面试后,项目经理或人事的面试一般是过滤特别差的,比如考察些团队协作能力和沟通表达能力等,这对大家来说应该不是问题。所以在本文里,主要讲述下面试的准备点。



01

至少定出2天的准备时间

     

面试的准备时间一般别低于2天,如果可以,再延长些,但别太长。


比如是去现场面试,可以找的借口就比较多,比如项目忙,会多,时间间隔别超过5个工作日。比如周二收到通知,就尽量约到周五,如果是周三周四,那么别超过下周二


电话面试的话,借口不多,一般可以约到两天后。


但不建议今天接到通知,明天就直接电话面或现场面了,一方面公司会认为你当前很闲,另一方面,你真就没太多的准备时间了。 



02

一定得再次阅读

公司的职位要求


就好比是考试,先得审题,大方向错了,准备就白做了。


比如,有如下的职位描述。


图片


我们能从中挖掘出如下的技能需求点:


1、3年经验,熟悉常用类库 

2、熟悉Spring和Mybatis框架 

3、熟悉分布式中间件(比如消息,缓存等中间件) 

4、熟悉数据库,最好是NoSQL 

5、最好有大数据经验


而关于非技能的要求如下:


1、有责任心,有主动性 

2、需要有团队合作的能力 

3、需要有良好的编码习惯,学习能力要强。


其实,在投简历前,就可以根据上述要求微调简历,这样获得该岗位的面试机会能更大。不过在本文里,就将以上述需求为例,讲述面试前的准备。



03

在刷题前

先准备项目描述的说辞


小易见到不少候选人,在面试前,就会着重刷题,比如看算法题,基础题等,这个是必要的。

   

不过在面试里,第一个环节一般都是项目介绍,也就是说,如果面试官通过项目,看到你的技能和职位不匹配,你甚至没有机会被问其他问题。 

    

这里介绍些项目描述的要点:

    

01 业务需求可以一笔带过,用寥寥几句话介绍项目的背景,大致做了什么,工期和人数即可,别讲太多,因为面试官不关心。


下面给出一个说辞的案例。

    

我上个项目是做电信系统的计费软件,客户是xxx,工期是xxx个月,有5个人一起做,我在里面做的是开发。

    

02  结合项目实际需求,介绍项目用到的技术,比如在上述职位描述里,要求有spring mvc,消息中间件,数据库等需求。


下面同样给出各说辞的案例。

    

在这个项目里,我们用到了Spring MVC(或Spring Boot或Spring Cloud)框架,数据库是用Oracle,ORM组件是用Mytabis。


在项目里,我们在是通过消息queue来发送计费成功的消息,消息中间件我们使用Kafka,为了降低数据库访问次数,我们会把客户信息放在redis缓存中。


此外,我们在网关层接入了nginx做负载均衡。

    

大家能看到,在上述说辞里,我们结合了案例,说出了招聘方需要的技术点。


不过请注意,这里仅仅是介绍项目,结合功能点说出技术即可,别过多展开,因为一旦过度展开,就会让面试官感觉你思路不清晰,或者凭借准备有恃无恐。

    

03 再结合项目,说些招聘方需要的非技术的要求。

    

在这个项目里,我们用到了xx设计模式,而且,我们会定期review代码,以求保证代码的质量,而且,当项目工期比较紧的时候,我还会客串配置管理的角色。


在这个项目里,我一有问题,马上会和经理或测试或其它组的人沟通。

    

04 如果有,说下你在项目里的亮点,比如用到了一些比较好的技术。

    

这个项目对数据库性能和内存性能要求比较高,所以我用到了Oracle调优技术和JVM内存优化技术,此外,我们还用到了大数据分析的工具对计费模式做了优化。

  

大家看到,上述说辞不复杂,准备好以后,说起来估计也就2,3分钟。但就通过上述说辞,亮出了你的基本信息,而且能给面试官留下思路清晰,技术匹配的印象。


这里请注意,如果大家在项目里的技术和要求的不匹配,不建议作假,但可以通过如下的方式来做到匹配


01 如果你的ORM用的不是Mytabis,而是itabis或干脆hibernate,就直说用到这些,因为ORM是相通的。


02  如果这个技术,比如Redis,在项目里用到,但你没做,你可以在了解的基础上说出来。


比如说:“这个项目还用到了Reids...,redis是用在xx模块上,功能是xxx”,请注意,这里你说是项目用到了,而不是你用到了,这里,如果在后继的回答中,你对redis的用法和技能问题都能回答上,那么面试官不会介意这点。


03  某个技术你在这个项目里没用到,但你比较熟悉,你也可以通过如下的说辞说下。


我在其它项目里还用到了nginx(模糊回答,没刻意说这个项目),具体的应用场景是xxx(结合功能点说),用到了其中的xx配置项(通过些关节点来印证你用过)。


这里请务必注意,在准备项目说辞的时候,可以尽量和职位要求靠,但别太离谱


因为你说的每个技术点,在后面,面试官都可能提问。


如果某个技术点你没掌握,其实问题不大,面试官本来就没要求你十全十美,但如果你说你用过某个技术,但通过后面的问题,面试官发现你其实没用过,或者掌握程度没像你说得那样好,那么这个性质就不一样了。


    图片



04

一定得准备

项目描述里提到的技术


在介绍项目时,就好比是钓鱼,吸引面试官把注意力集中到你提到的技术点上。


所以在准备面试的时候,一定得先准备你项目里提到的技术(大多也是招聘要求的技术)。准备时可以按照如下的思路。


第一

一定得结合项目背景,比如大家要准备分布式缓存redis,先说在哪个项目的哪个场景里用到,比如在刚才提到的电信系统里。


这样就会让面试官感觉到这个技术你实际用过,而不是简单地只有学习经验。


第二

有不少关键点,你用到以后一定是知道的,比如redis的基本数据结构,如何读和写,缓存如果击穿了怎么办?这些问题点一定得准备,所谓吹牛要打草稿。


比如你可以说,在配置redis时,用到了xx配置文件的xx属性,它是干嘛的。这话不用多,但说出来以后,面试官一听就知道你真的用过。


第三

可以准备些这个技术的高级问题,比如Redis集群如何搭建,集群里一台机器失效了怎么热备转移。


同样,可以讲些如何配置以及如何使用的关键点。或者,大家可以准备redis分布式锁的底层实现。


请记住,需要对你项目里提到的任何技术都按上述要求做准备,虽然有些技术你未必会被问到


这里,如果大家在项目里仅仅是用到了基本的功能,比如redis就用了基本的读和写,但你可以适当看些高级知识点和面试题。



05

一定得准备亮点话题


一定得准备亮点话题,并想办法往这方面绕,而且亮点话题多多益善


例如你是微软MTA Java编程应用国际认证持有者,可以准备如下的话题,大家也能以此为参考,准备些其它的话题:

    

1、虚拟机内存优化 

2、数据库性能调优 

3、分布式高并发架构 

4、一些热门组件,比如redis,nginx等 

5、大数据方向的用法 

6、java core(比如集合或多线程)方面的底层实现代码 

7、Spring系列(比如IOC, AOP, MVC,Spring Boot, Spring Cloud)方面的底层实现代码。

要准备到什么程度:


1、最好结合项目实际说出真的用过这些技术。

2、最好往性能调优方面靠。

    

下面就以虚拟机为例,说下如何在面试中引出该话题,以及面试时该怎么说。


第一

在简历的最近项目介绍里加上类似这样描述,“这个项目的内存要求比较高,虽然在项目里分配的对象不少,但这个项目只被分配了1G内存。


所以在这个项目里,我实践了一些定位排查内存问题的技能,也做了些调优的工作“,这样面试官见到简历的描述,就会自然而然地提问了。

    

第二

在面试中总会有“项目介绍”这个环节,面试官会让候选人介绍最近的(或最拿得出手)的一个项目,这样大家就可以顺势说出刚才已经给出的描述。

    

第三

大家可以在回答数据库或集合等方面的问题时引出这个话题,比如回答完JDBC问题后,大家可以说一句,“用好的Connection对象我们会及时关闭,否则它所占用的内存对象无法被GC回收”。


或者在谈及List等集合类型时,同时多说一句,“用好的集合对象我们会及时clear掉,否则这个集合也会对一些对象产生强引用,这样就会延迟对象的回收时间”。    

    

第四

在自我总结时,可以说,有虚拟机调优的经验。那么,在面试时,该怎么说呢? 

     

1、大家可以先从堆的结构入手,进而详细说明垃圾回收的流程。


2、再进一步说明如何写出高性能的代码。比如物理对象(比如Connectio或IO)用好之后得及时close。大的对象用好后应当及时设置成null,以撤销强引用。集合对象用好后应当及时clear。尽量别频繁地使用String(或其它不变类)对象,这样容易产生内存碎片。


3、还展示监控、定位和调优方面的综合能力。这里可以说下,比如通过Jprofiler+jmeter进行JVM性能调优的方法。


4、大家甚至可以看些虚拟机的底层实现细节,在面试中说下,这样能大大提升自己的专业素养。


参与微软MTA国际认证计划,

加入微软全球人才库,

获取微软证明,

向面试官展示最强的自己,

赢得100%加薪!

图片


北京市东城区天坛路57号2层,100005 京ICP备2021023710号
易讯教育 版权所有 2008-2024 Powered by MetInfo 5.3.18 ©2008-2024 www.metinfo.cn