校园招聘号角吹响,一大波毕业生正在路上。众所周知,校园招聘中最重要的几个环节就是投简历,笔试和面试了。

 

前两个部分的内容我们之前已经讲过了,今天我们来讲一下面试中你要知道的事。

 

由于我是技术同学,所以对其他岗位的面试不是很熟悉,我也参加过一些群面,但是毕竟较少,这里就不献丑了。

 

正常的技术面试一般有2到3轮,外加一轮HR面。技术面试的技巧其实不管是第几轮都是适用的。这里总结一下。

◆ ◆ ◆  ◆ ◆

自我介绍

 

一段好的自我介绍是一场面试成功的基础。自我介绍一般可以围绕着简历来说。

 

由于这段时间面试官会看你的简历,所以可以把时间控制为面试官看完简历所需的时间。

自我介绍最重要的是有条理,突出重点。

 

比如我会这么说:

1  您好,我是xxx,是xx大学研二的同学,专业是软件工程。

2  我主要学习和专注的方向是Java后端开发

3  之前我看过一些这方面的技术书籍,写过一些博客,做过一些项目。

4 去年有两段实习经历,分别是什么什么,大概说一下。

 

这样自我介绍说完大概就30秒左右,面试官也基本看完了简历,接下来面试官就可以开始提问了。

 

◆ ◆ ◆  ◆ ◆

 

回答问题的技巧

 

面试官开始提问,你开始回答,一般这个时间需要持续半小时到一个小时。你需要毫无保留地把你所学的东西表达出来,当然要使用得当的方式来回答。

 

◆ ◆ ◆  ◆ ◆

 

概念性问题回答步骤

 

概念性问题一般都要分点答题,可以使用总分总的结构,尽量答全面,只说自己比较有把握的部分,不要不懂装懂。

 

讲一下tcp的三次握手和四次挥手。

 

很基础的题目,但是回答也要有条理。一般可以分三步来回答,先说一下握手的过程,注意描述客户端和服务端,并且大概说一下为什么要这么做。

 

讲一下lock和synchorized的区别。

 

这道题你最好能分点来答,并且把用法和原理都答上。

 

1 sync和lock都是可重入锁。

2 sync可以锁类,实例和实例方法,lock只能锁方法。

3 lock可以搭配condition使用,以维护多个等待队列,而sync只有锁对象一个等待队列。

4 lock需要手动释放锁,否则会内存泄露。

5 sync底层使用系统调用,需要切换到内核态,而lock则使用aqs来实现。

 

看似简单的问题,如果要回答完整还是很不容易的,这时候分点答题是最好的选择,避免自己的思路混乱,也能让回答显得很有条理。

 

◆ ◆ ◆  ◆ ◆

 

算法类问题回答步骤

 

算法类题目的答题技巧也是有迹可循的,首先可以先问清题意,让面试官提供足够信息,然后要求思考一段时间,想一个暴力解法来回答,接着和面试官交流,不断进行优化。

 

说一下10亿个数找出前十个数的办法。

1 可以先问一下数字范围,单机内存是否足够

2 尝试回答建十个元素的小顶堆,数组遍历一遍即可。

3 如果面试官不满意,再尝试回答哈希分片到多台机器上执行,最后再进行归并。

 

总之,算法题一定是一个交流和思考的过程,了解足够多的信息以后,先暴力再优化,实在想不出来可以实话实说,不要打肿脸充胖子。

 

◆ ◆ ◆  ◆ ◆

 

实际场景类问题

 

这类问题通常不好准备,需要你综合以前所学,加上一些现场的思考来进行回答。不过万变不离其宗,如果你基础扎实,这类问题也难不倒你。

 

◆ ◆ ◆  ◆ ◆

 

秒杀系统架构怎么设计

 

其实这个题在网上可以找到答案,不过这类的场景题很受面试官青睐。

 

1 前端做好请求拦截,时间到之前不提供链接

2 http访问做负载均衡

3 请求消息通过消息队列削峰和限流

4 通过缓存缓解数据库压力

5 数据库做主从和读写分离

 

看似复杂的题,只要你有一定积累,还是可以分点回答清楚的。

 

◆ ◆ ◆  ◆ ◆

 

HR面回答技巧

 

如果能够面到HR小姐姐,那你已经是很优秀的同学了,HR面说简单也简单,说难也难,重要性自然不及技术面试,但是也要足够重视。

 

1 纯咨询类问题

家长,故乡,女友,学校等等方面的问题,礼貌地回答即可。

 

2 灵活类问题

优缺点

最有挑战的事

最成功和最失败的事

实习收获

这方面的回答讲究一个扬长避短,把一些不起眼或者是中性的缺点拿出来说,同时要说现在是如何改正这个缺点的。

这样回答的话,既巧妙地避开了你的缺点,也能让人看出你完善自己的决心。

当然,分点答题很重要,一定要说清楚自己的逻辑,是什么,为什么,怎么做。

 

3 较敏感的问题

你最讨厌什么样的人

你在工作中遇到最大的问题

有几个offer你如何选择

这类问题一定要思考清楚再回答,避免给HR留下不好的印象,offer选择的话,可以不说的太直白,我一般是说结合公司,岗位和城市进行考虑。

 

4 学习和职业规划

平时怎么学习

遇到压力怎么处理

未来的职业规划

这方面也需要做准备,分点答题即可,对未来规划需要清晰,答到点子上。否则会扣分。

 

◆ ◆ ◆  ◆ ◆

 

有什么问题想问的

 

我一般会问部门情况和后续面试安排,多了解一些信息总是有益的。并且可以让人感受到你对他们的重视

压力面试技巧

 

压力面的起源不知道是哪里,但是确实会遇到一些压力面,说是压力面,不如说是面试官故意刁难你。

这时候你的反应是否正确就很重要了,人在情绪激动的时候如果还能理性处理问题,会更让人青睐。

我经历的一次压力面是这样的。

 

1 自我介绍后,面试官先吐槽我的项目没技术含量,然后抛出几个问题。我只好陪笑。

 

2 接着我对这个问题尝试做出回答,回答质量一般,被直接驳回。我又尝试咨询问题详情,被不耐烦地打断。此时我已经很不爽了,但我说话还是很和气。生怕再触怒他。

 

3 然后他的态度才逐渐缓和,正常地提了几个问题。我也都正常回答了。

 

全程我都保持冷静,没有跟面试官正面冲突,而是避其锋芒,为自己争取机会。不管是压力面,还是遇到脾气差的面试官,甚至是故意刁难你的面试官,切记要保持礼貌和理智。

 

不卑不亢,保持谦虚,礼貌作答,才是应对任何面试都应该遵守的原则。

 

以上就是我的面试技巧总结,如果大家有什么其他想法,也欢迎跟我交流探讨。

 

多内容请关注微信公众号【程序员江湖】

 

作者黄小斜,斜杠青年,某 985 硕士,阿里 Java 研发工程师,目前专注于后端技术,同时致力于分享自学编程、求职面试、程序员自我提升等经验和感悟,以及从技术小白成长为BAT程序员的学习心得和心路历程(关注公众号后回复”资料“即可领取 3T 免费技术学习资源,包含Java、C++、Python、大数据、移动端、前端、机器学习等方向,同时也将赠送我原创的【程序员校招指南】等精品资源)