以前有个人来我公司面试,我两个下属都给了极高评价,异口同声曰:此子,出乎其类拔乎其萃,乃不可多得之专家码农。我听完很高兴啊,人才啊, 拍桌而起,心里默默说,这次一定要争取到。
之后我问此子Java知识、JVM原理、并发问题,对答如流,如数家珍。于是我欣然让他做了一道hard 难度 leetcode没有的算法题,然后他没做出来。当时我心中一紧,而后释然——算法弱也无妨,看来算法是他的软肋,以后调教下,定能补上。
于是我,然后改成一道中等难度的题目,降低难度,然他增加下自信。然后他依然不能解出,甚至思路也很局限。于是我开始感到疑问,然后开始盘查他的项目经历,用很复杂的架构问题拷问之,果然漏洞百出。我心里捏了一把冷汗,若不是然是我灵光乍现,想看看如此优秀人才算法的成色,险些被他蒙混过关啊。
事后我和我的小弟们复盘面试,发现了一种深深套路,亦有可取之处。可以帮助大家快速掌握一个方向的技能。
其一:梳理知识点,得到导图一份
复盘中,我们一致认为求职者肯定是用导图进行了知识点整理, 比如java方向他有一个完整的知识框架,不然不可能练过2.5面。 这种框架,方便他记忆。因此他回答可以很完整。而他准备时间,应该在3月以上。他对知识点的覆盖已经超过了面试官。
各位看官,大家可能不知道,如果是看到一份导图,你会觉得复杂,但是你自己做一个,你就可以记住。确实很多高手是这样学习的, 这个求职者,定是有如此类似的方法,才能整理对整体知识有一个框架体系。
其二:逐项学习
此求职者,还是花了功夫,对导图中的内容进行逐项学习。若非如此,也不会让人感觉非常全面。他先整理了导图,然后进行学习,他能复述导图,所以能把知识点对号入座。过程中,定是穿插者导图的修改。
其三:利用面试题查漏
如果自己想导图,然后学习肯定不全。即便是,找一本教材、课程也覆盖不到这个求职者这么全面。他应该是反其道而行,利用面试题查漏。比如说,面试题回答不出HashMap和HashSet的区别,估计他会把java数据结构作为一个完整的分支重新写入导图, 如此方能覆盖完整。
其四:模拟场景——把面试官当小白
此子是个博弈高手,定是对每个知识点在心中模拟了面试场景。以面试官提问引入,然后自己练习回答。 然后此子具有一个一秒钟变成小白的能力,评估小白能不能听懂。只有自己说出的话,小白听懂了,那才是理解到了本质。如果说出的,很模糊,必须专家才能听懂,那就是还没有理解。而面试,就是要能让自己的阐述,让面试官觉得即便自己是小白也能听懂,就会觉得你好像很有道理。
其五:STAR大法——虚构场景
此子,面试中项目经历是虚构的,但是他用STAR大法虚构了场景。
S(Situation) 场景虚构
首先,此子虚构了一个场景,虚构了自己面临的困难。
T(Target) 目标虚构
然后他根据困难,虚构了自己的目标。
A(Action)行动
有了目标只有,他虚构了行动。
R(Result) 结果
最后,他虚构了结果,甚至是数据化、量化的结果。此子妄说自己是做中间件方向,然后虚构了有100家接入放,和300%的效率提升,有理有据。
其六:深度虚构、细节模拟
此子不仅仅虚构了单层STAR,还考虑到了深度STAR。好比场景,他想到了面试会说【这不是一个常见场景么? 我看也没什么特别?】,然后他会再多透露一些细节。然后, 他很多技术细节也是深度虚构过的,很多工具的基本的API也是练习过的。
总结
在下并不是教各位造假,而是以此真实故事,想告知各位一种学习的方式。
核心是自己要制作导图,然后要不断更新。这种过程是自己对一个未知领域的探索过程。然后利用面试题进行查漏。当导图知识差不多落地的时候,就要进行复述,确认自己说出去的小白能听懂,当小白能听懂,这就是自己理解了。 而且在面试期,因为你比面试官全面,因此可以从知识覆盖度上超过他。然后通过虚构场景进行练习,这样可以确保一失。唯独的破绽,就怕上来就考算法,考计算机原理的面试官;或者给你一个非常复杂的具体场景,问你应对策略的面试官。
微信公众号:C语言编程学习基地,学习C/C++可到Q零基础学习圈(一零五三二六一二二零)
来源慕课网,原文链接:https://www.imooc.com/article/302510