1564 words
8 minutes
关于我在技术面试中遇到的那些奇葩问题

面过别人,也被别人面过。十年间遇到的奇葩问题,够写一本书了。

作为面试者#

场景一:算法崇拜#

某大厂面试:

面试官:“请手写红黑树的插入算法。”

我:“日常开发中一般用不到这么复杂的数据结构…”

面试官:“这是基础,必须会。”

我硬着头皮写了30分钟,磕磕绊绊。

最后面试官说:“你这种水平也敢来面试?”

后来我入职了那家公司,发现:

  • 项目里根本不用红黑树
  • 用的都是现成的集合类
  • 面试官自己也不会写

反思:有些面试官问难题不是为了考察能力,是为了显示自己厉害。

场景二:压力测试#

某创业公司:

面试官:“你这个项目毫无技术含量。”

我:”…”

面试官:“你上家公司的技术架构就是一坨屎。”

我:”…”

面试官:“你期望薪资太高了,你不值这个价。”

我起身走了。

后来才知道这是”压力面试”,专门打击候选人看反应。

反思:压力面试可以,但要有底线。侮辱人不叫面试,叫PUA。

场景三:八股文背诵#

某传统公司:

面试官:“说说Spring的IOC原理。”

我解释了依赖注入的概念和好处。

面试官:“不对,你应该从BeanFactory说起,然后是ApplicationContext,然后是…”

原来他要的是标准答案,不是理解。

反思:有些公司要的是”会背的人”,不是”会思考的人”。

场景四:玄学问题#

某外企:

面试官:“如果你是一种动物,你会是什么?”

我:”…狼?”

面试官在本子上记了一笔。

到现在我也不知道正确答案是什么。

反思:行为面试题可以理解,但有些问题太玄学了,感觉在算命。

作为面试官#

后来我也开始面试别人,决定不做那些自己讨厌的事。

我的原则一:问题要有意义#

不问:

  • 手写复杂算法(除非岗位确实需要)
  • 偏僻的语言特性
  • 死记硬背的知识点

问:

  • 项目经验(具体做了什么,为什么这么做)
  • 问题解决(遇到过什么难题,怎么解决的)
  • 设计能力(给你需求,怎么设计)
  • 代码风格(看实际写的代码)

我的原则二:尊重候选人#

  • 准时开始,不让人家等
  • 不打断说话
  • 不贬低对方经验
  • 最后给反馈(无论通过与否)

我的原则三:看潜力不看完美#

允许:

  • 紧张导致的结巴
  • 某些知识点的遗忘
  • 方案不完美但能work

关注:

  • 思维是否清晰
  • 是否愿意学习
  • 有没有ownership

奇葩问题合集#

我收集的面试问题,按离谱程度排序:

轻度离谱#

  • “Java中String为什么是不可变的?“(标准八股,但还算有用)
  • “说说你最大的缺点。“(经典行为题,但大家都准备了标准答案)
  • “你为什么离开上一家公司?“(说了实话会被扣分,说谎又不好)

中度离谱#

  • “如果我们录取你,你能给公司带来什么价值?“(还没入职呢怎么知道)
  • “你未来五年的职业规划是什么?“(说实话是”多赚钱”,但要说”成长为技术专家”)
  • “你能接受加班吗?“(说不能接受直接挂,说能接受以后真的加班)

重度离谱#

  • “你属相是什么?星座呢?“(技术面试问这个?)
  • “你结婚了吗?有对象吗?打算什么时候生孩子?“(违法但还在问)
  • “如果我们和竞品公司同时offer你,你怎么选?“(这问题有意义吗?)

我的应对策略#

面对算法题#

如果确实不会:

“这个算法我不熟悉,但我可以试试。如果工作中需要,我会查文档或源码学习。”

然后说思路,哪怕写不出完整代码,也要展示思考过程。

面对压力面试#

判断是测试还是真PUA:

  • 测试:质疑技术方案,但不会人身攻击
  • PUA:贬低你整个人

如果是PUA,礼貌但坚定地结束面试: “我觉得我们可能不太合适,谢谢你的时间。“

面对八股文#

准备了就背,没准备就坦诚:

“这个知识点我不太确定,我的理解是…”

比瞎编好。

面对玄学问题#

没有标准答案,真诚回答就好。

“如果我是动物,我想是猫。因为我喜欢独立工作,但也能团队协作。“

给求职者的建议#

面试前#

  • 研究公司,看他们的技术博客、GitHub
  • 准备项目介绍(STAR法则)
  • 刷点常见算法(不是为了完美做出来,是有思路)

面试中#

  • 不会的别装会,诚实但积极
  • 回答要有条理(第一、第二、第三)
  • 最后问问题(显示你的兴趣和思考)

面试后#

  • 复盘,记录问题
  • 不通过不要自我怀疑,可能只是不匹配
  • 通过也不要骄傲,可能面试官放水了

给面试官的建议#

问有意义的问题#

想象你问的问题,候选人入职后用得上吗?

如果答案是否定的,换个问题。

给候选人反馈#

无论通过与否,都应该告诉候选人为什么。

这是基本的尊重。

记住你也曾是候选人#

n不要问那些你自己被问到时会讨厌的问题。

己所不欲,勿施于人。

最后的话#

面试是双向选择。

公司在选你,你也在选公司。

如果遇到不尊重人的面试官,即使通过了offer,也要慎重考虑。

因为工作后,这些人就是你的同事或上级。

技术能力可以学,工作氛围改不了。

这是我十年面试经验的最大心得。


你在面试中遇到过什么奇葩问题?欢迎分享,我们一起吐槽。