題主目前本科大二計算機專業(yè)學生,不想讀研究生,感覺讀研真的就是浪費時間,為導(dǎo)師打工.前一段看到一個學長寫的答案,稱他這一輩子做的最正確的事情就是沒有在我們學校讀研.我也覺得讀研的話,兩年到三年,十分浪費時間,不如好好抓住本科時間多學點東西,早日工作.
我不是什么大神,也不是某種學霸.喜歡自己鼓搗一些東西.買VPS弄弄前端后臺,偶爾寫一寫安卓小程序.最近在籌備微軟的創(chuàng)新杯.大三的話應(yīng)該會參加全國的嵌入式競賽.想知道如果畢業(yè)后就進入大型的互聯(lián)網(wǎng)公司,需要有哪些必備的知識和經(jīng)歷.愿意吃苦.
國內(nèi)的BAT的來說一下經(jīng)歷也好.
google單獨列出來吧,在國內(nèi)去google的難度和另外兩家不是一個級別的,去微軟和IBM的認識不少水水的,去google和Facebook的可都是大神。
反正想去外企的話,使勁刷題就是了,不需要扯太多的實習和項目。最后你刷題刷到什么水平基本也就決定了你最后是去哪家,如果刷的比較牛逼了可以去google;如果刷的一般般,但是基本知識還是扎實的,那微軟有戲;IBM不太了解。
從編程的角度來說,基礎(chǔ)很重要,但是基礎(chǔ)過后就要有天賦和專精的選擇了,你可以什么都知道,什么都會一點,但是絕不能什么方面都不精通,所以建議答主至少要精通一個方面,比如移動手機開發(fā)領(lǐng)域,或者嵌入式,或者web,亦或游戲等。
也就是說至少要成為一個領(lǐng)域方面的專家,但是其它領(lǐng)域也要多少有些了解。
我對于國際商用機器公司不夠了解,就不評論了。
要想畢業(yè)后去微軟的話,個人覺得最有效的方法是實習生轉(zhuǎn)正。所以要畢業(yè)來微軟的話,我的建議是找時間是來微軟實習半年吧。
要想畢業(yè)去谷歌的話,之前我以為參加ACM競賽是一個很好的方式,但是在我發(fā)現(xiàn)noogler中acmer的比重其實沒想象的那么大之后,我也不確定了。
可能還是主要看運氣吧。
要想畢業(yè)去BAT的話,我就真心不知道怎么準備了。感覺認識的有BAT左邊offer右邊的人,什么特點的都有。所以我猜測既然他們招人這么多,那就應(yīng)該只要學校差不多、并且技術(shù)不太挫就會要吧。
anyway,如果題主真的很想去這種外企的話,我覺得去國外讀研可能會是一個很好的跳板。
BTW:答主是北航軟件學院研究生,很慶幸自己當初選擇了被保研。回收首望去,自己當時本科畢業(yè)的時候太幼稚了,根本沒做好工作的準備。。。
我總結(jié)了我進入Google的一些經(jīng)驗,希望對你有幫助。
填補空白
初期,你所需要增強的是編程技能。你可以在尋找自主學習的資源。
*解決編程問題。搜索一些編程練習題,提高編程能力。*嘗試寫一些應(yīng)用程序、小游戲等等,增加實踐能力。
*深入學習算法設(shè)計。算法設(shè)計是Google面試中的重要測試內(nèi)容。但學習算法設(shè)計并不需要四年的時間,四周甚至更少的時間便可以掌握。實際上算法設(shè)計是可以學習并且非常有趣的,不管你是否想要參加Google的面試,這都將提升你的編程能力。
掌握規(guī)律
后期,針對Google面試,要找大量的Google面試題進行練習。這里推薦一個可以實行算法題在線評測的網(wǎng)站,搜集了很多IT企業(yè)的面試題目。
Google的面試題并不神秘,都是編程的練習題。與Facebook,Amazon等大多數(shù)IT界知名大公司的面試題類型沒什么區(qū)別。事實上,與其他任何IT公司的面試題類型并無二致,都是算法練習題。
盡管如此,也并不意味著這些題非常簡單。其實這對每個人來說都是難題。但是如果你多加練習,掌握規(guī)律和技巧,你就知道如何去解決、攻破它們。
尋找最佳解決方案
為什么Google面試題這么難?因為Google面試官并不只是為了尋找題目的答案,而是為了尋找最好的答案。最好的代碼面試題有三種答案:abadanswer,agoodanswer,以及agreatanswer。每種答案都是正確的,決定它們是否比別的答案更好的因素是運行時間長短。
每一場Google面試,一個面試者在面試官的幫助下想要得abadanswer都得花一個小時,調(diào)整和改善才以得到agoodanswer,進一步努力才能得到agreatanswer。如果不考慮運行時間,這三種答案無疑都是獨特并且正確的。但是我們的最終答案是遠遠優(yōu)于其他答案的,尤其當我們投入了巨大的精力,收獲的不僅僅是abadanswer,而是agreatanswer。
優(yōu)秀的程序面試表現(xiàn)不僅僅是能夠誤打誤撞得到正確的見解,而且要能解釋為什么這個答案是最好的。面試時,你需要能夠向面試官解釋:某個函數(shù)是如何有效解決問題以及如何找到更有效的解決方案。
對比學習
解決問題的過程是一個可學習的過程。想要加快學習進程,最好的方法是去看樣例。悶頭做題的進步是很慢的,多看樣例,參考別人的思維方式,思考如何寫出更高效的代碼,縮短程序運行時間,才能更快提升自己的編程能力。這里推薦一個提供優(yōu)質(zhì)的算法題答案的網(wǎng)址:有助于對比學習,看到自己的差距所在。
不只是Google面試
不管你是不是在谷歌面試,提升算法思維都會大大提高你的編程件工程技能。只要練習,你就會有進步。每當你寫代碼時,你需要在頭腦中思考,什么樣的代碼能縮短運行時間,集思廣益,進行優(yōu)化,你就能得到最優(yōu)代碼。這是從好工程師到偉大工程師的開始之路!
去美國混個master然后狂刷leetcode,谷歌微軟facebook在美國的招人門檻和競爭激烈程度不知道比國內(nèi)低多少個數(shù)量級.....