HR 面一般耗时 20 min 左右,主要会提问个人情况、处事之道、工作经历、成长经历等方面相关的问题。

到了 HR 面,基本代表面试已经稳了。不过,也不要掉以轻心,HR 面仍然有挂掉的可能。可能是因为没有 HC 了,也可能是因为 HR 面自己说了什么不太合适的话。

我根据自己的面试经历以及网上的面经整理了 20 道 HR 面的常见问题,分享一下,也欢迎大家在评论区分享自己经常遇到的 HR 问题。

⭐手里有几个 offer?

⭐手里有几个 offer?

如果你已经有了多个 offer,可以诚实地回答,没必要遮遮掩掩。如果你还没有收到其他公司的 offer,那么可以说自己正在和其他公司进行沟通和面试,但目前还没有得到正式的 offer。

不论手里有没有 offer,假如你更倾向于当前面试的公司的话,那就要明确表明自己的优势以及想要加入这个公司的意向和原因,让别人心里也有数,避免给了 offer,结果你又不来。

保持真诚、谦虚和坦率就好,避免过度夸大自己的竞争力,尊重每一个给你 offer 的公司。

⭐谈谈你对跳槽的看法?

⭐谈谈你对跳槽的看法?

跳槽是一种正常的职业选择,合理地跳槽对于个人和公司都有利。不过,一定要避免随意或者频繁地跳槽,这样对单位和个人都不利。对于公司而言,招聘和培训新员工需要耗费大量的时间和成本,频繁的人员流动可能会影响团队的稳定性和项目的正常进行。对于个人来说,频繁跳槽会给个人履历带来不良影响。

⭐谈谈上一份工作的离职原因?

⭐谈谈上一份工作的离职原因?

下面是一些谈工作离职原因的建议:

不要诋毁前公司、领导或同事,而要用客观、中立的语气描述清楚具体原因。示例:在我上一份工作中,我发现公司的工作流程不够规范,导致工作效率低下,我多次提出改进建议,但并没有得到有效的回应和改变。此外,领导经常无故开会和修改需求,导致很多不必要的加班,这也让我感到工作压力过大。

不要直接说被裁员、学不到东西、工资低、加班多等可能引起负面印象的离职原因,而要用积极、适度和匹配的方式解释自己为什么离职,并突出自己的优点和诉求。示例:我在前公司所负责的工作内容比较单一且重复性比较高,虽然我能够很好地完成我的工作,但是无法满足我个人的职业发展需求。我想找一个更有挑战性、并且更有成长空间的工作。

不要说与工作无关或感情用事的离职原因,如家庭、恋爱等,而要说与工作有关并且有利于职业发展的离职原因,如更大的挑战、更好的技术发展等。还可以从公司文化、工作氛围等方面适当表明自己对应聘公司的喜欢。示例:我比较喜欢贵公司的工作氛围,也对贵公司的技术实力比较认可,平时经常有看贵公司的技术文章。如果我能有幸加入贵公司,相信一定能和贵公司一起发展和进步。

⭐平时是怎么学习的?

⭐平时是怎么学习的?

推荐官方文档 + 书籍 + 博客的学习方式:

官方文档是必须要看的,通过官方文档你才能知道你学习的技术最新的技术动态,才能知道这个技术有哪些模块需要学习,才能知道这个技术具体可以帮你解决什么问题。

书籍的内容更成体系,更系统。任何时候,书籍都是我们最重要的学习途径!不过,书籍存在时效问题,更适合理论性的知识。

遇到搞不懂的问题或者想要深入研究某个知识点,都可以去找一些优质的博客来阅读。

遇到你觉得比较难的知识点时,可以去看视频学习。视频不仅适合初学者,对进阶学习也有帮助。不过,单纯看视频是不够的,建议搭配文字资料。

还需要了解获取技术最新动向的一些方法:

Github Trending、Gitee 榜单。

公开的技术分享,比如 JavaOne、InfoQ 技术大会、Red Hat Summit、GitHub Universe 等。

JavaOne

InfoQ 技术大会

Red Hat Summit

GitHub Universe

技术无国界,国内外都有很多优秀的工程师。多关注一下他们在干什么,在研究什么技术,或许能给你很大的启发和动力。

国内外有很多优质的社区,比如 Reddit 上的 Java 社区、InfoQ 中文社区(近几年质量有所下降)、Medium 上的技术社区 等。

Reddit 上的 Java 社区

InfoQ 中文社区

