為什么
編程的內(nèi)功修煉
國(guó)內(nèi)一線互聯(lián)網(wǎng)公司的必要條件
硅谷互聯(lián)網(wǎng)公司面試要求當(dāng)場(chǎng)寫算法題目
電話面試:collabedit.com
coderpad.io
白板面試:思路為主
有趣且實(shí)用
內(nèi)容
圖一
圖二
怎么做
《Outliers》異類-不一樣的成功啟示錄
1龟虎、Chunk it up
庖丁解牛:
圖1
脈絡(luò)鏈接
圖2
2圆凰、Deliberate practicing
堅(jiān)持婚夫、刻意練習(xí)
練習(xí)缺陷户誓、不舒服拄养、弱點(diǎn)的地方
不爽鞍泉、枯燥
3实抡、Feedback
即時(shí)反饋
主動(dòng)型(自己找)
-高手代碼(Github,Leetcode論壇)
-第一視角直播
被動(dòng)型(高手指點(diǎn))
-code review
-教練看你打苏揣,給你反饋
切題四件套
Clarification
Possible solutions
-compare(time/space)
-optimal(加強(qiáng))
Coding (多寫)
Test cases(測(cè)試案例)
復(fù)雜度 Big O notation
O(1):常數(shù)
O(long n):對(duì)數(shù)
O(n):線性時(shí)間
O(n^2)
O(n^3)
O(2^n):Fibonacci array的普通運(yùn)算
O(n!)
圖三
ps:只看最高復(fù)雜度的運(yùn)算
主定律用于解決算法:
圖四
知識(shí)點(diǎn)解析
三分學(xué)習(xí),七分練
注重練習(xí)弱項(xiàng)
LeetCode:
題目 + 分類(Topics) + 公司歸檔
做題
時(shí)間復(fù)雜度
Editor
Solution from LeetCode
Discussion Panel in LeetCode
Array數(shù)組:
圖
Access:O(1)
Insert:平均O(n)
Delete:平均O(n)
Linked List 鏈表:
改善數(shù)組的插入刪除操作
元素個(gè)數(shù)未知
圖
查詢:O(n)
插入:O(1)
圖
刪除:O(1)
圖
Doubly Linked List
圖