1. 程式人生 > >other's experience

other's experience

一畝三分地

 

 

 

1 coding 演算法

準備階段,lz是隻做leetcode, 現在大概有330+道題目。基本能cover 所有的型別了。 lz 也知道有其他網站啥的。但是lz覺得還是在質不在量。如果把這些題目都吃透了,那基本能cover 90%以上的面試了。 lz的策略就是集中突破leetcode。

 

lz的戰法目標是提高總體勝率,不是針對單一公司。整體勝率就是我面10家,能有70%的勝率。

. 一畝-三分-地,獨家釋出

lz用的是四遍突破法:

第一、二遍 熟悉題目,找到簡單解法,自己聯絡寫code

第三遍 找其他解法,和最優解法。 . from: 1point3acres 

第四遍 追求速度和準確率

 

 

 

能力強的大家,也可以合併第一二遍,就是三遍突破了。

 

面試前一週, 這一週很關鍵,大家都知道要面哪個公司了,這時候要對特定公司重點突破了,就是找面經,找面經,找面經。。。 基本技能大家應該都有。。。 lz用的是這幾個地方:一畝三分地,mitbbs,glassdoor。. 一畝-三分-地,獨家釋出

然後就是狂刷這些題目了。 

. from: 1point3acres 

 

面試: 這就是實戰了。 大公司phone interview 時候關注的主要是三方面,記住是三方面:

一 communication

二 logic

三 code quality

 

分開講: communication 個人感覺是最重要的, 大公司錄取你,要確保你能和現有員工愉快的一起工作。所以如果有communication的問題,那你code 寫的再好,可能也是stop。 而且你的分數是考古打得 =。 =。  具體點就是你能不能很好的理解考官出的題目, 以及考官能否完全理解你的解法。code前一定要多和考官說幾句,讓他明白你的思路,然後再寫code。 面試最後5分鐘一般會讓你問問題,這個你也要準備好。不要全是大眾問題。。。如你怎麼分配時間 啥的。。 考官都答吐了。。 要有創新。。。  

 

logic: 這部分就是你的解法了, 解法要簡明,容易理解。 不要繞彎路。 刷題的時候大家研究解法的時候應該多注意。

. 一畝-三分-地,獨家釋出

code quality:  這個也是日常基本功, 你的code分段要清晰,能share或者resued的code,寫進單獨的method裡。 這個網上很多文章,大家按自己的語言練習吧。. 1point3acres

 

 

 

lz 準備面試一共5個月。 lz平時在公司和同事都坐的很近,基本沒什麼機會刷題的。

所以只能下班或者早上刷題複習。

lz 5個月 leetcode 一共完整刷了4遍。

下面是lz的攻略了,lz非牛,只能笨鳥先飛。 最後突擊的幾個月,少有2點前睡的。

lz只刷leetcode,別的部分 只看面經和高頻。. 1point3acres

 

第一遍 每天固定10道題目, 週末固定20道。  這一遍是最痛苦的,從0開始,每天都要被題目虐待,查資料看別人的解法,寫自己的code。 這是最難也是最容易放棄的一遍。

第二遍 每日固定15道, 週末25道。 這一遍比第一次好多了, 大部分題目都有思路,能寫出解法。比第一遍好多了,也慢慢有信心。

第三遍 每日固定10道,週末20道。 這一遍主要是找多解法和最優解法, 這一遍感覺最耗費精力,要學習別人的思路,練習多種解法和最優解。 這一遍,你每多用一分心思,那麼你就更強一分。面對新題目也更有把握 來源一畝.三分地論壇

第四遍 每日固定30道,週末50道, 這一遍是追求速度和準確率的。 lz最後 medium的題目基本是8~10分鐘寫完bug free的code。 hard 一般10~12 分鐘。 

來源一畝.三分地論壇

之後就是蒐集機經,查缺補漏。

. more info on 1point3acres

