ACM選手面試FLAG是不是輕而易舉?
背景:LZ在國內。
我們還在吭哧吭哧刷LC的時候身邊的ACM大神們都不屑於這種難度的題。。各種秒殺,要做到bug free也只要練一練就行了,學渣感覺毫無出路啊。。。是不是對於搞過ACM的人來說面FLAG簡直輕而易舉呢?每年從國內進入FLAG的大神演算法能力都是什麼水平?大神會不會RP不好慘遭淘汰?學渣能不能逆襲呢?...求各種小故事O(∩_∩)O~
謝邀。
利益相關:ACMer,Facebook 16 Summer Intern。並不是這樣。
作為一個ACMer,我來到北美讀Master,找了半年的實習,最大的感覺就是:刷題無止境,並不能看到一個充分準備好了的可能性,而是只能盡我所能的準備到我的極致(可能智商也是不夠用)。
是不是對於搞過ACM的人來說面FLAG簡直輕而易舉呢?並不是。0.答主CF rating 1970,應該還算是一般的ACMer,15年在北美拿到了WF slot,隊伍在國內應該也算是銀牌到金牌墊底隊,但是面FLAG掛了AG,其中G掛了兩遍。。北美和上海。一共拿到了9家公司的面試,只拿到了兩個offer,跟很多大神們沒法比。於是這篇答案只是就我的感覺就事論事,求不嘲諷。1.誠然,在進行ACM訓練的時候已經對演算法有了一定的鍛煉,但是在面試的時候演算法並不是唯一需要的東西。我感覺,面試的時候更需要的是一種communication,你需要讓面試官了解你的思路,跟上你的思路,並欣賞你的思路。對一個面試而言,你更需要的是滿足面試官的需求而不是強行把一個面試官聽不懂的演算法拍在他的臉上(比如答主在電面Google的時候因為第一次面試和英語的問題導致communication超差,還強行把一個二維樹狀數組拍在了面試官面前,然而面試官根本不知道我在說什麼,在google doc上我根本連一個一維樹狀數組也說不清楚嘛,又不能畫圖)。2.在面試你會別人也會,根本找不出區分度的演算法題目的時候,其他項目(communication,OO design)就成了決定性的因素。然而這些東西感覺並不是很好準備,有資源求推薦啊~3.除了最頂尖的那批大神(我不了解情況),感覺大部分選手都存在一個狀態的問題。腦子一懵想不出演算法簡直是常有的事兒,而且ACM很多時候跟面試要求的東西也是不一樣的,ACM要求的事能AC就好,面試要求的是代碼清楚和各種時空最優或者一些tradeoff。而且很多時候見沒見過這道題真的是很關鍵,臨時現想一個演算法往往達不到最優。每年從國內進入FLAG的大神演算法能力都是什麼水平?
這個感覺並不能一概而論。A家感覺就是根本不care你是誰,大家都拿來保底,而且intern拿的比某些full time都高的奇怪的公司,基本刷三個月題演算法上就應該沒問題了;L家沒面過不清楚,但是看麵筋的話還是leetcode hard難度的題目,和G家差不多,需要一個國內邀請賽銀牌銅牌的水平;F家的題目答主準備的是最多的,真心感覺就全是leetcode原題或者組合體,感覺沒見過的話需要一個國內區預賽銅牌的水平,見過的話就是秒殺了。而且每個人的年級不一樣也不能一概而論,一般是對本科生要求更低一些,對研究生要求更高一些的。大神會不會RP不好慘遭淘汰?學渣能不能逆襲呢?
一切皆有可能。面試這個東西非常看臉,我印象最深的一個就是面試Zenefits,面試官都說了「我會讓你過的,不要著急」,然而他家股票怒跌了一半,周五就悲劇了。。所以場外因素還是很多的。我也見過面試官跟面試者原來是同一個實驗室的,於是聊了1小時家常就過了G家team match。所以,這一切都是命啊。
如何準備面試?
ACM競賽雖然在做面試的時候有一定的幫助,但面試這個東西還是需要不懈的準備和鍛煉才能達到一個最好的效果。在答主看來,ACM帶給你的最多是一個啟發你演算法思路的作用,在面試的題目類型上和對面試者的要求上ACM和北美公司的面試都是大相徑庭的。再次提醒,communication非常關鍵,你給面試官留下的印象非常關鍵,多面幾家積累面試經驗也非常關鍵。至於演算法,別差太遠就好啦。機會都是給有準備的人的,面試之前請準備一些常用的答案(Why this company? Introduce yourself?)並在一畝三分地上刷一遍這個公司的麵筋,把自己的簡歷項目對著面試的常用問題過一遍,想想面試官可能怎麼問而你又要怎麼答。接下來要讓面試官覺得你非常想去他家,並且you are a good match,請大聲的和他交流並展示你的enthusiastic,至少在F家我覺得這是有用的。面試掛了是很正常的事!不要氣餒不要氣餒不要氣餒!重要的事情說三遍!最後祝大家都能找到理想的實習!若是英語面試的話,icpc選手做題是沒問題的,但是我面過的大部分acm選手那口語直接掛。不是我掛的,我聽中國口音完全沒問題。但是外國人就不行了。
另外我一道原創題(第一步reduce到一個判斷字元串子串,第二步說出kmp名字就行,不難)也絆住過個把選手。不過為了部落我後來還是用別人也用的題。
至於演算法能力 vs 工程能力,我只能說工作了的話工程能力是沒上限地漲,演算法卻不見得有時間練習了。你想混口飯吃什麼都不做都行,但是想擠進前10%,在別人抓耳撓腮拆東牆補西牆的時候想一個演算法漂亮地解決問題,碾壓大家,脫穎而出,快速升職,那還是要些演算法基礎的。想答的時候才發現之前答過了 更新一發
:其實並沒有什麼必然聯繫 輪子哥總說acm是奇技淫巧 有一定道理 打個比方 你要是陽痿 那找對象的時候妹子肯定不要你 你不僅量足還會老漢推車 觀音坐蓮等一系列姿勢 那妹子也不一定要你不是么以下是原答案acmer大多沒什麼代碼規範 工程也需要自己補 如果你在他們搞acm的時候寫工程 造輪子 那你肯定不比他們差 如果你在水學分 玩遊戲 那也就是這樣的差距吧
平台有時候比你努力更重要。我的直觀感受是在國內拿FLAG面試比在國外讀大學難的多。我在國內13年碩士畢業雖然準備出國但也試著找了下工作,在什麼都沒準備的情況下,水平基本就是過不了BAT的筆試那種,平時遇見什麼演算法數據結構不是不懂但也不怎麼熟練得現查現用。然後來了美國計算機排名100左右的大農村學校(遠離東西岸),14年11月份拿Google和Bloomberg電面的時候LC一遍都沒刷完,好在幸運onsite了,然後15年2月onsite時候LC刷了接近兩遍,雖然後來都被拒,但客觀的回憶起來題目都不難,LC中等難度。你要說我做題水平比國內那時候強多少了我不敢說,但平台換了得到一樣的結果的過程就輕鬆一點。當然,在沒辦法改變平台的時候還需自己努力。
連著兩年面了G都過了,所以感覺蠻輕鬆的Update三年
應該是。互聯網企業由於業務需要,最看重這個。
不過,由於普遍快糙猛,強調演算法,性能等,忽略了工程過程。所以,雖然現在軟體越來越方便,但質量還是堪憂。
話說你聽過幾家互聯網公司搞過CMMI?
說到底,互聯網比傳統軟體行業更像服務業瀉藥!
作為一個水水的ACMer看到這個問題感到很慚愧,但是今天我來的目的是想說說我的學弟,也是隊友。
學弟叫趙xx,ACM界稱之為xiaoxin巨。當然現在我們都已經退役了。參賽的時候也沒去得過很好的成績,但這並不妨礙xiaoxin很牛的事實。
xiaoxin今年大三,電院,平時不學習還掛科。今年暑假要實習,於是讓他投了蘇州微軟的實習生,另外,在國內很少有人可以進FB。
- 在線筆試什麼的輕輕鬆鬆秒掉。進了面試。
- 面試前根本不刷題啊,我還讓他有空看看Leetcode呢!
- 終於onsite啦。還沒出MS大門就拿Offer啦!
- 拿了Offer之後見面第一句話就變成了:微軟面試真tm水啊!
當前,你可以說MS(蘇州)比FLAG中任意一個都簡單。但是這並不妨礙xiaoxin巨碾壓其他(所有)人。
當然拿個MS Intern Offer並不算什麼阿,更讓人不可思議的是:
不是。我見過ACM區域賽冠軍F和G都被拒,連BAT都只拿到一家批發價offer的。
邀請我沒啥用,我既不是ACMer,也拿不了FLAG哎 &>_&>
某區域賽金。
感覺面試題目一般是會做的,但是面試能不能過就不止是看題目會不會做了……還是挺慫的。不是,見過很多ACMer被掛了,自己也掛過很多ACMer。不過面ACMer很爽,可以把很多平時不敢用的題目拿出來遛遛。
誰跟你說ACM大神不屑leetcode?acm有sql題?acm有數據複製題?acm有面試原題?acm能出的leetcode也能出,為什麼不出? 因為面試不考哪種!為什麼不考?因為沒模板就算你是final大神你也不一定能徒手擼出來!這種題面試來考有意義嗎?沒有。建議lz在吹比前深入了解所吹的內容,就不會陷入被嘲笑的境地!
推薦閱讀:
※哪裡能找到一些簡單的演算法競賽題?
※擔任ACM/OI競賽教練是怎樣一種體驗?
※為什麼清華的交叉信息研究院或計算機系的本科生就能夠在理論計算機學科上發一大堆的論文?
※女生面試 Google 會不會容易些?
※如何評價中山大學vmatrix評測系統?