最近,我的几位朋友与我分享了他们在面试过程中遇到的一些令人困惑的经历。作为一名技术面试官,今天我将分享10个与面试相关的常见套路与技巧。

自我介绍的重要性

自我介绍是面试的第一步,一个清晰且简洁的开场是成功的一半。以下是自我介绍的要点:

  1. 概述工作经历、教育背景、精通的技术和业务;
  2. 突出项目中的成就,例如从零开始构建系统或参与大规模重构,面试官通常会特别关注这些亮点,因此需提前准备;
  3. 聊一些与技术无关的内容,比如兴趣爱好;
  4. 可加分项:如获奖经历或荣誉称号,例如开源项目的贡献者或社区讲师;
  5. 在线面试时,主动开启摄像头以便面试官能看到你。

技术问题的连锁反应

某些技术问题可能会有多个答案,面试官会引导候选人进行多次回答。技术问题通常会延伸出多个讨论点,面试官可能会接连提问。

算法题

例如,参考 LeetCode-283 的一道算法题,我会稍作修改,内容如下:给定一个数组 nums,编写一个函数将所有 0 移动到数组的左边,非零元素则移动到数组的右侧,同时保持非零元素的相对顺序。为了考察候选人的思维能力,我去掉了“必须在不复制数组的情况下操作数组”的限制,期待候选人能够提出复制数组的解决方案。

如果候选人无法立即给出最优解,我会逐一提问:

  1. 复制数组,并遍历原数组两次,第一遍将所有 0 复制过来,第二遍复制非零元素,时间复杂度为 O(2n);
  2. 如果候选人给出了复制数组的答案,我会问是否有不依赖外部数组的解决方案。部分候选人可能会想到冒泡排序,从后往前遍历将非零元素移动到数组后面,时间复杂度为 O(n²);
  3. 得到冒泡的答案后,我会指出其时间复杂度过高,并询问是否能够降低时间复杂度。此时,部分候选人可能会想到使用双指针方法,但需要从后往前遍历,部分人可能会遗漏这一点。

在这种情况下,经过大量刷题的候选人通常能直接给出最优解,避免连环提问的局面。

项目相关问题

当候选人在简历中提到使用微服务架构时,我会询问他们是如何划分微服务的,这里面的问题点非常多:

  1. 候选人需介绍基于业务所划分的服务;
  2. 介绍完服务后,我会询问所采用的技术;
  3. 微服务之间如何进行通信,比如涉及 RPC 和注册中心等技术;
  4. 如果候选人提到使用 OpenFeign,我会接着问 OpenFeign 的超时时间配置及重试机制;
  5. 如果候选人回答采用统一超时时间,我会问这会否导致问题,比如调用多个外部服务或同一服务的多个接口,其超时时间要求不一,可能需配置最长的超时时间,这是否会造成隐患;
  6. 如何实现注册中心的优雅发布,例如候选人提到使用 Eureka,我会检查他们是否关注过优雅发布的时机;
  7. 如果候选人提到异步场景,我们会进一步讨论消息队列技术,比如 RabbitMQ、RocketMQ 和 Kafka。

面试中的误解与变故

有一次,我在一家名为联通集成的公司面试,猎头通知我一面通过,要求我立即进行核酸检测以准备第二轮面试,但第二天却被告知面试延后,几天后猎头又告诉我我未通过初面。这种情况相对普遍,朋友在美团的面试中也遭遇了类似问题,原定的二面因一面未通过而取消。这通常是因为公司在一定时间内招到了满意的候选人,而其他候选人只能被淘汰。

再者,一位朋友曾提到,面试了一位表现出色的候选人,结束时却发现其学历为专升本,因公司对学历有硬性要求,最终不得不淘汰该候选人。

面试官的真实意图

在某些情况下,面试官会夸奖候选人,但最终却未录用。这种情况通常表明公司实际上并不希望招聘新员工。很多公司常年发布职位招聘,实际上可能是为了展示自己在持续招聘或保持发展,尤其在目前大环境不佳的情况下,这种现象愈加明显。

面试过程中的紧张与困惑

曾在公司有一次面试经历,架构师告诉同事,虽然候选人不符合条件,但由于人力资源已经约好,还是需要面试以便给候选人一个交代。这样的做法在我看来非常奇怪,但随着经验的增加,我意识到这是行业的常态。这种情况下,双方都承受着压力,一个明白不招人却仍要提问,另一个则不知道真实情况需认真应对。

打破僵局的方法

面试官的工作并不简单,尤其面对行业不匹配的简历时,候选人所说的内容可能让面试官感到困惑。某位候选人通过主动提出讨论话题来打破僵局,成功使得后续交流变得顺畅。

结束语

作为求职者,面试是一场旅行,不应过于关注最终结果。专业技能只是其中一部分,其他因素可能同样重要。保持努力,尽量以平和心态看待结果,祝愿每位求职者都能找到理想的工作。