Medium 上的技术社区

关注或者订阅一些干货比较多的技术博客比如美团技术团队、ThoughtWorks 洞见,不光能够获取到技术最新动向,还可以让自己深入学习很多知识点。 如果你不知道国内有哪些值得推荐的技术博客的话,可以看看这篇文章:坦白帖!我订阅了哪些技术团队的博客?。

坦白帖!我订阅了哪些技术团队的博客?

……

注意事项:

一定要学会利用 AI 工具(如 ChatGPT)来辅助自己学习,这可以极大地提高学习效率和效果。不过,不要完全信任 AI,要保持独立思考,可以通过查阅官方文档、书籍或权威网站等方式来验证信息的准确性。

学习过程中没弄懂的知识点一定要尽快解决。如何解决?首选 Google/Bing,通过搜索引擎解决不了的话就找身边的朋友或者网上认识的一些人。

在学习框架使用的时候,没有太大必要花大量时间整理笔记、贴代码,意义不大。忘记了随时查文档,你只需要记住关键词即可, 比如 Spring Boot + Redis、Spring Boot + RestTemplate。

对于重要的实战性知识点比如框架应用、中间件整合,尽量还是要去实践一下。学习编程,不动手实践那都是扯淡。 如果自己比较喜欢做项目的话,可以通过项目实战的方式去实践,这样效果会比单纯写 Demo 要好很多。

推荐养成记录博客的习惯。这样不光可以加强你对这个知识点的认识,还可以增加个人影响力。相关阅读:坚持写技术博客六年了!。

坚持写技术博客六年了!

选择一份工作的理由

选择一份工作的理由

你的回答应该体现出你对应聘公司的了解和兴趣,以及你的职业规划和发展方向。尽量说一些与应聘公司和职位相关的理由,例如对应聘公司的技术氛围、应聘岗位的喜欢;尽量不要说和工作无关或不利于面试的理由,如薪水、福利、工作地点。

具体可以参考星球的分享:做 offer 选择的思路和策略。

做 offer 选择的思路和策略

如何谈薪资?

如何谈薪资?

校招薪资一般是固定范围的,会根据你的面试表现来给,大部分都是白菜价,极少是 SP 或者 SSP。

社招要薪资的话,先参考一下这家公司对于你这个工作年限的人,一般能开出多少。然后,你再根据个人实际情况去说一个即可。或者,你可以将这个难题交给面试官来处理,你比如可以这样说:“我相信贵公司可以根据我的表现给我一个合理的薪资”。

⭐说一下自己以后的发展方向,倾向技术还是业务?

⭐说一下自己以后的发展方向,倾向技术还是业务?

技术本身往往不会产生价值,必须依托于产品/业务才能体现。比如你是一个提供技术服务的公司,你创造的技术产品有人买单或者有人使用。 再比如你是一个普通的互联网公司,你们通过技术创造了某个热门 App 为公司创造了营收。

程序员不能只关注技术本身,更要站在业务的角度去思考问题,解决业务的痛点,提高自己的业务能力。

工作初期,由于接触到的业务场景比较少,我们对于一些常见业务的理解可能会不太全面,导致实现的功能总有一些细节没有考虑到。这是很正常的,我想几乎所有同学都会经历这个阶段。随着工作时间的增加,接触到的业务场景也会越来越多,我们的业务能力也会在潜移默化中提高。

我们还要养成系统思考和复盘总结的习惯,这对于提高业务能力非常重要!大淘宝技术的如何快速理解复杂业务,系统思考问题? 这篇文章,详细介绍了系统思考的方法和意义,非常值得一读。特别是在面对复杂的业务场景时,系统思考能够帮助我们把握业务的全貌和关键点,避免陷入细节和局部的思维。

如何快速理解复杂业务,系统思考问题?

另外,工作五年之后,对技术和业务的思考 这篇文章是我在两年前看到的一篇对我触动比较深的文章,介绍了作者工作五年之后,对于技术和业务的深度思考。

工作五年之后,对技术和业务的思考

谈一下你对加班的看法?

谈一下你对加班的看法?

建议:

不要说你不愿意加班,问这种问题的公司一般都会偶尔加班一下。你直接直白地说不愿意加班,肯定会直接被 pass 掉。

不要说你喜欢加班,太假了,不太现实。

不要说只要给加班费就加班。道理是这个道理,直接说出来就变味了,会让别人觉得你过于重视利益。

