Introduction

這本筆記原本只為了記錄 Leetcode 前 150 題,後來整合越來越多資源,才變成現在這樣

2020 繼續精進

一天寫一題,面試笑嘻嘻 - Google doc for progress tracking

參考文章:1000 LeetCode Problems within a Year (保持一天刷一題好習慣的經驗分享)

我的另外兩本延伸筆記

投履歷

  1. TripleByte

    TripleByte optimizes your job search algorithm from O(N) to O(1). 看這篇:碼農求職神器 Triplebyte:不看簡歷,不用海投,直接推薦给眾多公司面試

Mock Interview

  1. Pramp

    Pramp 可以免費約練習線上面試,跟其他求職者互相模擬面試,對 phone interview 幫助很大。

題庫

Coding Style

解法參考

系統設計

CV/ML

可以問面試官的問題

Reference

  1. 我是如何拿到硅谷顶级科技公司的10个offer的

    我开始分类攻克,按照数据结构和算法,拿出几个常见的类型,一类一类的看。包括树,图,dfs,bfs,recursion,linkedlist,hashmap,priorityqueue,等等,leetcode里都有。按照频率,一道一道刷,理解,掌握方法,融会贯通。在此我推荐一下前几年和老公一起写的书。我们都是强推以质代替量。保证理解,能考虑为什么这道题要这么做,是先有方法再有题目,而不是一味的做一道题,想一个方法。一道题做了,做一道类似的题,举一反三一下。掌握解这种类型题目的方法。得问问自己为什么这道题能用这个数据结构或者这样做?有没有别的方法? 对此,我还是推荐一定主攻leetcode前面150道题,基本上要是全部会就无敌了已经。要是保险,再刷刷每个类的高频题强化一下。LeetCode都相当经典,高频题肯定也是好题,面试官平时面来面去也就这么几道题,比如我自己基本上就面一道和自己project相关的题。他们选考这些题是有原因的。比如可以考多个知识点,或者对一个知识点考的很全面,或者对代码质量要求比较高,或者有多个解法发散思维等等等等。所以都是好题,值得理解。 与此同时,我刷我刷我刷刷刷,一道一道一道刷。

  2. [Leetcode] 900+刷题经验贴

    这个前几百道题(一百,两百,还是五百看你的基础)要抄要背的经验是对路的。面试时要说一些废话,要了解题目要求,最多能有30分钟来写代码,一般人是不可能在这30分钟内来个原创新思路的。算法面试不是考你的创造力,而是你的基本功和见识。一道题,想了十分钟还没思路,再想下去就是浪费时间。一个有效的做法是想五分钟,没思路的化,花五分钟在纸上写下你的猜测/预测,比如,这题该用什么数据结构堆啊,哈希啊,队列啊,链表啊还是组合结构比如哈希+数组,什么算法,遍历,排序,记忆化,模拟,minimax,还是双指针什么的。然后看答案,对比一下,能了解你做不出的原因在哪里,是缺了知识点,是被字面意思误导了,是特定技术不熟练,没养成习惯往上套,等等等等。

    除非你是有创造力的大拿(你是的化,也不会看到我的贴),靠一个题本身学算法实现能力效率是不高的。效率高的办法是靠大题量,从大量类似的已知解题方法的对比和联系上提高。模仿比创新容易一百倍。科学家只能在问题空间探索来创新。工程师要在既定方案中选择来对付眼前的问题。

Last updated