lz 蒐集了一些design和演算法的機經。 參加上面三個帖子。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2016(1-3月)-[13]EE碩士+fresh grad 無實習/全職 - 網上海投| 碼農類General全職@Googlefresh grad應屆畢業生

         

最近壓力真的超級大  本來滿腔的熱血感覺真的快消磨殆盡了 不知道自己前途在哪裡  實在扛不住了來罈子發洩一下  其實更多是自我反省 可能負能量了 對不住各位如果大家不想看我的自我反省和吐槽 勞煩直接跳到最後 幫我解答下我的困惑 謝謝了

樓主女 15年5月畢業  專業是EE  但是是強電方向  在學校學過演算法和web的課程 剛來美國的時候實際是抱著畢了業就回國的心態 我本身並沒有多喜歡美國這個地方 那時也沒有什麼綠卡的想法 
大家也知道強電在美國沒什麼前途 我本身的話回國了做老本行還是可以有一份不錯的工作 所以一直沒把找工作這件事情掛在心上 更別提有什麼先見之明去暑期實習了
然而自己不做死就不會死 學了web以後覺得程式設計挺有意思  那時候又聽人說CS專特別好找工作 隨便刷刷題就行了 待遇也高 加上說實話本身對本專業並不是很有興趣(家人的原因才學的)
所以決定給自己一年的時間 留下來找CS的工作 所以有段時間自學了java基礎 看了first head  刷題也用的java。
. 留學申請論壇-一畝三分地
現在想來事情發展到今天 很多地方是我自己作死造成的。首先 我是屬於起步非常非常遲的那一種。由於腦子裡面一直抱著把題刷好就有工作的心態 和 不用那麼急反正有OPT的心態 我一直到
畢業以後將近7月的時候才開始刷題。那時候刷題也不是很狠 每天花在學習上的時間並不多 四五個小時最多了  而且自己底子很差 第一遍的時候大概磨蹭了得有將近兩個月。
其次 9 10月份的時候校招大潮 我沒有把握住 我雖然知道可能再等到年初的時候很多公司都不招了  但那時候我題目就刷了一遍  對於我這種程度的人來說  刷一遍基本就和沒刷一樣 很多方法沒有掌握到竅門 總覺得自己這也不會那也不會 再加上本身很缺乏自信 做不到像很多有自信的人一樣即使不太會也能侃侃而談 所以那時候的我根本不敢投簡歷 總覺得自己不行 題目還得刷.1point3acres網


真正進入到學習狀態大概是從11月份開始 每天基本上哪裡都不想去 覺得去哪裡都是浪費時間  只想待在家裡面  完全是脫產狀態在學習。但你要說我效率很高麼 我覺得也沒有。
我看很多人每天能學到10多個小時  我覺得我做不到 每天完完全全花在學習上的時間最多8 9個小時這樣。但是這段時間刷題還是刷出了一些小心得 至少不像一開始那麼虛了。

一月份開始投簡歷 自己投 找內推都有 一開始天天被拒  後來慢慢開始有面試 但也不太多。但我覺得這樣挺好 這樣可以有比較充足的時間去準備每一個面試 來源一畝.三分地論壇. 
我知道對我這種程度的人來說 針對面經去準備還是很重要的。


一開始一些ICC或者特別小的公司就不提了  正經面過的有pocket gems和snapchat   
pocket gems本來以為二面妥妥過了可以去onsite  面試官也說了有next step 沒想到真的naive  等了整整一個星期 然後拒了
snapchat  曾經的dream  因為太看重了  緊張到發揮非常差  平時不會犯的錯誤都犯了 run的時候有個bug  調了很久最後也沒出來  一掛電話就什麼都會了  瞬間有種吃了屎的感覺. 1point3acres
linkedin是內推第二題直接簡歷拒  沒過幾天說股票委了 我也不說什麼了
facebook也是內推了簡歷拒  說是他家基本不招了 又罷了
Amazon2月初推得  現在1個多月了  完全不理
google  本來推得new grad   後來說畢業超過六個月不算new grad  走社招路線  定了下下週電面   也是手頭唯一一個電面。
. 1point3acres



