知乎:互聯網公司最常見的面試算法題有哪些?
鏈接:https://www.zhihu.com/question/24964987 編輯:深度學習與計算機視覺 聲明:僅做學術分享,侵刪
https://www.zhihu.com/question/24964987/answer/128620102
首先,作為程序員,你必須知道Leetcode這個OJ,刷題題庫,必備
題目分為easy, medium, hard等級,沒有聽說過的朋友可以先去看看。
Facebook,面試難度9分
考察的知識點很全面,Facebook的面試題目難度一般都在medium偏上一點,但為什么我打難度9分,因為Facebook的面試要求很高,簡單的說,面試者必須在最快的時間內寫出bug free的代碼,一旦出現BUG,這輪面試基本就掛了。另外,FB比較強調最優(yōu)解。比如,會先問你2sum,然后拓展到3sum,4sum。比如經典的動態(tài)規(guī)劃,背包問題以及所有的follow up,都是比較經典的常考題目。
Linkedin,面試難度7分
Linkedin的面試難度適中,Leetcode上中等難度的題目居多,經典一點的,比如nested element iterator, sqrt, paint fence都是比較經典的題目。大概的難度都在這個范圍之內
Amazon,面試難度6.5
整體而言,亞馬遜在硅谷的四大巨頭里的面試,技術難度是最低的,但是能夠成功通過面試并沒多很多。原因在于亞馬遜很看重行為類問題(behaviral question)以及公司的文化配合(culture fit)。技術方面,經典一點的題目,比如最長回文串,二叉樹層遍歷,二叉樹validate等等
Google,面試難度9.5
狗家的面試題目,在LEETCODE上算是medium偏難,以及一些hard的題目。但最難的點在于,谷歌有自己的題庫,而且是不斷跟新的,這個就無形中增大了面試難度。題目方面,谷歌考得很全面,線段樹(segment tree),動態(tài)規(guī)劃DP,以及圖,是常出現的。
https://www.zhihu.com/question/24964987/answer/33541018
時間的限制決定了題不可能太難,基本不會超過leetcode難度。而且Airbnb作為還算是創(chuàng)業(yè)公司,更看重的是快速落實一個想法的能力。一些常用的算法(什么拓撲排序啊,回溯,最小生成樹這些,都是很基本的)你忘了也沒關系,我們可以一起在白板上推。稍微有點實力的面試者白板出一個solution是沒有問題的,所以這個時候就主要看寫碼能力與熟練度了。
上機寫碼考察的方面很多,比如面試者
語言的熟練程度 語言不重要,但你總得對你拿來面試的語言很熟吧。我們會先問你prefer什么語言,然后選這個語言熟的面試官來。 落實設計的能力 最怕吹半天,寫一行代碼都困難的那種人。 對電腦的熟悉程度 這個不是必須,但熟練使用快捷鍵、shell之類的總是加分項
灣區(qū)據我所知有越來越多的公司是采用上機寫碼或者pair programming的這種形式。(Square是純pair programming。Uber是只白板,所以uber印度人多)
我見過很多面試者,名校畢業(yè)簡歷上project一大堆,結果第一步implement一個圖都扭扭捏捏半天搞不出來,估計在project里面也就醬油為輔混資歷為主。還有Amazon資深工程師,在eclipse里面寫java,每一行不寫完,讓IDE自動改錯,還都是拿鼠標去點,結果愣是沒寫完。
https://www.zhihu.com/question/24964987/answer/137554551
1.數組中逆序對計算。(劍指offer)
總結:多刷幾遍劍指offer!!!
往期精彩:
【原創(chuàng)首發(fā)】機器學習公式推導與代碼實現30講.pdf
【原創(chuàng)首發(fā)】深度學習語義分割理論與實戰(zhàn)指南.pdf
求個在看
