亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

美國cs面試經(jīng)驗分享

時間:2020-11-30 16:09:59 面試經(jīng)驗 我要投稿

美國cs面試經(jīng)驗分享

  美國cs面試經(jīng)驗分享(一)

美國cs面試經(jīng)驗分享

  過去的一年多里,參加了一些面試,雖然面過的公司不多,但都從頭一直走到尾。畢竟自己也是花了大量的時間和精力在這一場場的面試里。所以,就絮叨下自己的一些經(jīng)驗,希望能給在美國找實習找工作的同學們提供一點點幫助。

  開始前的一些說明:

  1. 筆者只是一介小本科,雖然留了學,但是留了級,學識淺薄,目光短淺,文章若有不恰之處,懇請各位大牛不吝指正!

  2. 筆者面試的崗位均為Software Engineer,俗稱“程序猿”。如果讀者是非CS專業(yè)或沒有找此類工作的需求,請ctrl + w。本文更多的傾向于CS技術(shù)層面,關(guān)于面試儀表妝容禮儀等等的其他問題,請出門右拐。

  3. 鑒于保密協(xié)議,本文只談面試準備材料和方法,不涉及任何具體面試題。(當然,你如果單獨請筆者吃飯,可以考慮)

  4. 本文涉及的內(nèi)容更多地適用于在美國本土的技術(shù)面試。美國的面試更加正式規(guī)范,國內(nèi)同學可做適當參考。

  5. 個人認為,面試的成功 = 60%的平時積累 + 30%的考前準備 + 10%的其他因素(如自信、談吐)。所以,面試的準備對于我們這類凡人來說,異常重要;靠平時積累就能虐了面試官的大牛,不在本文考慮之列。

  面試的公司

  公司

  時間

  崗位

  地點

  過程

  百度

  2010年

  實習

  中關(guān)村總部

  3輪onsite

  Microsoft

  2011上半年

  實習

  西雅圖總部

  1輪on-campus + 4輪onsite

  Bloomberg

  2011上半年

  實習

  紐約總部

  1輪網(wǎng)上答題 + 1輪電話面試 + 3輪onsite

  Google

  2011下半年

  全職

  硅谷總部

  2輪電話面試 + 5輪onsite

  筆者運氣較好,除了在微軟敗在了最后一輪大manager的石榴裙下,其他三家都順利拿到了offer:先后在百度和Bloomberg實習,并將于2012年正式加入Google工作。

  下面將分Behavior Question和Technical Question分別介紹個人的面試準備技巧:

  I. Behavior Question

  這類問題的特點是,易準備,好回答,必出現(xiàn)。所以一定要花幾個小時好好準備,寫寫提綱,面試前對著鏡子說幾次。

  a. HR Question

  最無聊的一類問題,比如“why Microsoft?”、“what’s your plan in 5 years? ” 一般為HR所喜歡。

  推薦準備材料:http://hrinterviews.blogspot.com/。把這64道題刷一下,所有的HR問題都不會是問題了。準備的方法類似于托?谡Z,準備幾個段子,反復用,就很充分了。

  另外,回答一定要真誠。比如,如果被問到“what’s your weakness?”,你如果回答:我太追求完美太熱愛工作巴拉巴拉——太過時太惡心人了吧,親!

  b. Talk about your project

  一般會在面試的開始被問及,必然會被問到的題目之一。把簡歷上的項目好好地闡述,輔以畫圖更佳。一些經(jīng)典的Follow up是:What is the most challenging part? What will you do if you have opportunities to improve it?

  百分一萬的準備好這些問題!面試官通常會刨根問底。答的吭吭哧哧,幾乎是不誠信的表現(xiàn)。

  c. Question for interviewer

  一般會在面試的最后十分鐘里,面試官會請你提出問題。這是你展現(xiàn)對公司的激情、個人的興趣、和面試官套近乎等等等等的大好機會。不要說“no”或者僅僅問“啥時知道結(jié)果啊,哥們”這類的問題。至少準備五個有深度的問題。

  個人經(jīng)驗來說,最好的方法還是隨機應變,根據(jù)之前面試的情況來合理提問。比如,我在Google的一次面試里,面試官無意間提及他在設計一門新的編程語言。面試最后,我就滿臉好奇地說:“talk about your language, please”。然后我和他就編程語言的設計各方面進行了一些小討論,他最后離開時萬分興奮。就這樣,對面試官的尊重,自身興趣和能力的展現(xiàn),對技術(shù)的激情——一脈相承,水到渠成。

  II. Technical Question

  技術(shù)面試的最核心部分。

  下面是一些筆者使用過的材料(請適當支持正版):

  Programming Interviews Exposed

  入門級書籍,可以了解一些基本概念。

  Cracking the Coding Interview

  中級書籍,經(jīng)典必備教材,重點推薦,重中之重!從頭到尾我做過五次。

  Hacking a Google Interview

  MIT的一門課程,教學Handout可作為中級題目練習。

  mitbbs的JobHunt板塊

  資料很多,水帖更多,可以尋找到很多戰(zhàn)友和第一手的面經(jīng)?梢灾攸c學習里面的精華貼。

  http://www.sureinterview.com/

  中高級的算法題。

  http://www.leetcode.com/

  高級算法題,難度偏難,可做適當了解。個人認為,如果不是面Google,里面的題目被面到的可能性不高。

  Topcoder

  知名的編程練習網(wǎng)站,有一些相關(guān)的材料和教材很經(jīng)典。

  面經(jīng)來源:

  mitbbs的JobHunt板塊,Glassdoor,CareerCup

  C++ FAQ

  非常有名的高級C++語言學習網(wǎng)站。啃下來會很有幫助。主要的目的是為了應付關(guān)于Object-Oriented的相關(guān)題目。

  如果你準備用Java,也請至少把語言使用能力達到中階。

  Object Oriented Analysis and Design (Oreilly Head First.)和

  Design Patterns Oct.2004(Oreilly Head First)

  兩本OOP的'經(jīng)典教材。據(jù)說Design Pattern挺重要,但個人從未遇到過相關(guān)題目。但是大致了解一下,總不會錯。

  Wikipedia/Google

  仔細查閱每一個你所不知道的算法、數(shù)據(jù)結(jié)構(gòu)和概念,做好筆記。等你在面試時發(fā)現(xiàn)一個名詞你見過卻不知道是什么,你會把腸子悔青的。

  每個公司所關(guān)注的技術(shù)

  這一點非常重要。比如面Google,就要把Distributed System和Information Retrieval的相關(guān)技術(shù)了解下,好好看看他家的經(jīng)典Paper:Map-Reduce和Google File System;比如面Bloomberg,對C++的了解和使用一定要啃到一定級別;比如面Amazon,要準備好OOP。

  相信我,花六個月的時間,把上述的所有材料搞定,世界上沒有哪個技術(shù)公司你進不去的。(You know I’m kidding… But it’s basically the fact. )

  你可能會問,那如果我只有一周,或者兩天,甚至更短的時間去準備一場面試,該怎么辦?

  我的回答是:第一,如果它是phone interview或者on-campus interview,那只是初級的篩選,難度不會很高,just relax;第二,拿下上述材料中的初級和中級部分(再次強調(diào)Cracking the Coding Interview這本書),然后根據(jù)公司來決定學習重點,這樣就應該有不錯的發(fā)揮了。畢竟個人積累不同,盡力而為吧。

  當你拿到on-site的邀請時,不要去炫耀你的成就了,趕緊去準備之后的面試吧。On-site的難度深度都會有很大的提高。那才是真正的戰(zhàn)斗!過不了on-site,你什么也都不是!

  下面我會分topic介紹一下準備重點。在你準備面試的過程中,你也應該有一份這樣類似的word文檔,記錄你每天學習到的所有東西。

  面試準備絕不是背誦和題海戰(zhàn)術(shù),而是能幫助你對CS知識的理解和運用提升到新高度的過程。

  1.) Time Complexity分析

  基礎(chǔ)中的基礎(chǔ)。絕大部分情況下,算法的時間復雜度能一眼看出來。

  如果是面Google,需要掌握一些嚴密的時間復雜度的數(shù)學推導,有些算法不是一眼能看出時間復雜度的。

  2.) Coding

  廢話!

  但是需要練習的是在紙上和在白板上寫code。 (不要小看這件事!關(guān)掉愚蠢的Eclipse和VC吧)

  更關(guān)鍵的是,寫的代碼要一次成型,bug-free,即使多花點時間。如果你平時有寫完代碼再慢慢debug的習慣,是很不利的。被面試官找出bug來,你的分數(shù)會被大扣分!

  語言選擇上,C++和Java,抑或 C#,都是無可挑剔的選擇——好比,孫權(quán)劉備曹操主;

  Python,Ruby,Perl啥的也還行,在字符串處理上有奇效,但面試官未必買賬,因為有些問題他需要你從底層實現(xiàn)起——貂蟬諸葛主;

  啥,你說匯編?——黃蓋主!還是開局鞭撻至一血的!

  3.) Data Structure

  題目類型大多是:給定一些實際需求,來設計相應的數(shù)據(jù)結(jié)構(gòu)。所以,對每一種數(shù)據(jù)結(jié)構(gòu)的特點、時間復雜度要非常熟悉,而且要有很敏銳的第一感。

  a. Hashtables

  可以說是人類發(fā)明的最重要的數(shù)據(jù)結(jié)構(gòu)之一了。面試時的出現(xiàn)率極高!

  保證你玩得轉(zhuǎn)Collision strategies和hash function。如果深入到如何設計具體的hash function,題目的難度也會是很大的。

  b. Trees

  BST,BFS,DFS,trie,Kruskal’s Algorithm ,Prim’s Algorithm

  Balanced tree就沒什么研究必要了。

  c. Graphs:

  圖的幾種儲存形式,BFS/DFS,Dijkstra,A* algorithm

  d. Linked List/Queue/Stack/Heap

  相應操作的時間復雜度要了如指掌。保證你能輕松寫出C++ STL或Java Library對應類庫的API。

  4.) Algorithm

  重中之重的重中之重!

  Sort,Recursion,Binary Search,Greedy Strategy等等等等要全面準備到。

  Dynamic Programming的一些經(jīng)典題也要會。如果面Google,可能要準備一下DP的高級題目。

  筆者認為,準備這類題目毫無捷徑,只有不斷刷題,總結(jié),刷題,總結(jié)。要培養(yǎng)出對題目的直覺,這是一個漫長的訓練過程。

  在面試的時候,一般來說,要先給面試官提供一個暴力搜索的方法,然后計算復雜度。然后再慢慢做優(yōu)化。面試時一定要keep talking,提出自己的想法,展現(xiàn)自己的思路。如果你get stuck,面試官也會給出相應的hint(當然這是會被扣分的)。

  5.) System Design

  常見形式是:給定大數(shù)據(jù)量和N臺機器,解決一個特定的問題。較開放的題目。在網(wǎng)絡公司的面試中經(jīng)常出現(xiàn)。

  解法有固定套路,可以參考Cracking the Coding Interview 相關(guān)章節(jié),并自己做一些總結(jié)和應用。這類題目看起來很難,掌握方法后,實際難度并不算很高,而且容易展現(xiàn)自身的分析能力,容易出彩。當然,面試官很可能會做適當?shù)难由,涉及到具體的技術(shù),這就靠自身平時的積累見招拆招了。

  推薦的一些補充閱讀材料:

  External Sort (http://en.wikipedia.org/wiki/External_sorting)

  Web Crawler (http://nlp.stanford.edu/IR-book/html/htmledition/web-crawling-and-indexes-1.html)

  Google MapReduce (http://labs.google.com/papers/mapreduce.html)

  Google File System (http://labs.google.com/papers/gfs.html)

  6.) Mathematics

  重點在于組合數(shù)學和概率論。會有一些這類的變體出現(xiàn)。稍微準備準備就可以了,相信國人的數(shù)學水平,絕對凌駕于世界巔峰,不管他面試官是阿三還是老美還是歐洲人。

  7.) Operating Systems

  Processes vs. Threads

  Locks, mutexes and semaphores

  Deadlock and livelock

  Scheduling: FIFO, priority, shortest remaining time, round robin, and multi level.

  不算特別重要。至少筆者從未遇過相關(guān)題目。

  8.) Bit manipulation

  兩個目的:應付該類面試題(出現(xiàn)率不高,但是Google喜歡問);

  用于自己的編程技巧——盡管有些silly,但是在代碼中整一點bit manipulation,是很geek的事。

  9.) Design Pattern

  了解這些:Observer Pattern, Decorator pattern, Factory Pattern, Singleton Pattern

  美國cs面試經(jīng)驗分享(二)

  在美國研究生申請中,大家都會收集一些研究生面試的經(jīng)驗和題目來進行復習,對于計劃申請美國研究生的人來說,在美國研究生申請的面試環(huán)節(jié),需要提前做好準備,下面就來看看Oregon cs面試經(jīng)驗。

  cs@Oregon State University面試

  教授很nice,而且是大牛。

  之前發(fā)郵件說主要談談他的項目和我自己的plan,interests and goal。外加測試一下你的算法,programming skills, data structure。用skype面的。剛開始感覺可以,自己一邊說,教授一邊點頭,可是。。。

  到后來。。。一個問題老師說了三遍才聽懂。。。看教授的表情都快崩潰了。。。

  記得問的問題是,

  知道 recursive function?

  學過概率?

  工程數(shù)學和它有啥區(qū)別?

  還有一個是我看你是軟工的,你怎么講軟工經(jīng)驗應用到實際學習中的?

  還有一個就是知道高斯分布函數(shù) ?

  這個問題教授還將函數(shù)發(fā)過來讓我瞅瞅?上γ嫔

  總之覺得面的不太好。整個過程自己狂說yep, ok。。?谡Z太差了。。。。

  最后教授說了說關(guān)于學校地理位置的事,small town。

  我問的問題是要發(fā)幾篇paper才能畢業(yè)? 回答說至少4篇。。。。。。

  就這些,想起來再更新。。。。

  通過上面對Oregon cs面試的分享,相信對于很多計劃申請美國研究生的人來說,在準備研究生面試材料的時候,可以參考上述的信息來做好準備。

【美國cs面試經(jīng)驗分享】相關(guān)文章:

分享面試經(jīng)驗12-04

最新關(guān)于美國簽證面試通過經(jīng)驗分享09-10

360面試經(jīng)驗分享12-17

面試的經(jīng)驗分享01-16

面試技巧經(jīng)驗分享12-28

建行面試經(jīng)驗分享12-21

小升初面試經(jīng)驗分享12-13

空姐面試經(jīng)驗分享11-12

MBA面試經(jīng)驗分享11-05

移動面試經(jīng)驗分享10-16