<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 美國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

    主站蜘蛛池模板: 亚洲精品无码Av人在线观看国产 | 亚洲第一极品精品无码久久| 国产精品免费网站| 国内精品国语自产拍在线观看| 久久精品国产99久久久| 久久精品这里只有精99品| 久久夜色精品国产亚洲| 久久国产精品成人影院| 亚洲AV无码乱码精品国产| 国产国产成人久久精品| 999精品视频| 日本aⅴ精品中文字幕| 久久精品亚洲精品国产欧美| 国产精品福利片免费看 | 亚洲国产精品久久电影欧美| 精品福利一区二区三区精品国产第一国产综合精品| 精品成在人线AV无码免费看| 亚洲国产精品ⅴa在线观看| 精品久久久久久无码中文野结衣| 天天爽夜夜爽精品视频app| 大伊香蕉精品一区视频在线| 人人妻人人澡人人爽精品日本 | japanese乱人伦精品| 日韩人妻精品无码一区二区三区 | 精品无码国产自产拍在线观看蜜 | 精品无码一级毛片免费视频观看| 亚洲精品综合一二三区在线| 第一福利永久视频精品| 国产AV国片精品| 97久久久精品综合88久久| 精品黑人一区二区三区| 日韩精品久久久肉伦网站| 午夜精品久久久久久毛片| 一本色道久久综合亚洲精品| 亚洲精品成人久久久| 欧洲精品一区二区三区在线观看| 精品久久久久中文字| 久久99精品久久久久久噜噜| 精品日本一区二区三区在线观看| 国产欧美日韩综合精品一区二区三区| 国产午夜精品一区二区三区小说|