一位不合格的面试官在这两周让三位同学破防了

news2024/11/15 9:18:46

一位不合格的面试官在这两周让三位同学破防了


最近部门招聘 Java 技术同学; 技术需要两面,我也参与招聘过程并作为第一面的面试官,这两周平均每天一个。但是这两周我却让好几位同学破防了,内心其实也是五味杂陈的,做一下反思也谈一下感想。

一、被破防


第一位面试者: 面试者1已经工作了 6 年,也是熟悉 Java 各种技术栈, 然而面试到最后却不自信的和我坦白说,其实自己 21 年才开始学 Java,以前都是老项目,一直用很老的 Struts2,像 SpringBoot 都用的很少......


第二位面试者:面试者2工作 4~5 年,简历上也写着熟悉多线程以及各种中间件。因为我的一系列问题都答不上,最后明显不好意思地吞吞吐吐说其实这些技术我也用得不多。


第三位面试者:面试者3已经工作 3 年,简历上写着精通xx,并深入xxx;面完最后反问环节,比较诚恳地说,面试官你的这些问题我都没有遇到过,虽然我工作了3年,但是我好像都并不了解,我也不知道我能力就是这样还是因为其他人也这样,还是说平台很重要......



二、多线程


很多同学工作前几年对多线程的应用都比较薄弱,或者没有使用场景,包括我工作前三年也是对线程一知半解。于是我残忍地用多线程作为第一个问题,并以组合拳的方式打得他们措手不及.

场景还原:

  • 我:对多线程熟悉吗? (面试者的简历上一般会在简历的技能栏,写上熟悉多线程)
  • 面试者:熟悉,项目中有用过。


继续追问

  • 我:可以讲一下你在项目中使用的场景吗? (实际想看一看多线程的应用场景是否合理)
  • 面试者:有一个项目有用到多线程,当时我使用使用它来做.... balabala


然后我就基于面试者回答的场景进行针对性地开始提问题。
面试者1说他用多线程来更新流程状态,有一次使用 spring 的异步线程出现数据更新丢失,自己自定义了一个线程池解决了。 (显然是一个错误的答案。于是我继续朝着这种错误的思路提出了几个让他不能自洽的问题)

  • 于是我说,像这样,如果你定义的线程池,任务出现异常,或者线程池中的任务因为服务重启,亦或者服务挂掉,亦或线程任务超过负载被丢弃;这种情况也会更新丢失吧
  • 这个时候面试者明显开始慌了,甚至有一些影响到后续的作答了......

面试者2说他使用线程池做异步回调,获取异步结果使用 callable#get, 超时就直接将线程 shutdown 或者 shutdownNow(面试者对异步获取结果是不熟悉的)

  • 然后我针对异步结果的获取如果出现异常进行提问,这个时候面试者也慌了......

面试者3说只是为了想用一下多线程,阻塞队列设置成 0,核心线程和最大线程就设置 10,因为项目没有什么用户量。

  • 于是我针对多线程数进行提问,这个时候用户的并发超过 10,这个时候应该怎么办,这个时候面试者也慌了

然后我还准备了其他相关问题

  1. 优雅关闭有考虑过吗?
  2. 并发包中的其他工具类有使用过吗,比如 CountdownLatch
  3. 大任务一直占用线程资源怎么办,堵塞了其他任务呢?
  4. 异步回调失败怎么办?
  5. ....

没有使用经验估计都会被我 10 来分钟的线程问题问得手足无措;甚至开始影响到后续的面试流程了。
后来的面试,我不再以多线程的考核作为第一个问题了。


三、问题集


但这些问题我在工作中也实实在在遇到过,所以才会这样针对性的提问!

多线程是 Java 中非常核心的一部分,关于多线程的问题太多太多了......

使用多线程只有当遇到一些问题才会理解深刻,希望你也尽早经历一下这些场景。
 

如果有一天开始想着,给这些线程池增加一个监控;甚至想尝试去动态修改线程池的任务时,才会有对多线程一些体感。


✒️四、反思录


作为面试官的我的一些反思

  1. 面试官不应该以刁难、为难的方式去进行面试。
  2. 面试不是考试,不应该将一些具体的数值知识点,作为面试的考点。
  3. 面试的氛围不应该太严肃,适当的营造一些轻松的氛围;有时候面试者答不上来会紧张,这个时候适当的缓和氛围是有必要的。
  4. 重遵每一位面试者,因为他们为这次面试做了大量的准备。

五、心里话


这几天作为技术面试官也想对我面试的这几位社招同学说一下心里话。


其一、不用真诚地坦白你的不足