曾經一起奮戰的小夥伴 有的前幾天回國了 有的拿到小公司的offer也從了 因為覺得堅持了這麼久實在太累了。 真的 我現在也覺得  有點累了。
現在已經三月了 我馬上畢業就要一年了 小夥伴們該工作的工作  該嫁人的嫁人 該生娃的生娃  而我卻還一事無成。每天看朋友圈 就覺得自己是個loser.


我不知道大家是不是都有這樣迷茫又心累的時候 我覺得大部分人應該都是早早就開始準備工作  很少有像我一樣拖這麼遲的了吧 我現在看見罈子裡很多人為找不到實習而苦惱的時候 就覺得如果那時候自己也能早點覺悟  就不會像現在這樣了。


我總是這樣不信命 高考失利 大學讀了個二本 畢業大家都工作了  只有我選擇了出國。來美國讀了個前20的學校(就不說了 怕給學校抹黑) 同專業的同學基本都回國了  我卻又選擇留下來。
甚至有時候想想 為什麼當初要出國 好好在國內讀個研或者直接工作不就好了  出國了 畢業了 為什麼又不回去幹老本行  非得跟別人搶飯碗  還是在縮招這麼嚴重的時候。
我覺得自己就是不做死就不會死的典型 講真如果你現在讓我回去做老本行 我真的不願意  一是我真的不喜歡  二是我覺得自己這將近一年學的東西不都要白費了麼 

一直覺得自己還算是有勇氣 耐壓力還可以的人 被pocket gems拒了以後又聽說幾個小夥伴拿到了offer  開始一蹶不振 今天是第三天了 我試圖調整自己的狀態 因為還有google在等著我
雖然我知道google很難 看面經覺得有不少直接蒙逼的題目  但是我還是會好好準備的  也希望自己的狀態能儘快好起來 現在的我 還是想留下的 想為自己爭一口氣。

. From 1point 3acres bbs



最後一段請看這裡:
不知不覺說了好多 感覺寫出來心裡也好受一些了 不過還是想聽聽大家的想法  如果你們也曾經有過難走過的那道坎 或者你也正在經歷著這些  能說說你們是怎麼面對的麼?
還有一些小問題想要請教各位
1. 大家有想過投國內的公司麼?有時候覺得如果實在找不到就回國算了 但是回去的話我只能走社招路線了  社招我看大部分都要求有工作經歷  而且對於我這種純刷題 其他方面比較薄弱的人來說似乎太難了。
2. 有和我一樣畢業快一年的小夥伴麼  你們現在的狀況怎麼樣?
3. 除了刷題 OOD OOP  面試其他的一些專業知識如何準備  覺得知識點實在太散了 對於我這種非CS出身的  問稍微深一點的知識性問題 真的很虛
4. 遇到一個新題  如何去著手 發散自己的思維 並且把tradeoff說的很好 考慮周到  這點還想請教各位大神。
. Waral 部落格有更多文章,
. more info on 1point3acres

.本文原創自1point3acres論壇
補充內容 (2016-3-7 05:47):
感謝大家!感謝罵醒!感謝鼓勵!不想說太多 我要去繼續努力了!希望大家都能有好訊息!

補充內容 (2016-3-25 08:15):
謝謝大家鼓勵  樓主要去google onsite了  希望有好運!

補充內容 (2016-3-30 11:59): 來源一畝.三分地論壇. 
謝謝大家鼓勵 還有提醒我google onsite要注意的地方 真的非常非常感動!樓主現在心情已經完全恢復了 google電面通過也給了我自己很大的信心!希望能有更多的和我境遇相同的人看到這篇文章 希望每個人都能走出困難!

補充內容 (2016-3-30 12:02):
onsite定在五月初 這是我給自己定下的最後一個也是最重要的一個面試 如果失敗了樓主就回國了 結束了以後會寫一個經驗總結帖的!謝謝!祝福大家都有想要的offer!-google 1point3acres
. 留學申請論壇-一畝三分地
補充內容 (2016-5-25 05:20):
拿到offer了!

 

 

 

 

 

 

 

 

 

 

 

 

