技术面试通用必备技能-业务逻辑面试和HR面试

大家好,很高兴我们可以一起交流学习。在上一节中,我们介绍了如何制作以及投递简历,相信聪明的你已经可以制作一个比较优秀的简历了。有了通关文牒,就可以进入与面试官的PK环节了。本节中,我们就来介绍下与面试官PK都有哪些环节吧。

Java岗位的面试一般包括2-3轮的技术面试和1轮HR面试。技术面试主要在考察我们对所做项目的理解与掌握,以及对Java相关技术包括算法的掌握。HR面试主要是考察候选人的价值观,积极性等。



技术面试:

技术面试包括业务逻辑面试,基础技术面试和算法面试。

业务逻辑面试:业务逻辑面试其实就是对你简历上所写的项目的考察。

基础技术面试:基础技术面试主要是在考察Java开发相关的技术栈。

算法面试:算法面试就是每轮技术面试都会进行的”手撕算法“环节。

关于基础技术面试和算法面试,我们会在接下来的章节中详细阐述与解析,争取覆盖到每一个高频技术知识点。本小节中,我们先来介绍下如何应对业务逻辑面试吧。

如何应对业务逻辑面试:
业务逻辑面试主要根据你的项目进行考察。在面试的最开始,面试官会找一个你的简历上的项目让你进行讲解。在讲解期间,面试官会针对你所做的东西进行深度挖掘,包括:为什么要这么做?优缺点分析,假如重新让你做一次,你打算怎么做?这个系统的数据来源和去向等等。

这个环节主要考察大家对自己做过的项目(实习项目或者校内项目)是否有一个清晰的认识。

当面试官要求我们对项目进行介绍的时候,我们可以在纸上把整体项目架构画出来(所以面试别忘了带纸和笔哦),边画图边介绍(当然需要在面试之前多加准备)。就比如,你的系统里边的有如下几个模块,那么你应该可以使用箭头来将其连接起来,这样你的系统就是一个完整的体系化的系统,数据的流向也会很清晰。


技术面试通用必备技能-业务逻辑面试和HR面试

那么,我们该如何准备项目呢?
在做项目的时候就应该多思考总结,对项目的数据来源、整体运行框架都应该熟悉,并且可以在白纸上流畅的画出各个模块。比如说你在某公司实习过程中,就可以进行总结,而不必等到快离职的时候匆忙的去总结该项目。

那么,你又要问了,我的项目都是负责一个简单的功能,没有涉及到系统整体的大模块功能该怎么办?

答:

如果你是在实习,可以咨询老员工呀,尤其是你的导师,他可以给你分析分析。
如果你是在做校内项目,可以请教下师兄师姐。
如果你已经参加工作了,兄弟,那你就需要自行解决了,一个功能模块不应该满足你的好奇心。

然后,问题又来了,我没有实习经历,第一次在找实习,我的简历上应该写哪些项目?

答:当然是校内项目啦,研究生在实验室一般是需要做项目的。如果你是本科生或者没有实验室项目可做的研究生,这种情况下,我们可以结合所学知识,比如Spring,MyBatis以及MySQL等技术来搭建自己的项目,自己提需求自己实现。

曾经,我在学习Java的时候,做了一个简单的图形化界面的学生管理系统,将设计模式和数据库等技术融入进去,并且进行了多个版本的迭代更新。我将整个完善开发过程记录在博客中,到现在依然是我的博客热门文章之一。所以说,只要你肯动手,项目自然就搞起来了,然后简历上自然就有干货项目经历了。

这里再次重申下业务逻辑面试的准备目标:
可以清晰明确的在白纸上画出系统架构以及数据流向等,在面试之前建议大家先准备好项目架构图哦~



HR面试

HR面试是非技术面试,考察的是候选人的价值观,上进心,对待工作的态度等。这个环节只要按照正常的节奏,稍加准备即可通过,切忌满口胡言,半开玩笑,大大咧咧,以为我都通过了N轮技术面试了,你能拿我怎么样?殊不知,一些公司的HR在招聘上具有一票否决,前面技术面试再优秀,都可以直接否定的。

这里给大家列出几个常见的HR面试问题以及简单的答案。当然HR面试中的回答一般没有固定的准确答案,大家根据实际情况灵活应变即可。

(a)自我介绍:
答:可以使用3-5句话简单介绍自己的背景,在学校的项目,在哪里实习过,平时喜欢写博客或者钻研技术,现在准备找一份Java岗位的工作。

(b)你有把所学知识用到实际中的经历吗?
答:找一个自己的项目中使用到一个具体的技术点的问题,比如说这个项目我使用了单例模式,在某个项目中进行了线程同步等都可以的。

(c)实习过程中遇到了哪些困难?怎么解决的?
答:实习初期不适应节奏,公司级别的项目开发量大,流程比较严格。通过加班,多记笔记,请教老员工,积极接受思考问题的新思维等,逐渐适应了节奏。

(d)遇到特别棘手的问题怎么解决?
答:在我遇到特别困难的问题时,我一般会采用分析法。我会在纸上详细的分析自己所遇到的问题,包括产生问题的原因,原有的方案,预期实现的目标,怎么实现,每一步都缺少什么东西,每一步的难点在哪里,我会把相关东西都梳理一遍,这样可以帮助我更好的分析和解决问题。

(e)说一件最能证明你能力的事情
答:可以列出实习中遇到的困难,如何有效保质保量的完成,也学习到了分析问题和解决问题的思路与方法等。

(f)你平时是怎么学习的?
答:当我接触到一门新的技术,我首先是找一本入门书籍看看,之后会下载相关的****。读书和看视频结合的方式来学习新技术,在学习的过程中,会动手练习相关简单Demo,总结一些学习笔记,进行新技术的实际入门。

(g)最近都在看哪些书?
答:列出一些正在学习的书籍,也可以包括一些时间管理或者与人沟通的书籍。比如,因为意识到有效沟通的重要性,所以在看与人沟通方面的书籍来学习。说出具体看书的动机会给自己的面试增加亮点。

(h)你对职业生涯有规划吗?
答:目前我所接触到的都是比较简单的基础,正处于一个夯实基础的阶段。我觉得工作前几年都是处于一个经验积累,技术提升的阶段。工作一段时间后,我会根据兴趣和擅长技术点来选择一个比较明确的方向,然后向着目标前进。(大概就是向着一些积极上进的方向来回答即可)。



总结:

在本小节中,我们主要交流了一些技术面试中的通用必备技能。从下一节开始,我们将步入本专刊的技术讲解部分,希望大家可以学的充实。

天之道,损有余而补不足,是故虚胜实,不足胜有余。投资自己才是投资未来,通过本专刊的学习,希望大家都可以找到一份满意的工作,早日叩开职业生涯的大厂之门。

如果有我表述不清楚或者表述有误的地方,欢迎大家在文章下边指出,我会及时改正。另外,大家有任何话题都可以在下边留言,我们一起交流探讨。