不用坦白自己不会用; 暴露自己只会 CRUD,基础有多薄弱,公司的环境有糟糕等等。别把这些不足告诉和盘托出,虽然很真诚,但这并不会加分,反而会大大减分。可能会被理解为不自信,当然更多的是为自己的不足寻找外界的借口。希望学会扬长避短


其二、回答时的条理性


大多数时候对方并不清楚你的项目,因此你的表述会显得非常关键!
有条理的汇报是在面试中非常重要的。参考金字塔原理,或者smart原则等。 一些思路模板和作答方式:

  1. 事前、事中、事后。
  2. 先是什么,后是什么
  3. 发现问题,剖析问题,解决问题
  4. ......


通过条理性的答复,会让对方更轻松,也是一个加分项!


其三、理解问题的背后逻辑


有时候对方也并不知道这些技术,但是也一样能提出一些问题,因为所有的技术的应用都会有一套逻辑。

  1. 因为什么场景
  2. 解决什么问题
  3. 达到了什么效果


然后再根据应用过程中提一下通用的技术问题

  1. 高可用
  2. 性能问题
  3. 出了问题如何解决等


解决问题的思路是相通的。 因此面试的问题不应只是一个具体的知识点,而是这个技术知识点背后都有一套类似这样的问题,我也会根据这些来进行提问。 希望能够知道我的套路。



其四、不要胡诌


答不上来,不用乱说;因为这样容易坑自己; 一般我会根据你上一次的回答寻找到关键点再深入追问,如果答不上来,答错了,会让你陷入被动。

可以尝试针对答不上来的问题用以下方式进行回复。

  1. 这个问题我不熟悉,但是我对相关问题比较了解。(也可以适当往自己擅长的地方引导,展示出来一种积极的态度)
  2. 这个问题我不熟悉,但我可以通过一些替代方式去实现
  3. 或者大方说自己不会。(注意:别找各种理由说自己不会)


其五、精进技术


走上技术这条路,就得多精进技术,与时俱进,这个环境确实很卷,面试造火箭,工作拧螺丝,但也确实是敲门砖。
 


有一些话,我也只能在这里说,也希望这些想继续做技术的同学都能找到自己满意的工作。


另外面试的技巧方式还有很多很多,可以多学一些。这边也给大伙分享一些我整理的企业面试真题,可以点击这里获取到

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1680265.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux基础之僵尸进程与孤儿进程

目录 一、僵尸进程 1.1 什么是僵尸进程 1.2 为什么要有僵尸状态 1.3 观察我们的僵尸状态 1.4 关于僵尸进程的小Tip 二、孤儿进程 2.1 什么是孤儿进程 一、僵尸进程 1.1 什么是僵尸进程 在上一篇文章中,我们有提到过进程的死亡状态的概念,而我们的…

计算机寄存器是如何实现的

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

labelimg删除用不到的标签(yolo格式)以及 下载使用

问题:当我们标注完成新的类别后后直接删除classes.txt中不需要的类别之后再次打开labelimg会闪退,如何删除不需要的标签并且能够正确运行呢?(yolo格式) 原因:当我们打开labelimg进行标注的时候&#xff0c…

Golang RPC实现-day02

导航 Golang RPC实现一、客户端异步并发多个请求1、 客户端结构体2、 一个客户端,异步发送多个请求,使用call结构体代表客户端的每次请求3、客户端并发多个请求4、客户端接收请求 Golang RPC实现 day01 我们实现了简单的服务端和客户端。我们简单总结一…

26 分钟惊讶世界,GPT-4o 引领未来人机交互

前言 原文链接:OpenAI最新模型——GPT-4o,实时语音视频交互,未来人机交互近在眼前 - Kaiho小站 北京时间 5 月 14 日凌晨,OpenAI 发布新一代模型——GPT-4o,仅在 ChatGPT 面世 17 个月后,OpenAI 再次通过…

985大学电子信息专硕,考C语言+数据结构!中央民族大学25计算机考研考情分析!

中央民族大学(Minzu University of China)坐落于北京市学府林立的海淀区,南邻国家图书馆,北依中关村科技园,校园环境典雅,古朴幽美,人文氛围浓郁,具有鲜明的民族特色。由北京市、国家…

ubuntu下不生成core dumped

1、先用ulimit -c,如果看到0,说明没有开core dump。 所以我们输入ulimit -c unlimited,打开core dump。 再次用ulimit -c,看到unlimited了,说明core dump打开了。 注意这句ulimit -c unlimited只对当前会话有效。要永…

通俗易懂讲乐观锁与悲观锁

