※ 引述《GGlo5566 (居居囉)》之铭言:
: Onsite的时候,一开始面试官会丢一个叙述相对模糊的题目
: 需要你自己去询问清楚题目的需求和边界(需求分析)
: 然后跟面试官说明想法,得出一个双方都认同的可行解(沟通技巧、知识深度和广度)
: 接着才是开始实作(Coding能力)
: 实作完dry run一下解法有没有bug或没考虑到的case(Testing)
: 最后分析performance,到这边我们已经有一个work solution了
: 如果时间还够的话,面试官永远都可以给你follow up(Scaling)
: 像是题目条件从一维变二维、求可行性变成求具体方案,input从静态变成streaming
: 解法会不会有不同?为什么?重点是思路清晰、讲得清楚自己在干嘛
说真的我本来也以为是这样,但面过一两次后就知道其实这也是鬼扯
因为top tier一堆老中老印,leetcode刷到看到题目可以告诉你是几号的
本来如果没有这堆老中老印的话,事实确实应该是照上面写的这样发展的
但是当几个没刷到滚瓜烂熟的,进来看到一题Medium或是Hard
然后在那边跟面试官think out loud,讨论一堆解法
最后花30分钟才解了一题,然后第二题没解完时间就到了
然后来了一个刷到倒背如流的,每一题出来都15分钟搞定
问完clarifying questions,再假装想个一分钟后,就马上直奔最佳解
你是面试官要录取哪个?80%以上会录取解得快的那个
而且top tier面试之所以很难,除了题目好不好解以外
更大重点是"时间限制"跟"不能有bug",一场45分钟,扣掉前面5分钟
40分钟内你得解2题Medium-Hard或是3题Easy-Medium
相当于Easy超过10分钟,Medium超过15分钟,你就差不多要GG了
写过code的都知道,这时间内要写出来,而且还要完美无bug
基本上看到题的瞬间,你就要知道最佳解了,否则你肯定超时
而且知道最佳解可能还不够,code大概写法你也得背个七七八八
否则卡在中间实作,或是出现小bug,一样超时或GG
这种考法,请问那些在当场在那边想解法
然后在那边think out loud,跟面试官讨论的,怎么可能会过关?
所以最后就是一堆刷手老中老印大量进去囉