<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            美國cs面試經驗分享

            時間:2020-11-30 16:09:59 面試經驗 我要投稿

            美國cs面試經驗分享

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

            美國cs面試經驗分享

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

              開始前的一些說明:

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

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

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

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

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

              面試的公司

              公司

              時間

              崗位

              地點

              過程

              百度

              2010年

              實習

              中關村總部

              3輪onsite

              Microsoft

              2011上半年

              實習

              西雅圖總部

              1輪on-campus + 4輪onsite

              Bloomberg

              2011上半年

              實習

              紐約總部

              1輪網上答題 + 1輪電話面試 + 3輪onsite

              Google

              2011下半年

              全職

              硅谷總部

              2輪電話面試 + 5輪onsite

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

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

              I. Behavior Question

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

              a. HR Question

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

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

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

              b. Talk about your project

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

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

              c. Question for interviewer

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

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

              II. Technical Question

              技術面試的最核心部分。

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

              Programming Interviews Exposed

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

              Cracking the Coding Interview

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

              Hacking a Google Interview

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

              mitbbs的JobHunt板塊

              資料很多,水帖更多,可以尋找到很多戰友和第一手的面經。可以重點學習里面的精華貼。

              http://www.sureinterview.com/

              中高級的算法題。

              http://www.leetcode.com/

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

              Topcoder

              知名的編程練習網站,有一些相關的材料和教材很經典。

              面經來源:

              mitbbs的JobHunt板塊,Glassdoor,CareerCup

              C++ FAQ

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

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

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

              Design Patterns Oct.2004(Oreilly Head First)

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

              Wikipedia/Google

              仔細查閱每一個你所不知道的算法、數據結構和概念,做好筆記。等你在面試時發現一個名詞你見過卻不知道是什么,你會把腸子悔青的。

              每個公司所關注的技術

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

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

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

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

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

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

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

              1.) Time Complexity分析

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

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

              2.) Coding

              廢話!

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

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

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

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

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

              3.) Data Structure

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

              a. Hashtables

              可以說是人類發明的最重要的數據結構之一了。面試時的出現率極高!

              保證你玩得轉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的一些經典題也要會。如果面Google,可能要準備一下DP的高級題目。

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

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

              5.) System Design

              常見形式是:給定大數據量和N臺機器,解決一個特定的問題。較開放的題目。在網絡公司的面試中經常出現。

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

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

              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

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

              7.) Operating Systems

              Processes vs. Threads

              Locks, mutexes and semaphores

              Deadlock and livelock

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

              不算特別重要。至少筆者從未遇過相關題目。

              8.) Bit manipulation

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

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

              9.) Design Pattern

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

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

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

              cs@Oregon State University面試

              教授很nice,而且是大牛。

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

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

              記得問的問題是,

              知道 recursive function?

              學過概率?

              工程數學和它有啥區別?

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

              還有一個就是知道高斯分布函數 ?

              這個問題教授還將函數發過來讓我瞅瞅。可惜挺面生。

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

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

              我問的問題是要發幾篇paper才能畢業? 回答說至少4篇。。。。。。

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

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

            【美國cs面試經驗分享】相關文章:

            分享面試經驗12-04

            最新關于美國簽證面試通過經驗分享09-10

            360面試經驗分享12-17

            面試的經驗分享01-16

            面試技巧經驗分享12-28

            建行面試經驗分享12-21

            小升初面試經驗分享12-13

            空姐面試經驗分享11-12

            MBA面試經驗分享11-05

            移動面試經驗分享10-16

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看