浅谈乐观锁与悲观锁 乐观锁和悲观锁是Java并发编程中的两个概念。使用乐观锁和悲观锁可以解决并发编程中数据不一致性、死锁、性能差等问题,乐观锁与悲观锁的实行方式不同,所以其特性也不近相同,下文将详细介绍两者的特性与适用场景。 《熊…

STM32-09-IWDG

文章目录 STM32 IWDG1. IWDG2. IWDG框图3. IWDG寄存器4. IWDG寄存器操作步骤5. IWDG溢出时间计算6. IWDG配置步骤7. 代码实现 STM32 IWDG 1. IWDG IWDG Independent watchdog,即独立看门狗,本质上是一个定时器,这个定时器有一个输出端&#…

ZYNQ之嵌入式驱动开发——字符设备驱动

文章目录 Linux驱动程序分类Linux应用程序和驱动程序的关系简单的测试驱动程序在petalinux中添加LED驱动新字符设备驱动 Linux驱动程序分类 驱动程序分为字符设备驱动、块设备驱动和网络设备驱动。 字符设备是按字节访问的设备,比如以一个字节收发数据的串口&#…

谷歌全力反击 OpenAI:Google I/O 2024 揭晓 AI 新篇章,一场激动人心的技术盛宴

🚀 谷歌全力反击 OpenAI:Google I/O 2024 揭晓 AI 新篇章,一场激动人心的技术盛宴! 在这个人工智能的全新时代,只有谷歌能让你眼前一亮!来自全球瞩目的 Google I/O 2024 开发者大会,谷歌用一场…

项目组GIT操作规范

分支规范 在开发过程中,一般会存在以下几种分支: main分支(master) master为主分支,也是用于部署生产环境的分支,一般由 dev 以及 fixbug分支合并,任何时间都不能直接修改代码。dev分支 develop 为开发分支&#xff…

Altium Designer封装库和元器件符号库下载与导入教程(SnapEDA 、Ultra Librarian、Alldatasheetcn)

1.AD封装库和元器件符号库下载网址 以下是一些全球热门的Altium Designer封装库和元器件符号库下载网址推荐: Altium Content Vault (现称为Altium Manufacturer Part Search):这是Altium官方提供的元器件库,可以直接在Altium Designer中使用…

Java码农的福音:再也不怕乱码了

即便是Java这样成熟的语言,开发者们也常常会遇到一个恼人的问题——乱码。 本文将深入探讨乱码的根本原因,并针对Java开发中的乱码场景提出有效的解决方案,辅以实战代码,让Java程序员从此告别乱码困扰。 一,字符集的…

文件存储解决方案-阿里云OSS

文章目录 1.菜单分级显示问题1.问题引出1.苹果灯,放到节能灯下面也就是id大于1272.查看菜单,并没有出现苹果灯3.放到灯具下面id42,就可以显示 2.问题分析和解决1.判断可能出现问题的位置2.找到递归返回树形菜单数据的位置3.这里出现问题的原因…

什么是最大路径?什么是极大路径?

最近学习中,在这两个概念上出现了混淆,导致了一些误解,在此厘清。 最大路径 在一个简单图G中,u、v之间的距离 d ( u , v ) min ⁡ { u 到 v 的最短路的长度 } d(u,v) \min \{ u到v的最短路的长度 \} d(u,v)min{u到v的最短路的…

音乐的力量

常听音乐的好处可以让人消除工作紧张、减轻生活压力、避免各类慢性疾病等等,其实这些都是有医学根据的。‍ 在医学研究中发现,经常的接触音乐节 奏、旋律会对人体的脑波、心跳、肠胃蠕动、神经感应等等,产生某些作用,进而促进身心…

Postman基础功能-接口返回值获取

大家好,之前给大家分享关于Postman的接口关联,我们平时在做接口测试时,请求接口返回的数据都是很复杂的 JSON 数据,有着多层嵌套,这样的数据层级在 Postman 中要怎么获取呢? 接下来给大家展示几个获取 JSO…

容联云零代码平台容犀desk:重新定义坐席工作台

在数智化浪潮的推动下,企业亟待灵活适应市场变化、快速响应客户需求,同时还要控制成本并提升效率,传统的软件开发模式因开发周期长、成本高、更新迭代慢等问题,逐渐难以满足企业灵活多变的业务需求。 容犀Desk,观察到…

(1)双指针算法介绍与练习:移动零

目录 双指针算法介绍 练习:移动零 双指针算法介绍 双指针算法常见于数组和双向链表的题型 在数组中,双指针中的指针代表数组元素的下标,而不是真正的指针类型变量 在双向链表中,双指针中的指针即为真正意义上的指针&#xff…