不要说你只在有必要的时候加班,因为必要这个概念太模糊了。

参考回答:

我对公司加班没有抵触情绪,只要是为了完成重要的任务或者解决紧急的问题,我都会积极配合和努力工作。同时,我也会尽量提高自己的工作效率和质量,避免因为自己的失误或者延误而导致不必要的加班。我相信,只有在保证工作质量的前提下,才能实现工作和生活的平衡。

你通常如何应对工作中的高压?

你通常如何应对工作中的高压?

建议:高压环境下更要重视沟通、适当休息和任务优先级排序。

参考回答:

在面对高压工作环境时,我非常重视清晰且有效的沟通。我会主动与团队成员及上级保持沟通,及时分享工作进度和可能遇到的挑战。这样做不仅有助于及时解决问题,还能确保团队内每个人都对项目的目标和截止日期有明确的认识,从而共同推动项目向前发展。

我也认为,适当的休息对于维持长期的工作效率至关重要。即使在任务繁重的时期,我也会适当安排短暂的休息来帮助自己恢复精力,这样有助于我提高工作效率。

此外,我注重对工作任务进行有效的优先级排序。通过确定哪些任务最为紧急和重要,我能够更加高效地安排我的工作计划,有效减轻由于任务积压带来的压力。

⭐你未来五年的职业目标是什么?

⭐你未来五年的职业目标是什么?

建议:

如果你的想法是干个两三年就跳槽或者换行业的话,尽量不要直说,一定要体现出自己的稳定性。

绝大部分人的职业目标都可以从技术精进、项目管理和个人影响力三个方面来回答。

参考回答:

在接下来的五年里,我的职业目标主要集中在技术精进、项目管理和个人影响力三个方面。

首先,技术上,我会深入专研 Java 后端开发,争取早日成为 Java 后端开发领域的技术专家。为此,我将不断深入学习 Java 的核心技术和最新技术进展。

其次,项目管理上,我会慢慢尝试着在工作中承担更多的项目管理职责,积累项目管理经验,争取早日能够拥有独立带领中小型项目的能力。

最后,个人影响力上,我希望通过我的专业技能对公司的核心产品做出重大贡献,解决技术难题,提升产品性能和用户体验。同时,我也计划积极参与贡献开源项目和技术社区。

如果在实际工作中,技术栈不主流你会介意吗?

如果在实际工作中,技术栈不主流你会介意吗?

一些公司会担心,求职者在入职之后发现是维护老项目或者项目技术栈不主流而产生抵触情绪,甚至影响工作积极性和团队合作。因此,面试中会通过类似的问题来考察求职者的心态和适应能力,了解他们是否能够接受现有的技术体系,是否具备务实的工作态度,以及如何在现有的技术环境中发挥出自己的价值。

如果你确实比较介意并且不缺 offer 的话,那就直说就行了。否则的话,还是按照下面的建议来。

建议:

强调你理解公司的技术选型,明确表态不介意技术栈是否主流。技术为业务服务,接受现状。

说明你会快速学习并掌握现有技术栈,确保能胜任工作。

强调你会利用业余时间学习主流技术和行业趋势,保持自己的技术竞争力。

参考回答:

首先我会理解并接受公司的技术选型和项目现状,毕竟技术是为业务服务的,首要任务是完成工作,确保业务稳定运行。

其次,我会尽快学习和掌握当前项目所需的技术栈(即使是老旧的),深入理解业务逻辑,保证自己能够胜任工作。

在熟悉技术栈和业务逻辑之后,我会关注系统是否有优化空间。如果发现可以通过引入现代化工具或方法来提升效率或稳定性,我会在充分评估风险和收益的基础上,提出合理的改进建议,但我不会盲目追求“技术先进性”。

同时,我也会利用业余时间学习主流技术和行业趋势,保持自己的技术竞争力。在我看来,解决问题的能力、系统分析能力等通用能力比具体技术更重要,这些能力可以在任何技术栈中得到锻炼。

总之,无论技术栈是否主流,我都会以业务需求为导向,专注于完成工作,同时持续学习,提升自己。

你觉得你有什么缺点?

你觉得你有什么缺点?

这个是一个比较常问的问题。一定不要说自己没有缺点,或者说一些大毛病比如自己小心眼、爱嫉妒人、非常懒、脾气大、工作效率低、团队合作精神差,这样回答人家肯定对你评价不好。另外,也不要自作聪明地回答“我最大的缺点是过于追求完美”,这样可能会让别人认为你在自我吹嘘,从而对你的印象产生负面影响。

