(如果你是来想看有什么题的,然而并没有,但是个人觉得面什么题真的不重要。。如果感兴趣,请往下看。。)
背景:
在职跳,但是也没想好要不要跳,哥们内推直接昂赛。0[刷题],准备一个月,断断续续(有家有娃)每天一道,周末3道的样子。一共刷了没有70个题。
准备过程:
recuiter 很nice 给我发了很多东西,其中有一个帖子 https://www.quora.com/How-should … tware-engineer-role 真的很有用,我就按这个上面一步一步来的
面试过程:
5轮面试的题都不是很难,有Medium有Easy,对Easy 你没有看错,而且5道题,有2个是Easy,1一个介于Medium和Easy,2个非常经典的Medium。不知道是不是运气好,但是感觉总体Bar很低。这里我不想讨论面了什么题,因为这些都不重要,请往下看。
面完感觉:
感觉不好说,虽然题都很简单,但是有两个Easy做的很差,是的两个Easy的String processing 做的很差。而且Easy的题很难把握面试关想要考察什么。
有感而发:
因为准备时间短,所以基本吧经历集中在比较经典的算法,DFS,BFS,DP(一维),还有基本的概念Graph,BST,HashMap,LinkedList。后面开帖详细的分享如何融汇贯通这些算法。做的题基本都是Medium,一般一个Easy热身一个Medium睡觉。这里基本没有连String processing,也给面试埋下伏笔。所以千万别忽略最基础的东西!!!教训!!!面完之后和我哥们讨论,他面过一些人,他说他已经没有bar了,问的都是Easy,然后还有很多人不会,这里我并不是想表达什么,只是想说面试本身就是考验实力的。如果你想看看面经侥幸过关,那还真不如去直接买彩票好了。但是看面经有没有用,那要看你怎么看:
个人觉得看面经首先心态要放平,因为有些面经不是很详细,所以你看了并想不出所以然,但是别慌,面试前慌了你就乱了,所以如果你心态不好,建议面试之前几天别看新的,可以想想或者动手写写之前看过的面经比较详细的题。还有对于比较详细的面经,这里就更要小心了,因为出题的时候最开始只有一句话或者这一些条件,至于最后完整的条件,是需要你一步一步和面试关交流去发现和探索的,这个交流的过程直接影响整个面试的走向,(打个比方Dota前期对线5分钟直接后面滚雪球,前期崩了,后期翻盘就比较难了,对手得犯错)所以看着这种详细的面经,背后是有着写面经大神交流的过程的,你前面交流顺畅,算法思路分析正确,那面试官也会更容易理解你写的code,这里又是关键点了,如果写完code面试关不理解,这就是red flag(个人观点)如果你能解释清楚为什么这么写并且面试关明白了,那恭喜你翻盘了,但是不是每次都能翻盘的,记住如果你的思路对,但是面试官很弱,半天都想不出来,那还是很悬,就算面试官后来想明白了,也可能会给你扣上交流能力差的feedback。
这里有同学就会问,那详细的也不行,不详细的也不行,这怎么搞?对,没法搞,这就是我为什么不发题的原因。但是如果你想明白的这其中的tradeoff,带着平和的心态,去了解一下大概的Bar在哪里,找到自己的差距和薄弱的地方,这才是面经给你的价值。所以楼主告诉你,现在狗狗Bar真的不高,只要你认真看看CTCI。(这里又要说CTCI比leetcode好就好在上面的题目是原始的面试题,对原始指的是面试最初告诉你的就是那么一句话,你需要自己去想怎么交流出一个能写code的题)
说了一堆,如果有不同观点,轻轻拍。最后祝各位好运!