最近,我差点儿就拿下了 FAMGA(优快云 编者注:国内有 BAT,国外有 FAMGA,即 Facebook、Apple、Microsoft、Google、Amazon。)的工作机会。通过了电话面试,代码笔试题也顺利通过了,但最终却在一对一或二对一面试中翻了船:
白板编程面试:算法;
技术面试:JavaScript,CS,React;
文化适应性:你们懂的;
第二次白板编程面试:回头再写一篇文章吧。
问题出在哪里?
导致这次面试失败的原因可以归结为我犯下的几个错误。
我估计我通过了技术测试和文化适应性测试(假设如此吧),但我承认在白板编程测试阶段表现得很糟糕。
回想下那天的经历,我都不期待有什么好的结果。
真相是:我根本没有准备好做白板面试。
白板面试
白板面试是一种混合的技术测试手段,能同时测试对知识的理解程度和社交能力。
来源:https://skillcrush.com/2016/03/29/rock-your-next-whiteboard-test/
这个应该是众所周知了吧?其实考察的不是编码能力,而是解决问题的能力,不会这个那个的其实也不要紧……
我是个前端开发,通常我不会写任何面试题中用到的算法,也不会在编码过程中把我的思路表达出来。绝大部分时间我都在写交互式 UI。
这种测试又能反映出候选人的多少情况?
有人甚至说:
在真实世界里,你几乎从来不会在编程过程中凭记忆写一段算法。绝大多数情况下总是会用已有的库,这个库经过完整的测试,并且已被许多开发者们验证是正确的。
唯一需要回忆算法的情况就是在大灾变之后……网上所有计算机的硬盘被毁,所有基础科学的学术论文和教科书也都烧成了灰……
我的意见和上面某个意见很相似,尽管我更倾向于相信这种技能(善于白板面试的技能)要求的是拥有一系列其他软技能和硬技能。
客观原因
我先列个单子,尽管一些情况和你的情况相同,但我列出它们的主要原因是我得喘口气