活跃农民
- 积分
- 301
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2019-4-9
- 最后登录
- 1970-1-1
|
注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
先上图为敬。
楼主目前在g,最近面了几家公司,有失败有成功,希望结合刷题经验及面试经历的感悟一道做个分享。
先说刷题,我不是要面试了才准备刷的,而是一直断断续续在leetcode上做题。
我的观点是,如果你基础不是特别好,前300道题,就直接看别人解法,看懂了,自己写一遍,反复看反复写,直到能完全自己从头到尾写出来并ac为止。
完成这一步后,继续300道到500道之旅,这时候,你应该对每一道题都仔细思考下,尽量能自己做出来。有些动态规划的难题,确实很难自己推导出来,那么还是像之前那样,看别人的思路和代码,看懂了,理解了,自己独立写一遍。
500道题下肚,我自己是有种打通任督二脉的感觉。这个时候继续向800道进发,这三百道题,我都是自己尽量做出来,这时候要求两点,第一,代码要简洁干练,第二,思路有了后,转化为代码的速度要快而准。另外,这个阶段,应该追求多试几种解法。比如,很多图的问题,都起码有两种解法,一是dfs/bfs,二是union-find。那么你最好两种都实现一遍。仔细比较下两种解法的时间和空间复杂度,以及其他优劣。举个例子,leetcode里有道题,是给一个二维grid,里面每个点是个integer,上下左右如果数字相同就算联通,联通的点就形成了一个岛,求最大面积的岛,返回面积即可。这道题dfs/bfs和union-find都可以做。但如果来个follow up,说这个grid特别大,放不进内存,你怎么做?此时用union-find就有了巨大优势,你完全可以一行一行的处理,这样每次读入内存两行数据就行。并且,这个代码非常容易写出来。
另外,500道题后,可以多参加每周六的比赛。我觉得我在比赛中学到的更多,一个很重要的点是,在比赛时,你会非常关注题目最后的约束条件,比如一个数组的长度如果给了最多10^3,那基本可以用O(n^2)解法。如果是10^5,那必须控制在O(NlogN)。如果到10^9了,那就得O(n)甚至O(logN)。这种训练多了, 你在面试中,也会条件反射的去clarify一些输入输出范围问题。
如果你照着上面的方法刷完了800+,你应该不会被任何面试中的coding难倒了,你也不用求各种面筋了。我自己体会也是如此,没有看任何面筋,面了包括doordash,square在内的6-7家公司,所有的coding都轻松搞定,把他们的follow-up 全部代码实现。
接着就来到了面试感悟,即使coding如有神助,也不见得能拿下面试。楼主面的都是senior+职位,系统设计和behavior question更重要。而面挂的两家的feedback也都是coding有亮点但是系统设计不够强。所以在面试准备过程中分配足够的时间给系统设计对于面senior+职位至关重要。系统设计及behavior question,我会另开一篇来具体写。这里先起个引子。
有人可能会问,哪有这么多时间去刷题。我想说,有。你只要目标够坚定,你就有时间。每天3道题,至多一个半小时就搞定了。并且300道题后,你刷题的速度会有质的飞跃。所以,万事开头难,一旦你熬过了开始的煎熬期,慢慢的你会有ac题目的快感,到那时候,不经意间,你可能就800+了。所以,每天坚持几道题,量变就会成质变。
补充内容 (2021-06-18 22:11 +8:00):
统一回复下常见问题
1. 刷题多久
严格说,从17年中开始,当时基础弱,一道题可能花上几个小时才能明白,但基本坚持每周10道题。18年有两三个月集中刷了2-3百。后来是偶尔集中刷。所以可能不太适合马上要面试的同学。
补充内容 (2021-06-18 22:16 +8:00):
2. 高频题或分类刷?
如果是针对某公司,高频题效果很好。平时练习,用分类的方式,可以这么做:每个类别刷10题后,总结,再随机或顺序刷来训练自己对题目类别判断的敏感度,是个不错的练习方式。仅供参考。
补充内容 (2021-06-19 01:26 +8:00):
3. 很多人问为什么呆了两年离开g
首先G很好,WLB一流,我们组尤其注重,有很多no-meetig day,也经常给额外假期。离开主要原因是之前被recruiter看穿我想去g,压级别又压offer,在g升5时间略长,而楼主比较care level
补充内容 (2021-06-19 05:35 +8:00):
文中承诺的,第二篇系统设计总结:https://www.1point3acres.com/bbs/thread-771667-1-1.html
补充内容 (2021-06-22 06:32 +8:00):
第三篇也是最后一篇,behavior question总结:https://www.1point3acres.com/bbs/thread-772424-1-1.html |
上一篇: 请问这样写问题出在哪里?下一篇: 求问一个狗家现场面试的类似题刷题网题号
|