来源 | 公众号 | Tomcat那些事儿

作者 | 侯树成

三、四月份,春回大地,万物复苏(请自带赵忠祥老师的BGM),又到了不少同学的跳槽时节。

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

欢迎各位各位老司机,新司机一起留言交流,我们一起探讨下,无论做为「面试官」,或者是「求职者」,怎样回答面试题,能更好的去解答问题,达成自己求职的目标。

一、听清题,勿抢答

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

二、从全局、到具体

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

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

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

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

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

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

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

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

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

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

一个「熟悉」的大部分时候会大于一个「精通」的水平。

五、广度与深度

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

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

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

六、积极主动

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

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

七、有证明更佳

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

不多说了,工头喊我去搬砖了! )

关注『 Tomcat那些事儿  』 ,发现更多精彩文章!

点击图片查看更多推荐内容

↓↓↓

Java提供的排序算法是怎么实现的?快排?

2018想要薪资翻倍?你需要掌握这些技能!

不谈面试题,谈谈面试官喜欢见到的特质!

【面试题】2018年最全Java面试通关秘籍第二套!

面试的时候怎样回答技术面试题?相关推荐

  1. 肖sir___面试就业课__非技术面试题

    非技术面试题 一. 请你自我介绍一下你自己? 回答提示:一般人回答这个问题过于平常,只说姓名.年龄.爱好.工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能.最深 ...

  2. 怎样回答技术面试题?

    作者:侯树成 本文转载自:Tomcat那些事儿 热文推荐:IntelliJ IDEA 2018.1正式发布!什么?还能这么玩? 三.四月份,春回大地,万物复苏(请自带赵忠祥老师的BGM),又到了不少同 ...

  3. 面试宝典之高分回答面试题(二)

    01 如果需求文档,测试点,用例都评审过了.你个人发现了一个bug,你认为对产品有好处,你该怎么处理? 首先要提交这个 bug到缺陷管理库,然后将bug汇报给相关人员.(大概意思) 02 怎么编写测试 ...

  4. 面试宝典之高分回答面试题(一)

    01 你们公司是如何测试支付接口的? (1)支付流程:正常的发起一笔流量充值请求,检查点:①用户发过去的信息有携带key值②商户系统本地数据会留存一份用户的订单信息,并且会根据每笔订单信息生成一笔支付 ...

  5. 面试宝典之高分回答面试题(三)

    01 你们公司是如何测试支付接口的? (1)支付流程:正常的发起一笔流量充值请求,检查点:①用户发过去的信息有携带key值②商户系统本地数据会留存一份用户的订单信息,并且会根据每笔订单信息生成一笔支付 ...

  6. 技术面试问项目难题如何解决的_技术面试感觉什么都会,面试官一问回答不上来怎么办?...

    原标题:技术面试感觉什么都会,面试官一问回答不上来怎么办? 又到了一年金三银四,回想到很多年前我刚参加工作时的面试经历,那时都是呆呆地等着面试官问问题,被问到一些自己并不熟悉的问题时要不就是思考半天也 ...

  7. Java程序员总结出必看的初级~高级技术面试题

    1换位思考下,如果你面试官,你会怎么做 1只能通过简历和面试来衡量,别无他法.如果某位大牛确认能力很行,但面试时无法充分地自证能力,那对不起了,过不了,现实就这样. 2如果面试官由于能力不行,招进来一 ...

  8. 我是如何通过华为面试的?群面+技术面+综合面+英语面(Android岗)

    昨天是我去华为面试的整整一天,早上9点开始出发,一直弄到下午5点半,终于完成了所有的测评和面试! 作为寒冬中秋招第一批大军,为了准备面试真的是勤勤恳恳诚惶诚恐啊,简单说一下,我面的是Android高级 ...

  9. ***我是如何通过华为面试的?群面+技术面+综合面+英语面(Android岗)***

    昨天是我去华为面试的整整一天,早上9点开始出发,一直弄到下午5点半,终于完成了所有的测评和面试! 作为寒冬中秋招第一批大军,为了准备面试真的是勤勤恳恳诚惶诚恐啊,简单说一下,我面的是Android高级 ...

最新文章

  1. Oracle 10g(10.2.0.4)升级到10.2.0.5.19
  2. Javascript简明教程四 作用域
  3. Input子系统(二)【转】
  4. python 桌面应用 启动缓慢_如何加快Python 应用的启动时间
  5. 使用python套用excel模板_Python自动化办公Excel-从表中批量复制粘贴数据到新表
  6. 一加手机安装鸿蒙系统,【新机】华为MatePad Pro 2官宣,刘作虎点赞鸿蒙手机
  7. python文件操作笔记
  8. Java基础:Lambda表达式
  9. 反三角函数在线计算机,反三角函数(反正弦,反余弦,反正切,反余切,反正割,反余割)在线计算器_三贝计算网_23bei.com...
  10. Hadoop大数据技术课程设计说明
  11. 需求调研报告模板_精准摸底,把握需求:名师工作室开展培训活动调研报告
  12. caxa线切割怎样画链轮_CAD画链轮的方法
  13. 《数字图像处理》-(3)-2频率域滤波
  14. matlab 高级绘图函数
  15. Navicat Premium 12 中文版v12.1.19
  16. 机器学习算法 | Python实现k-近邻算法
  17. tracert路由跟踪(ICMP)
  18. linux 嵌入式 快照_Linux下搭建Cortex-M嵌入式开发环境
  19. 【观察】数字中国的新机遇,神州数码的新角色
  20. Windows 配置Maven仓库

热门文章

  1. qq空间音乐查询API|经纬度查询API|手机归属地API|Taobao API接口调用实例
  2. 软件开发工程师个人简历模板3篇
  3. Flask之cookie、session、闪现
  4. Office无法卸载的最简单解决方法
  5. unity 之体力倒计时
  6. c盘用户/user/AppData文件夹下无用文件删除
  7. 根据SecWIki给出的Web安全工程师的学习路线的学习经历
  8. XNA入门/框架介绍
  9. 鲁大师 性能测试 计算机重启,电脑老自动重启,特别是鲁大师温度压力测试一开就自动重启是为什么?...
  10. weblogic数据源配置oracle12C报错ONS configuration failed