Google面经,已拿到offer哦!
生活随笔
收集整理的這篇文章主要介紹了
Google面经,已拿到offer哦!
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我面的職位是Softwre Engineer, Tools and Infrastracture, 所以開發和測試的問題都會問到
Phone interview 1:
白人小哥.給一個Interval的class, 就是一個區間,左閉右開,比如 [1, 3) 意思是從1到3除了3的所有interger. 讓我在這個class里implement一個method, 判斷與另一個Interval是否有overlapping.
第二問是寫一個method, 返回在Interval 1而不在Interval 2的區域.
一道如此簡單的題...因為我前面實在太緊張了全身是汗面的吭吭哧哧...面完以后我都準備move on了, 看來小哥最后還是放了我一碼讓我有了二面.
Phone interview 2:
白人小哥.更簡單了... Leetcode原題Plus One.
如果現在Google要release全新版本的Chrome, 我要怎么保證這個新的Chrome全方位的work? 意思就是測試些什么,怎么測試這個新版本的Chrome,才能放心的release出去.
最后他還開心的問了我的名字到底怎么念,我就知道大概有個底兒了~
Onsite:
第一輪: ?印度哥哥. 大早上的堵了一個多小時開過去腿都麻了,上來就開始coding,直接蒙圈兒.
第一題, 給一個array比如[4,2,1,3,5],根據這個array現在我們能有了一個新的array => 每個數是在原array里, 在它左邊的所有比它大的number的個數,就是[0,1,2,1,0]. 題目是現在給了這個[0,1,2,1,0]要求原array, 原來array的range是1~n. visit 1point3acres.com for more.
第二題, 知不知道binary search? 但是現在array是unsorted的可是依然看做sorted array來做binary search, 返回在array里面所有可以在這種情況下binary search出來的數.
第二輪: ?韓國哥哥.
經典的地里出現過的String壓縮編碼解碼類似題, 后悔當時看到沒有好好寫過一遍.給一個String比如"abcdfffffffxyz", 寫兩個methods, encode和decode. encode就是比如"fffffff"變成"7xf",decode就是要變為原字符串.我說"ff"怎么辦,他說變成"2xf"你不覺得更長了嗎? 我才明白了,應該是encoded后的String要比原來的短,不然為啥要encode,的虧我問了這個問題...然后又問他,如果原String本來就是"5xt"這種結構, decode不就無法辨認了嗎?他說很高興你提出了這個問題,但是不用管它,一會再討論,先寫吧.
寫完以后他就問我如果原String本來就是"5xt"這種結構,我encode應該怎么處理? 我就傻了... 因為一直覺得encode后的字符串長度一定要比原來的短,所以根本想不出來他要的解法. 說了四五種方法他都不滿意, 最后給我hint說,要是有個"1xt"這樣的你怎么處理? 當時腦洞大開想出來了... 其實是要變成三個"1xt"這種結構, 比如原String就是"5xq", 就encode成為"1x51xx1xq"就好了. 但是這種方法違背了encode后要變短的rule,所以我是真沒想出來.....
還討論了好多種情況, 最后一種是"1aaaaa"這種情況怎么變, 我說"1x15xa". 他說這是6個字符,能不能只用5個? 實在想不出來,這時候第三個小哥進來了,韓國哥哥就過來告訴我說,其實看做1a和aaaa兩部分encode就好....
面完我就覺得跪了....
第三輪: ?中國小哥.
第一個問題是測試的,比較簡單. 測試Calculator,input就是比如倆數一個operator, 都有什么case, 怎么測,應該有什么預期結果或錯誤.
第二題, 一個array,rearrange成為另一個array, 現在給了這兩個array, 求是怎么變化成第二個array的. 挺簡單的就用了Hashmap秒了....
然后問我,那現在給你原array,也知道了是怎么變化的了,所以我們現在可以用原array求出變化后的array對嗎? 但是我要run這個method好多次比如k次, 怎么最快能求出array被rearrange了k次以后的結果? 最后我就推倒出求LCM.
面完他親切的用中文跟我說,我是他見過面的最好的,時間復雜度最低trade off也說的好. 謝謝小哥給了我信心~么么噠~
第四輪: ?印度姐姐.
假裝沒有準備的樣子現場想題目... 謝謝姐姐沒有對我下死手T T
海上有一片島, 每個島就是一個node, 島和島之間有的連著有的沒連著. 所有連著的島是一個Group. 求在這片海上, 包含島嶼個數最小的group的島的個數,和最大的group的島的個數. 就是返回兩個個數值, 肯定就是int[2]嘛. 先討論了用什么數據結構存儲, 跟她說了trade off. 然后開始寫.
全程想給我挑錯, 不斷質疑我的代碼... 還好我這一輪在高壓下還是寫的極其順暢, 一個bug沒有出現, 對她也是笑臉相迎, 躲過一劫...
第五輪: ?中國大哥. 竟然中文給我面試, 也是感動哭...
第一題, 一個二維數組代表了一個島. 周圍都是海, 島的左側和上側通向Pacific, 右側和下側通向Atlantic. 每個數字都代表了那個位置的海拔高度. 現在下雨了, 雨只有從海拔高的地兒能流向海拔低或者一樣的地兒. 返回島上的分水嶺的點, 就是在某個/某些點上, 雨水既能流進Pacific, 又能流向Atlantic. 大哥可能也知道白板寫不下,讓我寫紙上. 足足寫了4頁A4紙,當然字也寫的大...手都寫疼了...
第二題, 給個Google map, 你就測吧....
我的offer效率很高我完全沒想到, 5個工作日從onsite到簽offer, 真心感謝hr姐姐. 因為我有個WalmartLabs的competing offer正好是那天截止, hr的意思也是我的feedback很好,所以HC沒有猶豫,也馬上有組想要我, 所以hr加班加點在進HC當天就跟offer team合作把offer弄出來了. 這里再次感謝各位面試官對我高抬貴手, 以及WalmartLabs.....
下面是求職總結
自我介紹一下. 畢業快兩年了. Master讀的是普通學校的水專業Information Science. 我是極其水,幾乎零基礎,項目都抱別人大腿, 當時沒有好好學習知識, 現在別提多后悔了... 去年開始找工作的時候, 連HashMap是什么都不知道... Leetcode就刷了七十道, 總拿女生不要太累了要不就這樣吧這種謊言安慰自己... 找到了現在的SDET工作,公司和待遇自然也是好不了. 今年三月開始奮發圖強, 八月初開始投簡歷, 十月十五日當天拿到Google和WalmartLabs的兩個offer (對沒錯,WalmartLabs真的不給考慮時間,當天deadline). 總之是零基礎, 靠努力學習和堅持不懈活了下來. 如果你跟我的情況類似,希望我的經驗可以幫到你~
CC150 . 看了一遍version 5. 據說新版本v6頁數多了一倍... 還是希望大家堅持把每一章都看了,對新手幫助很大.
Leetcode . (沒有做過Lintcode等等, 我覺得選一個刷題網站全弄會了其實就可以...) 三月到十月共刷5遍,訂了subscription,每遍仔細做了每一道題. 過程確實相當痛苦,每天還要上班,一有空就得刷題,周末也不得停歇. 尤其前兩遍,基本都是看完答案背著寫一遍的,可能也是因為我比較笨... 但是幸虧堅持下來了~ 當我做到第四遍的時候, 有一種通了的感覺, 即使拿到一道新題, 也能比較快的有思路. 這里還是希望我們找工作的朋友們好好刷Leetcode, 弄通弄懂算法精髓, 舉一反三. 不要有僥幸思想, 非牛人刷了一遍就想找到非常滿意工作的真的少之又少.?
Geeksforgeeks . 講解非常清楚明白易懂, 尤其在學習數據結構和算法上面幫助很大. 它對于很多算法都會有一系列的問題的講解, 看過之后基本對于某一部分的題目都沒什么問題了. 比如Trie,BST的講解, longest common subsequence一個系列,KMP算法等等,我都是得益于它. 一個算法想不明白,可以先去搜搜geeksforgeeks有沒有講解
Data structure & Algorithms . 最基礎也是最重要的部分, 千萬別小瞧基礎. 為什么一再強調數據結構與算法基礎? 就算刷了十遍leetcode/lintcde等等刷題網站,面試還是會有沒見過的題的. 遇到完全沒見過的題該怎么辦,沒有強大的基礎知識儲備,怎么看穿這道題的本質,怎么很快有思路? 一切都要靠基礎, 甚至比刷題本身更重要.
每個數據結構一定要做到徹底明白概念, 結構, 功能, 怎么用. 一定要親自在IDE里面至少implement一遍!! 推薦書目: 我精讀了Data Structures and Algorithms in JAVA. 非常適合初學者, 每個數據結構的實現和用法都寫的極其詳細. 精讀了每一章, 并且implement了兩遍里面所有數據結構. 我也聽有的人說精讀Introductions to Algorithms, 但是這本書感覺不是很適合我這種初學者... 如果你有基礎或者是科班出身,面試之前詳讀Intro to Algo我覺得會很受用的.
刷題的過程中,會遇到很多沒見過的算法和數據結構的用法. 比如說graph, 在leetcode里面會有用到dfs, bfs, topology, dijkstra等等算法, 每當遇到一種沒見過的, 就脫離這道題, 去網上搜索這究竟是什么, 怎么實現的, 怎么用, 在IDE里面自己親自實現算法本身, 很生疏的算法要多實現幾遍. 這個過程是讓我提高最大最快的一步.
Java Conception . 內推我Google的大牛朋友讓我看Thinking in Java和Effective Java這兩本書. 雖然沒有看完,但是確實是非常棒的兩本書, 尤其是Thinking in Java. 據說每看一遍都會對Java有全新的認識, 非常值得一看. 如果實在沒有時間,只是為了面試緊急補課, 至少看會這個網站的Java面試題 http://www.programmerinterview.com/
Big Data . 今年以來,我發現幾乎所有公司的面試都不約而同的添加了大數據相關的問題,就連Walmartlabs的SDET職位的面試中都遇到了,不得不說大數據真是現在一個很猛的trend... 在面Bloomberg的時候就是因為大數據的問題不會而吃了虧掛了,回家以后惡補了很久...
這里推薦這個blog,很多朋友都應該看過:? http://blog.csdn.net/v_july_v/ ... 82693
我很想知道寫這個blog的是個怎樣的人,真心膜拜... 他的總結幾乎囊括了所有大數據方面的知識背景,實在贊嘆. 對于這個帖子里面提到的知識點,他都有專門介紹的鏈接,全面又方便. 如果想面試無敵的話,每個知識點都要自己多查資料弄懂,每道題都自己過一遍. 對于里面提到的不同方法要多比較, 每種方法什么時候適用, trade off是什么都要清楚. 重中之重是Map Reduce和External sort.
Thread & Locks . 考得不多但是面ebay碰到了. 主要知識點: thread和process區別, multithread, lock, semaphore, 對resource分配, deadlock, 怎么解決/預防deadlock. 還有BlockingQueue 和 Producer-Consumer經典題要會implement.
這里有幾個經典問題:
http://www.careercup.com/quest ... 87648
http://www.careercup.com/quest ... 96992
OOD . 老老實實實現了兩遍Singleton, Factory, 還有MVC pattern. 設計一個class應該也算在OOD范圍里: 寫過無數遍LRU, Trie, Iterator, BST以及變種, BlockingQueue等等, 生怕被問到...
System Design . 這個對不住大家,我最后沒面到過系統設計,所以不太知道自己這點準備到底充不充分... 如果你要面Facebook幾乎肯定是要考系統設計的,還是得好好準備. 一定要看FB的engineering blog, 看的越多越好. 基礎的概念至少要會: load balancer, cache, memcache, consistent hashing, round robin, master slave, sharding, pre-computed, map reduce, difference with SQL/NoSQL.... 有很多牛人總結的系統設計帖,我就不多置喙了,這里推薦幾個帖子.
http://massivetechinterview.bl ... .html
http://www.mitbbs.com/article_ ... .html
http://blog.csdn.net/sigh1988/ ... 90337
還有這個公開課,太棒了,新手入門必備,謝謝成哥推薦~? https://www.udacity.com/course ... 37165
Resume . 就一點,要把自己簡歷上每個項目都弄熟, 寫下項目介紹背下來, 這樣被問到的時候可以張口就來. 也要把你要面試的單位的簡介自己總結一遍背下來, 還有你為什么想來我們單位, 如果你有工作你為什么想跳槽, 你覺得為什么適合這個職位等等. 其實這些都是標答, 只要好好準備過一次就能適用于各個公司...
這里有一個我總結的軟加分項. 尤其對妹子, 說實話妹子是可以很占優勢的, 特別如果你是個漂亮妹子~ 你的性別,說話的態度,眼神,都可以成為你的加分項, 一定要利用這一點. 為什么我突然說這個,不是說這只是個錦上添花的事情,而是因為這個點非常重要,其實男生也一樣. 一個面試官想要找的不僅僅是能夠做出題的人,更需要的是找到一個合適的teammate. 你是不是好說話,是不是能聆聽而不是一味反駁別人堅持自己,是不是能馬上接納別人,接受別人的idea并且有接受新知識的能力,從某些方面來說,比僅僅能做出來這道題重要得多. 所以面試的時候, 那天早上就告訴自己今天是去跪舔的,別耍態度,如果你是大神可以除外... 最好全程微笑,遇到不會的題的時候更要微笑. 把想題的過程全部說出來, 不能成為心理活動, 讓對方知道你在非常努力的思考, 而且態度很好, 所以就算你沒有完全想出來, 他是非常愿意給你hint的. 態度決定很多事,甚至人生.
好啦,我啰啰嗦嗦了那么多真是不好意思T T.... 但愿這篇總結能給任何人一點點的幫助我就沒白寫~多努力就有多幸運.希望大家都能堅持到底,不倒在黎明前,最終拿到很多大offer,進入自己夢想中的公司,開啟人生新的篇章!
上面帖子中所說的那篇大數據面試必看的文章,收錄于July的新書《 編程之法 》第六章中,第六章在原文基礎上做了大量細致的優化,新書目前已上架當當、異步、互動,即將上架京東。
點擊一畝三分地鏈接 http://www.1point3acres.com/bb ... 1eba2 ,可查看原文!
Phone interview 1:
白人小哥.給一個Interval的class, 就是一個區間,左閉右開,比如 [1, 3) 意思是從1到3除了3的所有interger. 讓我在這個class里implement一個method, 判斷與另一個Interval是否有overlapping.
第二問是寫一個method, 返回在Interval 1而不在Interval 2的區域.
一道如此簡單的題...因為我前面實在太緊張了全身是汗面的吭吭哧哧...面完以后我都準備move on了, 看來小哥最后還是放了我一碼讓我有了二面.
Phone interview 2:
白人小哥.更簡單了... Leetcode原題Plus One.
如果現在Google要release全新版本的Chrome, 我要怎么保證這個新的Chrome全方位的work? 意思就是測試些什么,怎么測試這個新版本的Chrome,才能放心的release出去.
最后他還開心的問了我的名字到底怎么念,我就知道大概有個底兒了~
Onsite:
第一輪: ?印度哥哥. 大早上的堵了一個多小時開過去腿都麻了,上來就開始coding,直接蒙圈兒.
第一題, 給一個array比如[4,2,1,3,5],根據這個array現在我們能有了一個新的array => 每個數是在原array里, 在它左邊的所有比它大的number的個數,就是[0,1,2,1,0]. 題目是現在給了這個[0,1,2,1,0]要求原array, 原來array的range是1~n. visit 1point3acres.com for more.
第二題, 知不知道binary search? 但是現在array是unsorted的可是依然看做sorted array來做binary search, 返回在array里面所有可以在這種情況下binary search出來的數.
第二輪: ?韓國哥哥.
經典的地里出現過的String壓縮編碼解碼類似題, 后悔當時看到沒有好好寫過一遍.給一個String比如"abcdfffffffxyz", 寫兩個methods, encode和decode. encode就是比如"fffffff"變成"7xf",decode就是要變為原字符串.我說"ff"怎么辦,他說變成"2xf"你不覺得更長了嗎? 我才明白了,應該是encoded后的String要比原來的短,不然為啥要encode,的虧我問了這個問題...然后又問他,如果原String本來就是"5xt"這種結構, decode不就無法辨認了嗎?他說很高興你提出了這個問題,但是不用管它,一會再討論,先寫吧.
寫完以后他就問我如果原String本來就是"5xt"這種結構,我encode應該怎么處理? 我就傻了... 因為一直覺得encode后的字符串長度一定要比原來的短,所以根本想不出來他要的解法. 說了四五種方法他都不滿意, 最后給我hint說,要是有個"1xt"這樣的你怎么處理? 當時腦洞大開想出來了... 其實是要變成三個"1xt"這種結構, 比如原String就是"5xq", 就encode成為"1x51xx1xq"就好了. 但是這種方法違背了encode后要變短的rule,所以我是真沒想出來.....
還討論了好多種情況, 最后一種是"1aaaaa"這種情況怎么變, 我說"1x15xa". 他說這是6個字符,能不能只用5個? 實在想不出來,這時候第三個小哥進來了,韓國哥哥就過來告訴我說,其實看做1a和aaaa兩部分encode就好....
面完我就覺得跪了....
第三輪: ?中國小哥.
第一個問題是測試的,比較簡單. 測試Calculator,input就是比如倆數一個operator, 都有什么case, 怎么測,應該有什么預期結果或錯誤.
第二題, 一個array,rearrange成為另一個array, 現在給了這兩個array, 求是怎么變化成第二個array的. 挺簡單的就用了Hashmap秒了....
然后問我,那現在給你原array,也知道了是怎么變化的了,所以我們現在可以用原array求出變化后的array對嗎? 但是我要run這個method好多次比如k次, 怎么最快能求出array被rearrange了k次以后的結果? 最后我就推倒出求LCM.
面完他親切的用中文跟我說,我是他見過面的最好的,時間復雜度最低trade off也說的好. 謝謝小哥給了我信心~么么噠~
第四輪: ?印度姐姐.
假裝沒有準備的樣子現場想題目... 謝謝姐姐沒有對我下死手T T
海上有一片島, 每個島就是一個node, 島和島之間有的連著有的沒連著. 所有連著的島是一個Group. 求在這片海上, 包含島嶼個數最小的group的島的個數,和最大的group的島的個數. 就是返回兩個個數值, 肯定就是int[2]嘛. 先討論了用什么數據結構存儲, 跟她說了trade off. 然后開始寫.
全程想給我挑錯, 不斷質疑我的代碼... 還好我這一輪在高壓下還是寫的極其順暢, 一個bug沒有出現, 對她也是笑臉相迎, 躲過一劫...
第五輪: ?中國大哥. 竟然中文給我面試, 也是感動哭...
第一題, 一個二維數組代表了一個島. 周圍都是海, 島的左側和上側通向Pacific, 右側和下側通向Atlantic. 每個數字都代表了那個位置的海拔高度. 現在下雨了, 雨只有從海拔高的地兒能流向海拔低或者一樣的地兒. 返回島上的分水嶺的點, 就是在某個/某些點上, 雨水既能流進Pacific, 又能流向Atlantic. 大哥可能也知道白板寫不下,讓我寫紙上. 足足寫了4頁A4紙,當然字也寫的大...手都寫疼了...
第二題, 給個Google map, 你就測吧....
我的offer效率很高我完全沒想到, 5個工作日從onsite到簽offer, 真心感謝hr姐姐. 因為我有個WalmartLabs的competing offer正好是那天截止, hr的意思也是我的feedback很好,所以HC沒有猶豫,也馬上有組想要我, 所以hr加班加點在進HC當天就跟offer team合作把offer弄出來了. 這里再次感謝各位面試官對我高抬貴手, 以及WalmartLabs.....
下面是求職總結
自我介紹一下. 畢業快兩年了. Master讀的是普通學校的水專業Information Science. 我是極其水,幾乎零基礎,項目都抱別人大腿, 當時沒有好好學習知識, 現在別提多后悔了... 去年開始找工作的時候, 連HashMap是什么都不知道... Leetcode就刷了七十道, 總拿女生不要太累了要不就這樣吧這種謊言安慰自己... 找到了現在的SDET工作,公司和待遇自然也是好不了. 今年三月開始奮發圖強, 八月初開始投簡歷, 十月十五日當天拿到Google和WalmartLabs的兩個offer (對沒錯,WalmartLabs真的不給考慮時間,當天deadline). 總之是零基礎, 靠努力學習和堅持不懈活了下來. 如果你跟我的情況類似,希望我的經驗可以幫到你~
CC150 . 看了一遍version 5. 據說新版本v6頁數多了一倍... 還是希望大家堅持把每一章都看了,對新手幫助很大.
Leetcode . (沒有做過Lintcode等等, 我覺得選一個刷題網站全弄會了其實就可以...) 三月到十月共刷5遍,訂了subscription,每遍仔細做了每一道題. 過程確實相當痛苦,每天還要上班,一有空就得刷題,周末也不得停歇. 尤其前兩遍,基本都是看完答案背著寫一遍的,可能也是因為我比較笨... 但是幸虧堅持下來了~ 當我做到第四遍的時候, 有一種通了的感覺, 即使拿到一道新題, 也能比較快的有思路. 這里還是希望我們找工作的朋友們好好刷Leetcode, 弄通弄懂算法精髓, 舉一反三. 不要有僥幸思想, 非牛人刷了一遍就想找到非常滿意工作的真的少之又少.?
Geeksforgeeks . 講解非常清楚明白易懂, 尤其在學習數據結構和算法上面幫助很大. 它對于很多算法都會有一系列的問題的講解, 看過之后基本對于某一部分的題目都沒什么問題了. 比如Trie,BST的講解, longest common subsequence一個系列,KMP算法等等,我都是得益于它. 一個算法想不明白,可以先去搜搜geeksforgeeks有沒有講解
Data structure & Algorithms . 最基礎也是最重要的部分, 千萬別小瞧基礎. 為什么一再強調數據結構與算法基礎? 就算刷了十遍leetcode/lintcde等等刷題網站,面試還是會有沒見過的題的. 遇到完全沒見過的題該怎么辦,沒有強大的基礎知識儲備,怎么看穿這道題的本質,怎么很快有思路? 一切都要靠基礎, 甚至比刷題本身更重要.
每個數據結構一定要做到徹底明白概念, 結構, 功能, 怎么用. 一定要親自在IDE里面至少implement一遍!! 推薦書目: 我精讀了Data Structures and Algorithms in JAVA. 非常適合初學者, 每個數據結構的實現和用法都寫的極其詳細. 精讀了每一章, 并且implement了兩遍里面所有數據結構. 我也聽有的人說精讀Introductions to Algorithms, 但是這本書感覺不是很適合我這種初學者... 如果你有基礎或者是科班出身,面試之前詳讀Intro to Algo我覺得會很受用的.
刷題的過程中,會遇到很多沒見過的算法和數據結構的用法. 比如說graph, 在leetcode里面會有用到dfs, bfs, topology, dijkstra等等算法, 每當遇到一種沒見過的, 就脫離這道題, 去網上搜索這究竟是什么, 怎么實現的, 怎么用, 在IDE里面自己親自實現算法本身, 很生疏的算法要多實現幾遍. 這個過程是讓我提高最大最快的一步.
Java Conception . 內推我Google的大牛朋友讓我看Thinking in Java和Effective Java這兩本書. 雖然沒有看完,但是確實是非常棒的兩本書, 尤其是Thinking in Java. 據說每看一遍都會對Java有全新的認識, 非常值得一看. 如果實在沒有時間,只是為了面試緊急補課, 至少看會這個網站的Java面試題 http://www.programmerinterview.com/
Big Data . 今年以來,我發現幾乎所有公司的面試都不約而同的添加了大數據相關的問題,就連Walmartlabs的SDET職位的面試中都遇到了,不得不說大數據真是現在一個很猛的trend... 在面Bloomberg的時候就是因為大數據的問題不會而吃了虧掛了,回家以后惡補了很久...
這里推薦這個blog,很多朋友都應該看過:? http://blog.csdn.net/v_july_v/ ... 82693
我很想知道寫這個blog的是個怎樣的人,真心膜拜... 他的總結幾乎囊括了所有大數據方面的知識背景,實在贊嘆. 對于這個帖子里面提到的知識點,他都有專門介紹的鏈接,全面又方便. 如果想面試無敵的話,每個知識點都要自己多查資料弄懂,每道題都自己過一遍. 對于里面提到的不同方法要多比較, 每種方法什么時候適用, trade off是什么都要清楚. 重中之重是Map Reduce和External sort.
Thread & Locks . 考得不多但是面ebay碰到了. 主要知識點: thread和process區別, multithread, lock, semaphore, 對resource分配, deadlock, 怎么解決/預防deadlock. 還有BlockingQueue 和 Producer-Consumer經典題要會implement.
這里有幾個經典問題:
http://www.careercup.com/quest ... 87648
http://www.careercup.com/quest ... 96992
OOD . 老老實實實現了兩遍Singleton, Factory, 還有MVC pattern. 設計一個class應該也算在OOD范圍里: 寫過無數遍LRU, Trie, Iterator, BST以及變種, BlockingQueue等等, 生怕被問到...
System Design . 這個對不住大家,我最后沒面到過系統設計,所以不太知道自己這點準備到底充不充分... 如果你要面Facebook幾乎肯定是要考系統設計的,還是得好好準備. 一定要看FB的engineering blog, 看的越多越好. 基礎的概念至少要會: load balancer, cache, memcache, consistent hashing, round robin, master slave, sharding, pre-computed, map reduce, difference with SQL/NoSQL.... 有很多牛人總結的系統設計帖,我就不多置喙了,這里推薦幾個帖子.
http://massivetechinterview.bl ... .html
http://www.mitbbs.com/article_ ... .html
http://blog.csdn.net/sigh1988/ ... 90337
還有這個公開課,太棒了,新手入門必備,謝謝成哥推薦~? https://www.udacity.com/course ... 37165
Resume . 就一點,要把自己簡歷上每個項目都弄熟, 寫下項目介紹背下來, 這樣被問到的時候可以張口就來. 也要把你要面試的單位的簡介自己總結一遍背下來, 還有你為什么想來我們單位, 如果你有工作你為什么想跳槽, 你覺得為什么適合這個職位等等. 其實這些都是標答, 只要好好準備過一次就能適用于各個公司...
這里有一個我總結的軟加分項. 尤其對妹子, 說實話妹子是可以很占優勢的, 特別如果你是個漂亮妹子~ 你的性別,說話的態度,眼神,都可以成為你的加分項, 一定要利用這一點. 為什么我突然說這個,不是說這只是個錦上添花的事情,而是因為這個點非常重要,其實男生也一樣. 一個面試官想要找的不僅僅是能夠做出題的人,更需要的是找到一個合適的teammate. 你是不是好說話,是不是能聆聽而不是一味反駁別人堅持自己,是不是能馬上接納別人,接受別人的idea并且有接受新知識的能力,從某些方面來說,比僅僅能做出來這道題重要得多. 所以面試的時候, 那天早上就告訴自己今天是去跪舔的,別耍態度,如果你是大神可以除外... 最好全程微笑,遇到不會的題的時候更要微笑. 把想題的過程全部說出來, 不能成為心理活動, 讓對方知道你在非常努力的思考, 而且態度很好, 所以就算你沒有完全想出來, 他是非常愿意給你hint的. 態度決定很多事,甚至人生.
好啦,我啰啰嗦嗦了那么多真是不好意思T T.... 但愿這篇總結能給任何人一點點的幫助我就沒白寫~多努力就有多幸運.希望大家都能堅持到底,不倒在黎明前,最終拿到很多大offer,進入自己夢想中的公司,開啟人生新的篇章!
上面帖子中所說的那篇大數據面試必看的文章,收錄于July的新書《 編程之法 》第六章中,第六章在原文基礎上做了大量細致的優化,新書目前已上架當當、異步、互動,即將上架京東。
點擊一畝三分地鏈接 http://www.1point3acres.com/bb ... 1eba2 ,可查看原文!
總結
以上是生活随笔為你收集整理的Google面经,已拿到offer哦!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis Generator如何G
- 下一篇: std::generate和std::g