你可以先从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分。例如,你可以说自己的优点是细心、有责任感,然后说自己的缺点是有时候过于注重细节,导致效率不高。但是,你已经意识到了这个问题,并且正在努力提高自己的效率,以更好地发挥自己的优势。

领导让你 2 天完成一个任务,但是你 4 天才能完成怎么办?

领导让你 2 天完成一个任务,但是你 4 天才能完成怎么办?

向领导说明实际情况,告知当前的任务进度和完成情况以及任务延迟完成的原因,一定要体现出你们当前已经做过努力。同时,主动提出一个优化后的计划方案,让领导感受到你的主动性和专业性。

你和别人发生过争执吗?你是怎么解决的?

你和别人发生过争执吗?你是怎么解决的?

这个问题的目的是考察你的人际交往和沟通能力,以及你对冲突的处理方式。

建议:

不要说你从来没有和别人发生过争执,不太现实,会让人觉得你不诚实或者没有主见。

不要说你和别人发生争执后就轻易妥协或者放弃,这会让人觉得你没有主见或者没有原则。

参考回答:

我曾经和一位同事因为技术实现方案的不同而发生过争执。我认为项目框架版本应该升级到最新版以追求更高的性能和更丰富的特性,他认为应该继续使用旧版本以避免重构带来的工作成本。我们各自都有自己的论据,没有达成一致。后来,我决定主动找他沟通解决这个问题。首先,我向他表达了我的歉意,说我可能在讨论中有些激动和冲动,没有考虑到他的感受。然后,我邀请他一起重新审视我们的方案,比较一下各自方案的优缺点和风险。最终,在理性的探讨下,我们找到了一个折中的方案,那就是新建一个分支进行框架新版本的升级,评测完升级效果后再最终决定是否合入主分支。

你对我们公司了解多少?

你对我们公司了解多少?

提前简单了解一些对方公司的重要信息比如主营业务、核心产品、价值观,面试的时候简单聊聊就好了。

为什么想来我们公司工作?

为什么想来我们公司工作?

可以从核心产品、工作氛围、业界认可度、个人发展意愿等方面去回答这个问题。真诚地表达这份工作就是自己比较需要的就好,不需要过于吹捧对方公司。

说说你选择这份工作的动机?

说说你选择这份工作的动机?

回答的时候注意几点:

表明自己对这份工作比较感兴趣,并且有相应的经验可以胜任。

表明自己对于这家公司的认可,觉得自己可以在这家公司得到成长。

上班期间有很多事需要你处理,你会如何安排?

上班期间有很多事需要你处理,你会如何安排?

回答围绕着“根据事情的重要性和紧急性来安排任务”即可。

如何安排工作上的事情的优先级? 给几点建议大家参考一下,总体原则还是重要的事情优先。

客户、线上、安全问题最优先。

对于后续开发依赖比较大的业务优先。

工作量小,流程比较长的优先,比如账户认证、资源申请等等。

你的工作出现问题/失误怎么办?

你的工作出现问题/失误怎么办?

回答的时候注意几点:

不要逃避责任,是自己的问题要主动承认。

遇到问题要冷静,理性分析问题出现的原因并解决。

积极复盘,总结经验,避免下次再出现类似的问题。

你还有什么问题想问的?

你还有什么问题想问的?

这个问题还挺重要的,我单独写了一篇文章来回答这个问题放在了《Java 面试指北》中,地址:https://www.yuque.com/snailclimb/mf2z3k/lnaxv6 (密码获取:https://t.zsxq.com/Uv3ByZn)。

https://www.yuque.com/snailclimb/mf2z3k/lnaxv6

https://t.zsxq.com/Uv3ByZn

社会和大学的区别?

社会和大学的区别?

建议从下面几个角度来回答:

责任:在大学里,更多地是对自己的学习和个人发展负责。进入职场后,责任感明显增加,不仅需要对个人的工作成果负责,还需对团队和公司的目标作出贡献。

学习:大学的学习是理论和概念驱动的,而职场学习更多是实际应用驱动。职场学习的关键在于解决工作中遇到的实际问题,实践性更强,对学习能力的要求也更高。

独立:进入社会中后需要更加独立和自主地面对各种挑战,而大学提供了一个相对保护的环境,试错成本也更低。

压力:相对大学来说,职场的压力更大,需要个人有更强的抗压能力。