個人背景: 學校差, 成績低, 沒有相關專案, 好在我心態好, 臉皮厚, 不輕言放棄。



參與課程:

報了旗艦版, 小班和專案班。


座右銘:

我如果找不到工作,別人也找不到。


個人篇:

其實我自己做的並沒有大多數人做得好, 這也可能是我沒有呈現出收割之勢的原因吧。



刷題我個人挺不積極的, 截止到現在來 code刷了有一半吧,leetcode 刷了有300道。


我的前期一直處於背java solution 的節奏, 就好像小時候老師讓摘抄神馬名人名言一樣,整段的背誦不止讓我能快速地理解程式碼, 更能記下程式碼實現中常見的小trick,生活中不缺少trick, 只是缺少一雙發現trick的眼睛。



在自己能獨立寫出完整程式碼的大段程式碼後我轉向了另一個方向, 就是對比自己的程式碼和java solution 的區別。我發現這件事以前分享過經驗的朋友們都提到過,這裡我著重強調一下, 你對比出來的不只是你的醜, 你醜的原因多半是因為邏輯沒有合併, 或者對case劃分跟老師不一樣, 或者是定義和老師不一樣。如果定義不一樣, 在前期基本上是做錯了。



解釋一下來 code為什麼沒有刷完, 是因為專案班開始了, 我實在跟不上後面的加強練習了。。但是我不刷歸不刷, 演算法課的知識我還是都掌握了。



期間我看完了head first java 和 csapp, 呂老師都有推薦, 網上能搜到, 老師的課很重要, 但是由於課程原因, 有時不夠連貫, 所以我選擇了一本入門教程系統的補充java 知識, 至於csapp, 確實沒有我硬體教科書寫得深些的難, 記住memory locality 就夠了我覺得。。


最為資深呂粉, 演算法導論和effective java是一定要說看過的。演算法導論我著重看了圖論那塊章節內容, 因為大班對圖講的確實並不多。 Effective java 要看除了併發以外的所有章節。不看併發的原因是呂老師說寫的不行。。



小組篇:

我大概在17年三月份,加入了小班, 之後被安排加入並lead了一個學習小組。組內都是當時同一階段加入小班的同學。我最大受益的地方就是參加小組活動, 這一點在秋季一班剛開始的時候我也在群裡和所有人提過,不知道現在還有沒有存貨的學習小組。


老實說, 直到現在, 我雖然是小組的lead, 但是小組裡綜合實力比我強的同學至少有兩人。小組成員的成長可以用與時預增來形容, 眾人拾材火焰高呀。


我們的小組活動也是一點一點從無到有摸索出來的。其他人能碰到的一些問題我們也都碰到了。


在活動內容上, 我們嘗試過很多形式, 英文講題, 中文講題, mock 等等。 發現在大家比較弱雞的情況下, 英文講題和mock受益很小, 既浪費時間, 又尷尬。 英文講題和mock在後期收益 就開始上漲, 對後期加入的同學來說, 成長是最快的。。。


講題可以隨便講, 大班題, 面經題均可。



活動時間, 我們最初一週私下活動兩次, 後來慢慢增長到一週私下活動六次, 每次兩小時, 外加小班大課三節, 外加小小班老師section 2 節。



我們做個小運算,私下活動一次能講六道題, 小班大課一次能5道左右, 小小班老師一次能講5道題。一週下來6*6+5*3+5*2 =72 道題, 並且我們提倡一題多解, 深度剖析follow up, 這樣的強度我們堅持了九個月才分崩離析。。。





小組活動給我帶來的收益是, 首先, 我很難找到一道新題, 其次, 很難一道題只有一個解, 最後, code review 能力增強, 壞處是對待醜陋程式碼容忍力下降。


一題多解是否重要? 歡迎諮詢小班lead閆老師。另外, 報小班提我名字不打折。。。這次谷歌面試五輪, 我po 出的那二十多個解對我的offer功不可沒, 導致我一共就寫了不到六十行程式碼吧


