专栏 | 九章算法
网址 | www.jiuzhang.com
你花了大量的时间学习如何编程、学习如何创建项目。终于你通过自己的努力收到了梦寐以求的公司发来的面试邀请函。但是这时候,你却发现你的面前又被另一座大山所阻拦:
白板面试
1.什么是白板面试?
白板面试是为了在软件技术求职面试中测试你沟通和解决问题的能力。一般情况下,在白板面试时,你会被给予一个任务、一个代码问题,当然,还有一块白板。并且在面试时需要你不依赖外部参考,直接在白板上手写程序,给出整体的解决方案。
2.为什么公司要安排一场白板面试?
很多著名的科技公司目前都会采用白板面试的方法面试应聘者。因为相比起传统的编程环境,白板面试迫使你在没有自己喜欢的工具的情况下、在不熟悉的环境中写代码。这就可能导致你在面试过程中犯错误,而你在一个陌生的环境中遇见问题时的处理方式,也将会成为公司考量你的标准之一。
3.在白板面试中面试官会关注什么?
在白板面试中往往代码的撰写不是面试官最看中的,面试官一般关注更多的是:
-
你与别人的沟通能力;
-
你遇到挫折时候的应变能力;
-
你接受到任务时的反馈能力,等等。
因为这些能力都将决定你会不会在日后成为一个有建设性的员工。
因此你如果在白板面试中感觉到磕磕绊绊很正常,不要害怕,这是需要你向面试官展现出你解决问题、消除错误的能力,而不是假装你知道一切,逞强蛮干。
4.如何准备白板面试?
不要对白板面试感到恐惧,因为有效的准备工作是可以助你在白板面试中取得成功的。下面我们就来分享8个简单的小建议来给各位热一热身:
面试前
1.买块白板
已经熟悉了在电脑上编程的你是不是平时不会在白板上写代码?同时,在白板上写代码和在纸上写代码也有很大的不同。所以熟悉了在白板上写代码就相当于熟悉了面试时的编程环境,这是很有必要的!
2.观察别人如何在白板上写代码
每个人都有不同的学习方式,所以观察别人如何在白板上写代码对你熟悉如何在白板上写代码也很有帮助。尤其是当你让自己置身于面试官的视角时, 你就能更好的了解到如何在白板上进行编程才更容易通过面试。
3.学会表达你的思维方式
白板面试并不意味着你在面试时只能用笔在白板上写代码。如果你想让面试官知道你在想什么以及你遇到问题时想怎么处理,那么请学会表达你的思维方式。尽可能多地在白板上写代码的同时展示你的思维过程,这将帮助你慢慢习惯在白板面试时清晰的表达出你是如何思考的。
4.锻炼你的沟通能力和表达能力
在一场白板面试中你只会写白板是不行的,就好比在一个team里你只会写代码也是不行的。所以在白板面试前多能够锻炼出平静有效地沟通你的想法是非常重要的。
5.保证睡眠充足
白板面试往往会持续很久,因此在面试前一晚千万不要熬夜。 如果你能在白板面试中始终保持着充沛的精力,会增加你面试成功的几率。
面试中
1.学会提问
当你被问到一个问题时,不要急着回答,不要急着去“做对”。可能这个问题本身就没有标准答案呢?所以当你被问到一个问题时,你可以先在头脑中评估一下问题,如果你觉得你需要更多的信息,或者面试官给的问题并不够清楚,就需要你大胆的去提问,以消除任何歧义。
2.解释你的思维过程
当你清楚了问题的细节以后,面试官会想知道你对这个问题的看法以及你打算怎么处理这个问题,所以在编程过程中能够解释你的想法是至关重要的。而且在白板面试的过程中面试官经常会根据你的思维过程而非你能否给出一个可靠的答案来对你进行评判。
3.自信心
一般情况下白板面试的问题都很难,所以往往你并不能马上给出一个让面试官满意的答案,这个时候有的人自信心就开始动摇,甚至开始对自身能力产生质疑。
但是在这时你要告诉自己你已经为白板面试做了充分的准备,足以面对任何困难。即使你觉得你可能没有提供最好的答案,也要保持积极与冷静:积极地去与面试官接触,冷静的进行思考。相信自己,走在正确的轨道总比半途而废来的好,你要相信你积极自信的处理方式会让面试官对你的评价大大提升。
精英程序员交流社区,定期发布面试题、面试技巧、求职信息等