怎样回答技术面试题?

阅读目录面试

1. 听清题,勿抢答算法

2. 从全局到具体并发

3. 不要骄傲自负,也不妄自菲薄app

4. 简历切勿太夸张,更不要全是产品描述框架

5. 广度与深度微服务

6. 积极主动学习

7. 有证实更佳设计

最近一段时间团队也在招人,这期间筛选了很多简历,面试了一些候选人。这里谈谈我本身的对「怎样回答面试题」的理解。对象

欢迎各位各位老司机,新司机一块儿留言交流,咱们一块儿探讨下,不管作为「面试官」,或者是「求职者」,怎样回答面试题,能更好的去解答问题,达成本身求职的目标。排序

1、听清题,勿抢答

面试,首先也是一我的与人交流沟通的过程。有些时候,面试官还没说完问题,面试者就会打断说「这个问题我知道...」。打断不利于沟通,同时,这样其实致使面试题没听清。好比面试题是「如何理解Java 的 JMM,...」后面还没说的时候,面试者打断说「你说的这个我会。。。,包括方法区,堆,栈 balabala」这就答的都跑偏了。

2、从全局到具体

若是问题是「 Spring 是什么,怎样理解的」。不少人就会直接回答「Ioc 和 Aop嘛」这样说不能算错,但我我的认为从一个更宏观的方式先入手,再具体介绍对于 Spring 你深刻了解的一个或者多个方面,这样感受更好一些。 

发展到今天,Spring 并不只仅只有Ioc 和Aop,而是一个包含一系列功能的大集合了,像快速开发的Spring Boot, 像微服务支持的 Spring Cloud, 像支持认证和鉴权的 Spring Security, 支持各类抽象的Spring data 提供的 xxxTemplate,Testing, 以及如今使用众多的 Spring MVC。固然 Denpendency Injection 和 AOP 依然是核心。

再好比回答如何理解Java的垃圾回收机制,比起直接回答 「将无用的对象清除出内存」这类归纳,若是描述垃圾回收,何时会发生垃圾回收,具体的回收方式,了解哪些回收算法。出现OOM时如何调整,以及 JVM 的内存划分等,我感受效果会好不少。

3、不要骄傲自负,也不妄自菲薄

面试官在提问以后,有的候选人问题还没听完,一是抢答,二是不屑。心想为啥问这么简单的问题。其实面试你们都理解为一个不断沟通,发现面试者长项的「交流」。好比有的面试者一听「请写一个单例模式」时,会略有不爽,仿佛才华被埋没了,却在「双重锁检查」时,大意失手,忽略了CPU 指令重排序的影响。

还有的面试者,在面试官刚说出「接下来咱们写一个算法题...」还没说完时,会抛出选项,「要不我写个快排,二分查找?balabala」,若是你是面试官,你会怎么作?

也有一些面试者,在被问到简历中所写项目时,「眼神黯淡」,说道「咱们没作什么有技术含量的,和大家无法比」,又或者在面试官说到项目中的某个实现时,会说「大家也用了啊」,而后有的不敢向下说,仿佛简历包装过分,也有的则是感受有更多的共同话题,开始探讨实现,选型等等。因此大胆展示本身,至少有一次机会。

4、简历切勿太夸张,更不要全是产品描述

看过很多简历,有些整个简历里的项目,全是业务和产品介绍,通篇没提到几个技术点,不讲实现,不写用了什么技术,全是大段的文字描述。作为一个技术面试,没有什么技术性。

也有很多,简历里写着精通XX技术与YY框架,是ZZ专家。其实实际交流时,真的是只限使用,都没配置过。 

5、广度与深度

通常的面试,都会根据面试者的实际工做经验时长,对应到该有的广度与深度。但广与深二者间,我认为先深刻一个领域,一个概念,再拓展开来,这样效果更好。

并且面试过程当中,若是每问到一个话题,都是日常,或者是简单了解过,会给人一种浅尝辄止的感受。若是某个方面深刻,在回答相应的问题时驾轻就熟,甚至能够回答「你最擅长什么?」时,能够更有底气。好比聊 Java 的并发 。除了能描述 sync 以外,先按从全局到具体,能够描述「内存模型」,以及Happens Before, Lock 与 sync 的区别。Lock 与 sync 分别对应的实现,以及JVM 的 monitor 指令, AQS ... 

去年电话面试一个实习生,对于开发框架还在自学阶段,问到一些未学习到的部分,会实话说「目前还没学到」,甚至精确到说XX技术「今天就要学了」,有计划,有学习能力。但其描述的这种学习方法,态度 以及对已经学习部分的掌握程度与理解,对应表现出来的水平,都让人印象深入。后来到公司实习时并没使用框架,而是根据需求使用了新技术,果真也没让人失望。

6、积极主动

在回答问题时能够将本身擅长的展现出来。好比简历里有写到「项目使用过 RPC」,那在回答项目中如何使用RPC的时候,能够描述一些 RPC框架的设计实现思路,例如「我大体了解过 Dubbo 是这样设计的」,和 「Thrift 有这些区别」,固然,这个时候面试官可能会问,有了解过 gRPC么? 你会怎么办?

此外,在讲述项目使用技术时,能够顺便将本身为何这样作,为了什么选择使用这个技术,这样简历以外的丰富信息,才会让面试官更立体的了解,从而为「交流」打开局面。

7、有证实更佳

若是能在简历里附上一个长期活跃的开源项目,不断输出的Blog 等等,也是一个让人更全面了解你代码风格,展示设计、思想的方式,学习方式的「平台」。

若是您以为不错,请别忘了转发、分享、点赞让更多的人去学习

相关文章
相关标签/搜索