做者:來源:靖難|2015-11-18 18:47前端
一個多月前,做爲技術面試官參加了百度 2016 年的校園招聘深圳站面試,主要目標學生是清華/北大/哈工大/中科院linux
在本地的研究生院(實際上並無設限,有很多江西廣西福建的同窗過來面試了),這裏和你們分享一點本身的思考。git
一個多月前,做爲技術面試官參加了百度 2016 年的校園招聘深圳站面試,主要目標學生是清華/北大/哈工大/中科院程序員
在本地的研究生院(實際上並無設限,有很多江西廣西福建的同窗過來面試了),這裏和你們分享一點本身的思考。github
咱們通常有 3 輪技術面試,一面二面一般是由資深的工程師面試,三面通常是技術經理面試。我負責的是一面和二面web
面試過程當中除了給全公司層面的統一招聘人才,咱們還隨時 要準備物色合適的人加入本身的團隊。面試官會根據面試面試
過程對每一個候選人的編程能力/邏輯和思考能力進行評價,只有每一輪的面試官都給予經過,纔有可能被錄 用。算法
面試是一個雙向考察和選擇的過程,因此面試時我一直嘗試把這當成和候選人的一次溝通docker
面試的過程有大量的問題也是根據候選人自身的特色提出的,而不是遵循了某個題庫固定的題目。數據庫
總體感覺是,大多數人真的很弱,你並不須要「很是努力」,就能夠比大多數的人「優秀」
下面就你們關心的一些問題分開討論下。
教育背景
不少同窗諮詢我時,有意無心地給本身貼上了「渣二本」「普通一本」「非 211」這樣的標籤,這都表面其心裏仍是很是介意本身的教育背景很差。我想你應該慶幸本身生在互聯網時代,這個時代的人和資源都暴露在互聯網中
你徹底有機會用互聯網來證實本身的能力和曾經的努力。
我在面試時能明顯感受到,一些好學校(好比中山大學/哈工大/清華北大/廈門大學/華科武大等)的學生,在基礎知識/表達/邏輯能力等都要更強一 些。我想之因此有這樣的表現,是由於好學校的學生受過更好思惟訓練,他們面對一個難題時每每知道怎麼去簡化和抽象問題,把問題撥出來分類或者分層討論,同 時他們還會試圖把問題分解成不一樣的子問題逐個來討論。我就碰到過一個大學純玩票的中山大學的大四學生,對計算機基礎知識基本上一問三不知,可是分析問題時 的思路和邏輯仍是清晰的,而這種能力,是不少教育背景較差的學生缺少的。所以我也建議屬於這種狀況的同窗,多進行一些思惟訓練,學會如何系統地區分解和分 析一個問題。
固然,非名校中,也不乏優秀的候選人。有個江西理工的大四學生,在他的博客中我讀到了大量分析技術細節的文章,還有參加 mooc 上機器學習課程,github 中有他本身些的 key-value 數據庫和 webserver。經過討論,我肯定他是真正學習過這些知識的人。還有一個深圳大學的學生,大學時代作過不少 app 和校園實用小工具,他老是試圖用技術去提升本身的工做和生活效率,是一個真正的極客而不是腦殘果粉。
實習和項目經驗
很多同窗擔憂他們大學沒有實習過,也沒有作過不少的項目,因此在找工做時會是很大的劣勢。 首先我不否定好的實習經驗和項目經歷,會是很大的加分項,可是若是你是一個學習優秀/熱愛獨立思考/科研達人,也能夠收到一樣的效益。在我看來,最重要的 問題在於你要「曾經努力作好過一件事情」,不然「Why you?」
既不擅長於學習和科研也沒有折騰過具體的技術,這樣的人才是大多數。因此,當你能作好一件事情,就是優點
(固然,我更建議大學時代讀好書,搞好科研,而不是放棄學習去折騰具體的技術)
另外不少「爛校」的學生,總認爲本身學校差因此沒有機會去大公司實習
實際上,你在微博/github/v2ex 之類的地方,能夠勾搭到大量大公司的人
只要你能吸引到他們,徹底能夠找到一份不錯的實習,問題是你拿什麼來證實本身優秀?
熱愛,有激情
面試時,有很多人老是急於表達本身對技術對編程的熱情和喜歡,而我卻很難在這些人的人生經歷中,找到一件事能夠支持他們的這個說法。你既然這麼喜歡計算機和編程,大學四年你幹嘛去了? 你肯定不是由於找不到其餘工做或者考不上公務員纔來面試程序員的嗎?互聯網如此發達的今天,大學你有四年的時間去折騰,去證實你喜歡計算機,然而你沒作過任何這樣的事情,卻說本身熱愛,這反而會讓人對你的見解大打折扣。
大學時代不知道如何正確地學習很正常,可是若是你真喜歡同樣東西,你會作過一百種嘗試。哪怕是反覆地折騰安裝 linux 系統,嘗試各類不一樣的發行版本,也是一種證實。你能夠去計算機系蹭課,能夠去 mooc 上學習計算機的公開課,甚至你能夠去考並無什麼卵用的計算機二三四級考試,也能夠去交一個計算機系的男友女友
然而你「什麼都沒作過,憑什麼說 愛」
有一個候選人本科是武漢大學某個偏門工科專業的,大學時代由於喜歡編程買了樹莓派寫代碼,還去華科修了計算機科學的第二學位,爲了進一步學習他考研 去了中科研研究計算機視覺,讀研期間又本身用 C++ 實現了視覺領域的大量算法來提升本身的編程能力。這樣的經歷是很是吸引人的!這個同窗的算法和數據結構底子比較通常(或者只是沒有刷過題),可是學習能 力,分析問題的能力很強,我能明確感覺到他面對一個本身不熟悉的算法題時,逐步分析概括試着去解決問題的過程。這樣的同窗太討人喜歡了!(他的二面面試官 給出了比我更高的評價!)
說了這麼多,其實我想說的就一點,每一個人都要有本身的優點和核心競爭力。這個核心競爭力能夠是牛校(清北復交浙南大科大等),固然,若是你只有牛校 光環,並無什麼卵用,由於你競爭的對象是本身的同窗,而不是大專畢業生;也能夠是很強的算法設計能力,可是參加 ICPC 拿過大獎的同窗那麼多,你刷題刷的過來嗎?;還能夠是學習成績好,由於成績好的同窗每每在工做中表現出很高的執行力和快速交付能力(這也是爲何不少投行 和諮詢公司對候選人的學校和成績有很高的要求);愛造輪子折騰開源;實習經歷
(BAT,google,MS 等實習過),學術強人(頂會 paper); 數學好(奧賽金牌)等等。
若是你啥都沒有,只能跟大多數人同樣,人云亦云,刷算法題看麪筋,臨時抱佛腳,期望着互聯網泡沫更大一點
這樣 bar 就能更低一點,這樣就誰都能進入 BAT 分一杯羹。
但是,在這個阿貓阿狗都能拿到年薪 20 萬 offer 的泡沫時代,這樣的你就沒有一點焦慮?
最近這段時間,天天從知乎和 QQ 上會收到大量的 offer 求比較諮詢,其中 BAT 20 萬的 offer 司空見慣,30 萬的
special 也見怪不怪,40 萬(今日頭條等給的 special offer)的也常有出現,做爲老人只能感嘆這個互聯網時代的瘋狂。
我不是一個能夠講大道理的「人生贏家」或者「長者」,只是大家經歷着的事情,3 年前我也經歷過,offer 越多越煩惱,尤爲是沒有殺手級 offer 時每天都只能糾結困擾。然而回頭一想,有時候真的是本身想得太多了而已
因此,今天也談談我對校招 offer 選擇的一些不成熟的微小的見解,也歡迎你們把我批判一番。
選擇你當前最須要的東西
我固然更欣賞敢於去追求本身的夢想的你。當有一個好的 offer 時,哪怕是要去帝都這樣的城市,你也毅然前往
不過我也歷來不認爲如今的一個 offer 選擇會成爲你將來走向人生巔峯的障礙
阿里巴巴上市的時候,許多技術圈朋友感嘆本身當年沒有選擇去淘寶,不然如今也走向財務自由了
而我以爲,即使你當初 選擇了淘寶,中間也有一萬個理由離開
咱們決定不了本身的運氣。
生活和工做平衡,同時加上較高的收入,這是最理想的工做狀態。平衡生活每每須要在一個你喜歡的城市裏,若是你介意去北京,那麼仍是留在上海/廣州 /杭州/深圳吧,留在一個有你親人×××同窗的地方,在一個你更願意長期發展的地方。當地域成爲你當前訴求中一個重要因素時,就能夠縮小你的選擇空間。有個 同窗說他想找個浙大的女友,我說那確定去網易/阿里/蘑菇街這些公司啊,但是他又糾結說他想學技術,我只能問他難道阿里的技術不夠學麼?
薪水固然是最重要的,沒有人不喜歡錢。許多連C輪都沒走到,愉快地燒着 VC 錢的公司,大方地給應屆生開出了遠高於 BAT 的薪水,讓人很難不動心。但是當下你真的有那麼須要錢嗎?若是答案是確定的,那很簡單,選錢最多的一個!若是你並無什麼經濟負擔,一個月多 5K 少 5K 本質上沒有影響到你的生活,那麼,必定要跟那種花幾百萬請王寶強孫紅雷田亮過來講一句廣告詞的創業公司說不!
這裏順道分享個案例:某同窗收到某不靠譜創業公司開出的 18K 的 offer,百度開出的 14K 的 offer。表面上看來百度的錢少好多,可是實際上該創業公司的社保公積金都按最低標準繳納,好比公積金每月總共才兩三百塊,可是百度每個月給你繳納的公 積金公司那份就有差很少 2000,同時你的醫保和養老金也會多出幾千塊,另外公司還給你買了商業醫保,這麼一算,你以爲如何呢?
作本身最擅長和有興趣作的事情
許多遊戲公司給應屆生開出了遠高於預期的薪水,彷佛讓人很難拒絕。然而遊戲是一個特殊工種,遊戲的天性就是要短平快賺錢,因此你永遠都是在衝爆款, 你永遠都在作下一個遊戲!同時,這種經驗無法讓你體驗到持續的增加和積累,而這種應對高速增加的流量和業務規模,不斷改進架構和基礎設施的能力在大型互聯 網項目中又是必備的。
因此,除非你真的熱愛遊戲和遊戲開發,不然通常不建議去遊戲公司。
(固然,若是你優先級更高的訴求是去廣州,可是又沒有其餘選擇好比微信,那麼另當別論)
許多同窗有「後臺開發工程師」的 offer,又有「Data Scientist」這麼高大上 title 的 offer。還有些有「前端開發」
或「運維」offer 的同窗話語間卻透露出一點對相應領域鄙視的神情
和那些認爲「彙編」和「底層」就是更牛逼的人是同樣同樣的。
「算法」「機器學習」這些聽上去更高大上,我也有很多這類 offer,可是我依然選擇作「基礎架構」這個方向
而不是「算法」,由於個人熱情和興趣都在這上面,我相信這樣能夠作得更好
等我作得足夠好的時候,我纔可能會去作一些新鮮的嘗試。
我一直以爲只要保持開放和持續學習的心態,作哪一個領域都不會有問題,塔尖的人永遠是稀缺的
實踐中,想要招一個優秀的「前端」和「運維」,是很是可貴事情,由於真的很缺
因此若是你擅長前端或運維相關的技術,又有足夠的興趣,請不要頭腦發熱去搞「大數據」和「機器學習」
哪一個技術/編程語言有前途?
還有些同窗說我對後臺編程有興趣的,只是我不知道學哪一個好,接下來他又會問如今 C++ 還有市場嗎?PHP 和 Python 到底哪個好? 是否是之後的趨勢是 Go?Java 的薪水是否是沒有 C++ 高? 就這麼一糾結,半年就過去了,再那麼一糾結,轉眼就要畢業找工做了他們仍是沒想明白這個問題。對於這個問題,舉個例子說明個人觀點:微軟的工程師一直是國 內外互聯網公司搶奪的重要人才資源池,可是實際工做中大多數微軟 FTE 工做都使用 C# 在 windows 平臺編程,並且不少都是在從事傳統的軟件開發,那麼,爲何會這麼搶手?
我身邊優秀的工程師們,都是有本身擅長且沒法被輕易替代的技術,同時又保持着對新技術探索的熱情。我本身主要編程語言是C++,可是對 Python 和 Go 的熟悉程度也能夠輕易地開始獨立作一個項目,對 openstack 和 docker 等等也都有研究過。我也嘗試過用 PHP 和 Python 寫過網頁小遊戲的後臺,我試着用這些開發一些工具來便捷本身的生活
固然,我並非說我優秀,我只是說我真的喜歡技術,願意去探索,並有信心將來不輕易地 被淘汰。
固然,軟件工程師的核心價值應該是實現想法和解決問題,而不是編碼員。
必定要去 BAT 嗎?
不少人形容大牛都是「BAT X 年工做經驗」這樣的論調
給人一種彷佛只要去 BAT 熬上多少年就能夠變成大牛同樣
個人見解一直是「BAT 有不少大牛,可是大牛並非由於去了 BAT 而成爲的大牛」
這跟好的教育背景是同樣的,咱們不該該把「錦上添花」當成了「點石成金」
我不止一次探究過身邊高T的大牛或其它公司資深工程師的經歷,發現這些人有個共同的特色,就是都是伴隨着優秀的項目/團隊一塊兒成長起來的。有一個高 速增加的業務挑戰,不斷地出現難題,不斷地從坑裏面走過來,這樣的經驗,纔是最有價值的!若是你有一個機會去一個業務快速增加並尊重工程師的創業公司,絕 對是比去 BAT 作螺絲釘更好的機會!(好比近年的美團、小米、滴滴打車、宜信大數據中心、今日頭條等)
大公司不少部門一般有一個毛病,就是業務過於成熟,因此一切都追求穩定,即使是急須要改進的東西,也沒有人敢去碰坑。你極有可能就是在這樣的環境中,你是一顆勤勞的螺絲釘,隨時能夠拔掉或者替換
而你根本不用幻想,基於現有的資源,給你機會去創造並擦出新的火花。
固然,一切歸根結底最重要的因素仍是看人。
一般,心態開放並積極學習的人,運氣都不會太壞。