IT 面试手册 - 序
前言
- 首先,感谢你阅读我的文章。作为在计算机互联网行业摸爬滚打近十载的半个过来人,在这里分享一些关于求职面试和自我提升的心得感悟,希望能够给你一些启发。
背景
-
对于 IT 从业者来说,当今这个时代,最不缺的就是信息的来源。不少朋友在为即将到来的面试进行备战的时候,会去互联网上寻找各类 面试题 ,试图利用 背面试题 的方式来尝试 压中 面试内容。在我看来这是一种非常幼稚的行为。
-
把面试当成考试的人,从一开始就曲解了面试本身的意义。试想一下,如果面试就是考试,那为什么需要面试官腾出专门的时间和精力,与候选人一对一的面谈?大可不必,出一套卷子,想客观一些的话,最多再安排个监考。
-
之所以很多朋友一听到面试,第一反应是紧张、焦虑、担心、害怕。那太正常了,因为你从小在这片土地长大,我们国家的传统教育就是用各种各样的 考试 来层层筛选人才的。面试 这个词中不巧也有一个 “试” 字,所以你已经条件反射了,那熟悉的魔鬼又回来了。
-
语言很有意思,她会根据不同的民族、国籍、地域而产生微妙的变化。英语中
interview
一词,来源于法语的entrevue
,它是由“entre”(意为“在两者之间”)和“vue”(意为“视图”或“看法”)这两个词组合而成的。在法语中,“entrevue”通常指两个人之间的会面或交谈。 -
我倒觉得“对谈”,或者“面谈”这个翻译,会比“面试”给人更少的误导。为什么说是误导呢?通常在中国传统文化中,考试的考核方往往处于强势地位,而受试方通常只能听其差遣。
-
现在的人才招聘市场早就不是那个 科举 的时代了。每个人都可以充分发挥自己的长板,找到自己合适镶嵌的木桶。找不到工作,或者说找不到自己心仪的工作的人,只有一个原因,就是 懒 。
策略
-
你可能会说,你胡说!我不懒!我特别勤奋!但就是怀才不遇!那你先别着急,懒是人的天性,我不是在指责你,每个人都很懒。问题在于我们在不同事情上,是否采取了合适的策略。
-
让我来想想你所谓的勤奋:是不是刷了无数的B站某某老师教学视频?是不是看了无数CSDN或者知乎的某某面试题大全?然后呢?扪心自问一下,你是只记住了段子还是真的掌握了知识,还是连段子也没记住。
-
“输入上的勤奋是一种逃避。”对,就是我说的,不是鲁迅。
-
那如何让勤奋有价值?没错,你已经想到了,就是输出。将来面试中,最能让面试官对你刮目相看的,最能让HR给你提高定薪的,就是你的输出。
-
我们需要承认一件事,不是所有人都有都像梁启超、周恩来一样拥有过人的演讲天赋。那我们普通人,怎么做到在面试中让人眼前一亮呢?没什么捷径,就是写。把你将来在面试中有可能需要说出来的所有辞藻,写下来。而且最好是用笔在纸上写,因为用笔写让人足够专注,并且由于修改成本更高,你会更认真的对待每一次落笔。
-
一天能写两张A4纸,你真的已经足够勤奋了。你会发现,被你仔细斟酌过写下来的句子,是很难从脑海中抹去的。
-
如果你不信我,我们找个代表人类最高学识的朋友,从科学层面听听他的看法。
秘籍
-
有了行动策略,我们还缺一份行动秘籍。你可能已经开始想了,那你让我写,我写啥?抄面试题吗?等会,先把 抄 字从我们的秘籍中拿掉。不要试图用誊写的方式去 抄 任何东西,那不叫输出。
-
我们在下笔之前,不妨先换个角度,想想面试官在想什么。作为一个面试官,怎么在有限的时间里充分考察候选人的各项素质。面试官做的事情的本质就是对候选人进行分级。所以一个行之有效的等级划分标准就至关重要了。不管你认不认同,在你和面试官结束对话的那一刻起,企业已经对你进行了归类,我把它抽象为 工作能力和思考意愿四象限:
-
注意这里的 工作能力 和 思考意愿 不是说你这个人的本性,而是你针对当前正在投递的这个岗位,体现出的匹配度。换个适合你的岗位,你很可能会从第三象限跑到第一象限。
-
换句话说,你在投递这个岗位之前,应该先把自己放在这个四象限中,清楚自己的定位。如果你在第二、第四象限,需要尽可能的在面试中展现出第一象限的特质。而如果你在第三象限,那我劝你,不妨换个岗位。
-
清楚了目标,也就是“在面试中展现出,我就是那个第一象限的最佳候选人!”接下来你需要做的所有事情,都是为了提高你在面试中展现出的工作能力,和对新工作新挑战的思考和探索意愿。
-
现在我们重新审视一下所谓的面试。面试官是想通过问题难倒你吗?你的目标是回答出所有的面试问题吗?答案当然都是否定的。面试官绞尽脑汁问你问题,提示你,启发你,仅仅是想更快更准确的对你进行分级定位。反过来如果你主动的展现出了自己的分级定位,相信我,面试 会变成一个轻松愉快的同行网友见面会。
框架
-
前面的策略和秘籍,你可能已经看懂了,可能觉得有些道理,但真让你开始行动,你还是会犯难。就像让你从一个空的文件夹开始开发一个完整项目一样,无从下手。有开发经验的朋友,在熟悉不过的就是各类 框架。在成熟高效的 框架 下做事情,一切会变得和填空一样简单。
-
这里,我就给你提供一个五层框架。我把他叫做堵嘴框架。当然是用来堵住面试官的嘴,他问的越少,我们出错的机会就越小。
- 三句话内说明,A是什么?
- A中都包含哪些核心组件?A中都有哪些核心原理?
- 在你的工作中、项目中,是如何使用A的?具体是什么场景?
- 使用A的过程中遇到过什么印象深刻的问题?
- 问题是如何解决的?
-
为什么叫它堵嘴框架?因为如果你每个问题都用这个框架回答,面试官就不用追问了。这其实就是面试官提问的框架,每一层逐层递进,从抽象概念到具体应用再到经验心得,完整且富有逻辑的陈述,一套回答让面试官身临其境,他在听你讲述的同时已经把自己带入和你共事的日常中了。那么,认可你,将你吸纳为他团队的一员,已经是水到渠成的事情。
-
试想一下反过来的场景:
- 面试官:“我看你简历上写了,精通Java语言,那你说说你对Java的理解。”
- 候选人:“Java是一种面向对象的编程语言。”
- 面试官:“还有吗?”
- 候选人:“emm(⊙ω⊙)”
- 面试官:“这样,我提示你一下,Java中都有哪些常用类库呢?”
- 候选人:“哦哦,Java有字符串,集合,线程,IO,反射。”
- 面试官沉默了20秒:“Ok,你刚刚提到线程,那在你的项目中具体是怎么管理线程的?”
- 候选人:“emm(⊙ω⊙)线程emm,线程池!对!我们项目里数据持久层有用到连接池来管理数据库连接。”
- 面试官沉默了30秒:“好,那你们用这个连接池的过程中有遇到什么问题吗?具体是怎么解决的呢?”
- 候选人:“emm(⊙ω⊙)好像也没遇到啥问题。”
- 面试官:“ ̄へ ̄(心里在想,抬走,下一位)”
-
如果用了堵嘴框架,和咱们前文说到的策略和秘籍。假设你已经用堵嘴框架准备好了Java中多线程的部分,那么同样的问题,我们再来看看下面的对话:
- 面试官:“我看你简历上写了,精通Java语言,那你说说你对Java的理解。”
- 候选人:“好的,我前几年工作中主要使用Java语言,所以Java相对比较熟悉一些。我的理解简单说Java就是一个以面向对象作为编程范式的后端开发语言。开发过程中我们经常会用到Java标准库中的各种类库,比如集合、线程、IO、Socket这些。但是工作中基本上很少去直接关注这些底层基础实现了,像我最近的一个项目,我们的订单系统,当用户下单时,需要查询商品信息、优惠信息、用户信息、库存信息等,这些信息来自不同的系统,系统之间的交互需要通过RPC调用来完成,这个过程中的并发RPC就是用Dubbo这种框架直接来实现的。生产环境也遇到过一些问题,比如在高并发情况下,Dubbo的消费者端容易出现线程池过载或者队列溢出的情况,导致服务无法正常响应或者请求超时。我们当时是先增加消费者端的线程池大小或调整核心线程数,以适应更多的访问量和突发请求,后来又针对具体业务场景做一些压测,之后……”
- 面试官:“行,是这,明天就来上班。”
总结
- 作为旁观者的你,感受到框架的强大作用了吗?策略让你明确目标,秘籍让你知道方法,框架给你行动路径。从现在开始,把你刷教程刷博客的无用功停下,开始真的为自己心仪的岗位做准备吧。