程天縱老師兒子的面試心得,最後去了Amazon。
內部有提到美國求職最常用到的相關服務。
LinkedIn社群:在這裡面可以發現許多大公司的招募人員,也有許多校友、學長、或是目標公司的主管。
Glassdoor:這是一個可以匿名發表各種訊息的就業社群,有點像台灣的PTT、或是從前的「求職天眼通」;面試的經驗、吐槽、各個企業的評論,甚至於各種職位和薪資,都可以發表。
Leetcode:各家公司面試時,出的考題和最佳的答案都在這個網站裡分享;尤其是對於軟體開發和算法的考題,幾乎一網打盡,而且隨時更新
「leetcode ptt」的推薦目錄:
- 關於leetcode ptt 在 苦命的人力資源主管 Facebook 的最佳貼文
- 關於leetcode ptt 在 [心得] Leetcode 刷題解答與Python 3 小技巧分享- 看板Soft_Job 的評價
- 關於leetcode ptt 在 [問卦] 資工系畢業leetcode第一題就卡住- Gossiping 的評價
- 關於leetcode ptt 在 [問卦] LeetCode刷幾題能去挑戰面試 - PTT評價 的評價
- 關於leetcode ptt 在 [請益] Leetcode跟年薪的對比 - PTT 問答 的評價
- 關於leetcode ptt 在 Re: [請益] 刷leetcode找工作- PTT看板soft_job - 干饭人 的評價
- 關於leetcode ptt 在 [請益] Leetcode常卡住求解 的評價
- 關於leetcode ptt 在 [心得] LeetCode高效刷題心得分享- 看板Soft_Job | PTT職涯區 的評價
- 關於leetcode ptt 在 [討論] 有人用leetcode 反挑戰面試官嗎- Soft_Job - PTT情感投資 ... 的評價
- 關於leetcode ptt 在 [請益] 透過刷題可以進科技業嗎? - Tech_Job 的評價
- 關於leetcode ptt 在 [心得] COVID期間拿到Google FB 微軟Offer Part3 - Mo PTT 鄉 ... 的評價
- 關於leetcode ptt 在 [討論] 刷leetcode的語言選擇- soft_job | PTT職涯區 的評價
- 關於leetcode ptt 在 「leetcode ptt」+1 [問卦] 刷Leetcode到底重不重要阿 - 藥師家 的評價
- 關於leetcode ptt 在 [問卦] 有沒有小學刷Leetcode的八卦 的評價
- 關於leetcode ptt 在 [問卦] 有沒有小學刷Leetcode的八卦 - PTT Web 的評價
- 關於leetcode ptt 在 Re: [心得] 刷leetcode的心得oopFoo PTT批踢踢實業坊 的評價
- 關於leetcode ptt 在 [問卦] 幾歲開始刷Leetcode才有競爭力? - 看板Gossiping 的評價
- 關於leetcode ptt 在 [閒聊] 女孩兒會去刷leetcode嗎? - womentalk | PTT學習區 的評價
- 關於leetcode ptt 在 【google leetcode ptt】[請益]Leetcode刷一輪到能面... +1 的評價
- 關於leetcode ptt 在 [請益] 寫LeetCode起手式是先枚舉test case? | Soft_Job 看板 的評價
- 關於leetcode ptt 在 [問題] 新手解LeetCode請益- 看板Python | PTT數位生活區 的評價
- 關於leetcode ptt 在 #刷題用C還是C++刷題比較好? - 軟體工程師板 | Dcard 的評價
- 關於leetcode ptt 在 leetcode刷題在PTT/Dcard完整相關資訊 - 你不知道的歷史故事 的評價
- 關於leetcode ptt 在 leetcode刷題在PTT/Dcard完整相關資訊 - 你不知道的歷史故事 的評價
- 關於leetcode ptt 在 [心得] CS找工作經驗分享- studyabroad | PTT旅遊美食區 的評價
- 關於leetcode ptt 在 Leetcode 起手式Leetcode Getting Started - Aaron Jen's Blog 的評價
- 關於leetcode ptt 在 【leetcode ptt】資訊整理& 趨勢科技薪資ptt相關消息| 綠色工廠 的評價
- 關於leetcode ptt 在 [北美] Leetcode刷起來分享刷題之我見 - PTT | Re 的評價
- 關於leetcode ptt 在 [情報] Leetcode 感恩節$30元折扣- 看板Lifeismoney | PTT消費區 的評價
- 關於leetcode ptt 在 Aespa Giselle Tamil Whats Up Status ❤️ - YouTube 的評價
- 關於leetcode ptt 在 創客創業導師程天縱的職場力:解析職場的人與事,提升工作與管理績效的34條建言 的評價
leetcode ptt 在 [問卦] 資工系畢業leetcode第一題就卡住- Gossiping 的推薦與評價
ptt 熱門文章、政治八卦. ... [問卦] 資工系畢業leetcode第一題就卡住 ... 阿宅大學是讀某地區大學的資工系畢業後想說要找相關工作別人建議說可以先從leetcode刷起但 ... ... <看更多>
leetcode ptt 在 [問卦] LeetCode刷幾題能去挑戰面試 - PTT評價 的推薦與評價
欸欸LeetCode 不少人面試前會去刷題目前肥肥我還沒工作需求拉所以我是學新語言時 ... 發信站: 批踢踢實業坊(ptt.cc), 來自: 119.77.142.82 (臺灣). ... <看更多>
leetcode ptt 在 [心得] Leetcode 刷題解答與Python 3 小技巧分享- 看板Soft_Job 的推薦與評價
嗨,大家週末愉快!
不知道還記不記得之前小弟有分享面試 Google TW SWE 的心得,
最後有提到小弟當初有發願,如果順利進去要把過去寫過題目留存的解答整理分享出來,
最近終於施工完了,提供給有需要的人可以自由取用。
這份解答內涵蓋了 781 題的 Python 3 解法(太早期刷的題目就沒留解法了 QQ),
寫這些解答的目的是為了還願並且回饋給還在努力的板友,
唯一的使用限制就是請不要拿來作商業用途,讓知識無償分享出去,感謝大家。
https://www.notion.so/lenchen/LeetCode-47d625b874894484af7c055b024b9817
內容主要分成四大類,
1. 資料結構
主題涵蓋常用於 Leetcode 內解題的資料結構,
較常見的:Array/String, Matrix, Linked List, HashSet/Map, Stack, Queue, Heap
較高階的:DSU, Trie, BIT
還有偶爾會用到 Deque 跟 sortedcontainers,但數量比較少就沒特別分類。
2. 演算法
這邊其實是我自己的歸類,不一定只有這些 XD
內容涵蓋有:
greedy, multiple pointers, sliding window, sort, DFS/BFS, backtracking,
sweep line, rolling sum, binary search, dynamic programming, minimax
有趣的是這邊沒列 divide and conquer 這個經典分類,
因為好像幾乎沒遇到過哪題是只能使用 divide and conquer 解的,
所以就沒有讓它自成一個分類了。
但若有題目也可以用 divide and conquer 解的話,
我也有寫下來,所以還是可以再自行了解下。
3. 圖
圖相關的問題因為太經典所以自成一個主題,
整理了我所遇到的常見圖論演算法,還有 topological sort 的兩種方式,
最重要的是 tree 相關的分類也包含在這一部分內。
4. 其他
數學、隨機、位元操作相關的題目都會在這裡。
大致上就分這四個部分,每個解答底下都有一行字總結這題的解題概念,
因為跨越了兩年半所以 coding style 可能也有些不一樣,
但保證其中 99% 的內容都是我親手一個個字元打出來的,
希望能幫助到有需要的人 :)
另外順便再分享一些我覺得使用 Python 3 刷題時可以用的一些小技巧,
可以讓你的 code 變得更精簡,大家可以看看然後挑自己喜歡的來使用:
1. 用 next 搭配 generator comprehension 來獲取第一個滿足條件的元素,
像是 next(ele for ele in arr if ele > 0),就可以拿到 arr 中的第一個正數。
2. 解對稱性題目時,可以把引數調換 call 一次,減少重複的 code,像是:
def foo(a, b):
if a > b: return foo(b, a)
...
就可以讓你接下來維持在 a <= b 的前提下繼續寫 code,或者直接 swap 引數也可以:
def foo(a, b):
if a > b: a, b = b, a
...
3. python dict 可以使用 tuple 作 multikey,像是 d[k1, k2, k3],
如此一來就不用巢狀 dict 了(d[k1][k2][k3])
4. 可以使用 unpacking 來抽取出需要的參數,像是:
A = [1, 2, 3, 4, 5]
foo, *B, bar = A
可以得到 foo == 1, B == [2, 3, 4], bar == 5
另外還可以用巢狀 unpacking,
像是 for i, (a, b) in enumerate(pairs): 就超級常用。
5. Python 3.8 跟 3.9 有多了一些不錯的東西,
像是 3.8 的 assignment expression(:=) 跟 3.9 的 dict shallow merge(|)
都有機會可以讓 code 更精簡。
6. 有些 matrix 或是 grid 的題目,兩個 dimension 長度有可能為 0,
可以用 if not any(matrix): return xxx 來處理(感謝 Stefan Pochmann)
7. in 也會消費 iterator,
所以如果想知道某個 str s2 是不是另一個 str s1 的 subsequence 可以這麼做,
I = iter(s1)
return all(c in I for c in s2)
(再次感謝 Stefan Pochmann)
8. 想要測兩個數是不是同正負可以用 (a > 0) is (b > 0),記得事先檢查 0
板友提供 (credit to @pig2014): a ^ b > 0 更好
9. 想要攤平巢狀 list 可以用 sum(L, []) <- 不建議!途中 list 會一直重新 alloc
(credit to @coquelicot)
參考 stack overflow:https://bit.ly/3rz8UqH
建議的替代:
9.1. list comprehension: A = [ele for sub in arr for ele in sub]
9.2. itertools: A = list(itertools.chain.from_iterable(arr))
9.3. reduce: A = functools.reduce(operator.iconcat, arr, [])
10. 某些要提供 factory function 的地方,可以遞迴給自己,像是:
trie = lambda: collections.defaultdict(trie)
11. itemgetter 在某些需要 key 的 builtin function 很好用,像是:
sorted(A, key=itemgetter(1)),等同於寫 key=lambda x: x[1]
12. 因為 Python list 提供 negative indexing,
在某些情況可以用 ~i 來獲得對應於 i 的反向 indexing,像是:
for i in range(len(A)):
A[i] += xxx # A[0], A[1], A[2] , ...
A[~i] += ooo # A[-1], A[-2], A[-3], ...
大概就是這些東西了吧,這些技巧有些人喜歡有些人不喜歡,
我覺得沒有對錯啦,就挑自己覺得不錯的用吧 XD
happy coding!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.161.76.160 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1627032495.A.65E.html
同意,所以我文中有說有些人喜歡有些人不喜歡,選自己喜歡的用就好,
像是我個人比較偏好用 dict.setdefault 建 trie 而不是用 defauldict,
但這些技巧的背後都代表著一些語言特性,了解一下並不吃虧。
而且說句實在話,限制短時間的面試 跟 長期維護的產品,出發點並不能一概而論。
沒錯,絕對不要背答案,一個變化就倒了,該學習的是每題背後用到的觀念。
然後這份的解法就是揉合了討論區跟解答寫出來的 XD
因為發現有時候 leetcode 解答反而不是最佳解,
像是 Morris traversal 就只有少數幾篇解答有提到,但超多題目其實都可以用。
沒有耶,在學期間是有修過幾門 AI/ML 相關的課程,
出社會後主要是在做 web/app 的開發。
... <看更多>
相關內容