找工作也快兩月了,感受頗多,最近看了一篇《怎樣花兩年時間去面試乙個人
》的部落格,很有感觸,將自己的想法寫出來。
從這一圈的經驗,通過現在網際網路公司招聘的漏洞,總結出一些可以在兩月的時間內得到一家頂級網際網路公司的offer的經驗。
簡單來說,成功100分的話,得分組成比例可以如下:1、50分的演算法和c語言,2、15分的專案分,3、15分的知識面和扯淡分,4、10分的開發語言細節分,5、5分的其他。
50分的演算法和c語言題:假入你這兩個比較好(非超牛),那麼你就有50%以上的機會進入心儀的互聯 網公司,現在的校園招聘筆試和面試,不分公司和部門都是一窩蜂的考這兩項,其實對於應屆生來說,沒有履歷,沒有工作對口方向知識的積累,而用人單位為了省 事,經常就一套題,所以有不少想做前端的同學去忍受c指標和演算法的折磨。
假如您的c語言不好,問題不大,翻出譚浩強的那個工科生必修的c教材,看了兩個禮拜足夠。
個人對這種東西不感冒甚至有點牴觸,一直鄙視中國應試教育的用人單位如今變成的應試招聘,本人在找工作極其不順的10月,多人建議看某美和某典,但是我看 完的三本書是《浪潮之巔
》,《資料之美
排序,知道各種排序的時間和複雜度,能寫出快排,堆排以及計數排序的**且知道什麼時候用哪種即可。
鍊錶:知道構建動態鍊錶,刪除節點,翻轉鍊錶,兩兩翻轉,求環節點,求兩鍊錶交點足夠。
字串:知道高效翻轉,回文足夠,如果還能完整的寫出kmp查詢就基本完美。
樹:知道二叉樹的三種遞迴遍歷,非遞迴遍歷,查詢,知道兩種遍歷求第三種,再深一點,知道如何分層遍歷,如何求兩節點距離,就通吃了。
其它:佇列、棧、雜湊表的特性,動態規劃。
只要上邊的只是準備的差不多,演算法的筆試和面試題問題就不大了。本人的本科和研究生都是機械,沒學過這些東西,從9月17的第一場微軟筆試開始,邊考邊學,就靠這點東西闖筆試和過面試。
15分的專案分:如果你沒有什麼專案,但是你的1很好,那你這部分分基本拿到了,其實這部分很容易作假,乙個專案你只是打醬油的,但是你做過了解,說出個大概就夠了。
15分的知識面和扯淡分:這方面不太好提高,根據面試官和應聘職位可能不同,最好是事先取經。本人被問 過:pagerank,搜尋引擎倒正排索引,資料庫優化,web效能優化,瀏覽器渲染,web安全,爬蟲,設計模式
,軟體架構,推薦系統,加密演算法,服務 器推等等。一般來說公司不會根據這部分斃人,而且問的東西基本都能扯。但是有些公司會根據這部分斃人。
10分的開發語言細節分:根據個人擅長的語言,可能會問一些細節問題,來考察乙個人對語言的掌握程度以及學習態度。比如c的指標函式、函式指標,高階語言的值型別,引用型別,值傳參和引用傳參,託管語言的gc等等。
5分的其他:主要是溝通能力,印象以及有些公司要求的英語。
個人認為如果上邊說的你準備差不多了,那麼你就有很大可能進入乙個頂級網際網路公司
舉個人三個例子:
1 .碰巧你霸面被批准了,碰巧你看過搜尋引擎中爬蟲如何爬取和分析正文,碰巧你了解過ajax,碰巧你知道mvc,那麼你過一面了,碰巧你會堆排序,碰巧你 會兩個鍊錶求交,那麼你過二面了,碰巧你的c語言能寫出程式,那麼你會把這個不複雜但**有點多程式寫出來,碰巧你有一點重構
的概念,把你醜陋的**改的 優雅漂亮些,那麼你有乙個17w的offer了。
2.碰巧筆試後備胎中的你得到了面試機會。碰巧你做的乙個專案很合面試官的口味,碰巧你知道web常見的安全漏洞,碰巧你寫過兩個鍊錶求教,那麼你過一面 了,碰巧你準備上述的2,碰巧你能寫出堆排和知道orm,碰巧你能做出簡單的鍊錶翻轉,那麼你過二面了。碰巧你準備上述的2,碰巧你了解過web服務,碰 巧你知道orm,碰巧你知道什麼時候用堆排,而且碰巧會基數排序,那麼你有乙個19w的offer了。
3. 碰巧筆試後備胎中的你得到了面試機會。碰巧你知道mvc,碰巧你了解過一些css和js基本知識,碰巧你了解過瀏覽器渲染而且用這個解釋乙個**的載入順 序,碰巧你學過web效能擴充,那麼你過一面了。碰巧你對web效能優化比較了解,知道pagerank,碰巧你看過大型站點的架構並能說出個大概,那麼 你有乙個20w的offer了。
拿到許多網際網路公司的offer後,我發現難度最大的是乙個創業公司的。對於招聘如此不嚴謹的企業,我不僅有點擔心,若企業招的少無所謂,招的多話,若 不能和聘用者解除勞動關係,那麼招聘上風險不亞於乙個重大專案的風險,好的方面是招人多的企業總是有一些沒技術含量的活需要大量的人來幹。
以我個人觀點,站在企業角度,如何避免那種魚目混珠的碰巧學生進入重要崗位,還有如何保證一些優秀的學生不被校招的海選錯過,我會選擇一下招聘流程。
筆試。但是筆試題不會再抄什麼寶典和什麼之類。此外筆試題不在一鍋端,招聘的部門和崗位都有差別,筆試為什麼不能有差別,可以多花些時間可以根據 公司用到的語言以及不同崗位多出幾套題,對大多數研究生來說,由於專案或者興趣會去鑽研不同高階語言。分題到的話就不會出現php程式設計師做c++,前端程 序員做演算法的局面。
電面。筆試的通過分適當低些,讓更多學生進入下輪,第二輪該是電面,這輪主要是了解學生的簡歷是不是注水,而不是考察能力,我有幸看過一些同學簡 歷,上面的精通的部分讓我再修煉10年也達不到,這類牛人確實存在,但對於絕大多數學生這樣的寫法是注水的,這輪電面斃掉注水的牛人。
hr面。個人認為hr面是應該的,這輪主要去斃掉練手沒誠意的同學以及性格不符合公司的同學。大多公司會把這個放在最後,但是花費技術人員寶貴的時間後再讓hr斃掉乙個人確實代價太大。
大作業,hr面通過後,給出兩天時間讓通過學生完成乙個大作業,主要是考驗是否用過ide和變知識為產品的能力,還有對待問題的態度。這個作業上交後,一定要讓學生現場除錯,優化,小改動後讓學生現場改程式,從而揪出那些讓他人代勞的同學以及判斷debug的能力。
技術面,一般覺得三到四輪比較合適,若是一對一單面,杜絕一面定生死,最後綜合給分。因為單面的話,面試成功的機率很容易受面試官的方向以及面試官情緒的影響。
本人面**時,面試老師是一位小姑娘,從sql語句到觸發器,檢視,游標,臨時表、表變數、單索引、組合索引、聚集索引、非聚集索引、主從庫、庫引擎考了一圈後,開始問我b樹和b+樹的實現,區別,查詢和寫入時間複雜度,很顯然我不是資料庫專家想要的人。
此外,面試不要再全部是演算法,有些公司幾輪面試就做幾道演算法題,在各種寶典滿天飛的今天,這種面試公平性不太好,而且不一定能要到適合崗位的人,可以有算 法,思考問題的能力,知識面,學習能力和態度多方面考慮。我覺得面試過程問乙個學生看過技術書籍是比較好的方法,能看出他是否熱愛技術,學的技術對公司是 否有幫助。
經理面,主要是看公司從各種情況,如氛圍、崗位需求上要不要這個人。
總結下:如文首的牛人說的,it公司招聘難,對於沒有履歷和經驗的學生來說,校招更難。
怎樣做好程式設計師
1 總結自己一天任務的完成情況 最好的方式是寫工作日誌,把自己今天完成了什麼事情,遇見了什麼問題都記錄下來,日後翻看好處多多 2 考慮自己明天應該做的主要工作 把明天要做的事情列出來,並按照優先順序排列,第二天應該把自己效率最高的時間分配給最重要的工作 3 考慮自己一天工作中失誤的地方,並想出避免下...
程式設計師怎樣喝酒
大家喝的是啤酒。這時你入座了。你給自己倒了杯可樂,這叫低配置。你給自已倒了杯啤酒,這叫標準配置。你給自己倒了杯茶水,這茶的顏色還跟啤酒一樣,這叫木馬。你給自己倒了杯可樂,還滴了幾滴醋,不僅顏色跟啤酒一樣,而且不冒熱氣還有泡泡,這叫超級木馬。你的同事給你倒了杯白酒,這叫推薦配置。人到齊了,酒席開始了。...
程式設計師應該怎樣修身
古人云 修身齊家治國平天下 可以看到任何事業都應該以修身為始,作為程式設計師自然也不例外。演算法 設計 網路 資料庫 新的語言 新的框架等等,這些東西都需要我們努力去學,真是學海無涯。在接受這些知識的洗禮或衝擊時,是不是該想想我們自身呢?修身 這個詞太籠統,要修身第一件事情做什麼?要修身首先要立志,...