如何准备一场技术面试

372 阅读4分钟

这是我参与8月更文挑战的第15天,活动详情查看:8月更文挑战

自7月份参加社招面试以来,已拿到多家公司的offer,总结一下我在准备面试中的一些经验,希望能帮到读者。

基础知识

基础知识的准备包括操作系统、计算机网络、数据结构和算法。这几块基本是面试中必问,如果特别基础的问题都答不上来,则会使得个人在面试官的印象中大打折扣。

另外这里面的问题都比较固定,好好准备,并且能有自己的思考,就会给面试官耳目一新的感觉。

面试中常问的题目有:

  • 进程、线程和协程
  • TCP和UDP
  • HTTPS

关于数据结构和算法,也已经是大厂面试中的标配了,推荐在leetcode上刷题,如果时间紧的话,优先做数组类、二叉树、链表类的题目。

我们在日常工作中很容易忽视掉基础知识,但这些内容尤为重要,决定着一个程序员的上限。所以,平时在工作之余也要记得温故知新。如果遇到面试抱佛脚,很容易蜻蜓点水,对概念理解的不深,面试时容易忘,最好有自己的理解,以教为学,用自己的话把知识点给表达出来。

岗位知识

根据岗位的不同,每轮面试会问一些与岗位相关的问题。这部分的准备推荐看JD,通过JD来总结出一些面试官可能会问到的知识点。

以Java工程师为例,基本每个JD都会提到“熟悉JVM,IO,并发编程”,因此这几块要重点去准备。

此外,对JD的研究,也体现了你对这份面试是否重视,我们往往能从JD中判断出自己是否合适,并且也为面试中的反问环节提供了一些提问的方向。我个人就特别喜欢根据JD来向面试官了解这份岗位真正在做什么,避免出现跟自己不合适的情况。

项目经验

个人平时做过的项目也是必须要准备的,即使做的是CRUD的项目,也要努力寻找亮点,体现你的能力。万一项目真的很平庸,那就需要反思了,一是要在日常的工作中,积极去挑战一些更难的任务,二是平时不能忘掉技术积累,在面试时可以跟面试官谈一谈,这个项目可以怎么改进优化,尤其是当业务量大幅增加的时候。

介绍项目的时候,要利用STAR法则。在什么样的背景下,有什么任务,你采取了什么行动,并且取得了哪些成效。

反问环节

这一块是我最喜欢的环节,因为可以借此了解岗位,以及跟面试官取经。

我最喜欢问面试官的是两个问题。一是问这个岗位是做什么的,出于什么原因找人,这个可以帮助我更好的了解这个岗位的细节,因为有时候光凭JD是判断不出自己是否真的合适。二是问面试官他们平时工作中用到的技术,以及做过的有挑战的事情,这可以帮助我更好的了解他们团队,并且判断他们做的东西,是否有助于我的能力提升。

以上就是我的经验总结,写的比较粗糙,还有很多想要分享。

面试是一个持久战,即使我刚面试时斗志昂扬,到面了一个月后,也觉得精疲力尽,不想说话了。面试对我这种内向的人来说,是一个很大的能量消耗,所以要趁着势头正盛时,多拿一点offer,手中有粮,心中不慌,这样能帮助自己建立自信,以及更有底气去参加后面的面试。我的经验是一般在面试七八场后,就会变得非常得心应手,这时候就要勇敢地去面那些心仪的公司,争取一锤定音。

祝大家都能拿到满意的offer。