屠龍絕技:

谷歌跟別的公司可能不太一樣, 可能跟Facebook 一樣的, 從我的角度來說, 谷歌比較在乎如何分析和解決問題。網上有人會說,谷歌面試, 45分鐘兩道題才能過, 只做一道題是不行的, 我第一輪就沒寫程式碼, 面試官走的時候告訴我, 面試不一定要寫程式碼。



如何解決問題?


我的答案是: 套路。



我自認為套路深厚,無堅不摧, 雖然在小班mock老師面前的我的套路不堪一擊, 但是我還是十分自豪的。

套路是練出來的, 只有長期堅持,才能信手站來。


我歸納出來的答題套路有兩種:

第一種:  ———

第二種: ——————


呂老師說有不能講的掐了別播, 所有我就動手刪了


我最近使用的是套路二。這個套路也是老師上課反覆強調過的。 歡迎諮詢小班lead閆老師。


刷題方法: 透過現象看本質, 學會抽象問題。


刷題道路上的幾個境界:

  1. 講過的都會, 新的就不會了。 這種情況常出現在大班結束時, 興沖沖的跑去刷leetcode 的同學身上。

  2. 似曾相識,雲裡夢裡。那種見到題, 好像會, 又好像不會。

  3. 看答案秒會, 不看答案死活想不出來。

  4. 一切新題皆舊題。

  5. 返璞歸真, —

 

我對上述境界的認識:

  1. 做題的太少了同學

  2. 沒有理解原來做過的問題的本質, 不能找出題與題之間的關係, 套題必死。

  3. 儲備尚且足夠, 但是缺乏正確分析問題的方法, 也可能是套題。

  4. 套題境界的昇華版——套思路。 我在這裡停留了很久。雖然也是屌, 但會出現一些小問題, 最直接的就是有時好不到最優解。我見過500題左右進入此境界。

 

小推薦:


我喜歡利用零碎時間刷piazza。 收穫頗多。


我刷leetcode 的時候喜歡點pick one。


作息:

我只有小組活動和上課的時間是固定的。 深夜一般不刷題。


常見問題及解答


刷得慢/刷了忘———— 做得少, 不理解, 不熟練


為什麼我想不到———— 做得少, 不理解, 不熟練


為什麼老有bug ———— 做得少, 不理解, 不熟練


沒面試—————強力推/孫老師會推薦你上專案班


需要刷地裡的面經麼?————不需要, 在沒有分辨能力之前保護好自己


Leetcode 還是來 code? ————我推薦不要浪費leetcode 傷的題, 就拿幾百道, 要珍惜。


刷題不完嗎? ———— 狹義上來說, 能刷完


除了刷題之外要會什麼? ————太多太多了, 面試範圍是全宇宙

 

Leetcode刷題指南

1. 數量

第一遍 每天固定10道題目, 週末固定20道。  這一遍是最痛苦的,從0開始,每天都要被題目虐待,查資料看別人的解法,寫自己的code。 這是最難也是最容易放棄的一遍。

第二遍 每日固定15道, 週末25道。 這一遍比第一次好多了, 大部分題目都有思路,能寫出解法。比第一遍好多了,也慢慢有信心。注意看面經

第三遍 每日固定10道,週末20道。 這一遍主要是找多解法和最優解法, 這一遍感覺最耗費精力,要學習別人的思路,練習多種解法和最優解。 這一遍,你每多用一分心思,那麼你就更強一分。面對新題目也更有把握

第四遍 每日固定30道,週末50道, 這一遍是追求速度和準確率的。 lz最後 medium的題目基本是8~10分鐘寫完bug free的code。 hard 一般10~12 分鐘。

ps: 第一遍題目如果沒有思路馬上看答案。刷到第二遍的時候注意看面經,因為容易考變形題。

2. 順序

按tag刷題,按難易順序。第一遍只刷easy,第二遍開始刷easy和medium