99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀求職丨我是如何成為了谷歌的軟件工程師
求職丨我是如何成為了谷歌的軟件工程師
2018-10-16
收藏


 


作者 YK Sugi
編譯 Mika
本文為 CDA 數(shù)據(jù)分析師原創(chuàng)作品,轉(zhuǎn)載需授權(quán)


前谷歌軟件工程師YK Sugi分享了他是如何通過六個(gè)步驟,順利開啟了自己的數(shù)據(jù)科學(xué)職業(yè)生涯。

大家好,有很多人問我如何獲得谷歌的軟件工程師工作,在本文中我將分享我是怎么做的。

用相同的方法,你也可以在谷歌、亞馬遜、微軟、Facebook等頂尖科技公司獲得軟件工程師的工作。

在以上公司順利求職共需要6個(gè)步驟,此外我還將討論以下內(nèi)容:


· 首先該如何學(xué)習(xí)編程
· 學(xué)會編程后要學(xué)什么
· 如何獲得第一份編程工作或?qū)嵙?xí)機(jī)會
· 軟件工程師工作求職的最佳方式
· 如何充分準(zhǔn)備編程面試
· 是否要獲得計(jì)算機(jī)科學(xué)學(xué)位?
· 是否要畢業(yè)于頂尖大學(xué)?


好的,我們開始吧!


第1步:學(xué)習(xí)編程

這是成為軟件工程師所需的最低要求。

為此,我建議你使用Codecademy和freeCodeCamp等交互式網(wǎng)站。在這些網(wǎng)站上你可以學(xué)習(xí)大多數(shù)編程基礎(chǔ)知識,SoloLearn也是不錯(cuò)的選擇。

之后,我會使用視頻教程來學(xué)習(xí)更深入的知識。我推薦YouTube,Pluralsight,Lynda.com和Udemy等網(wǎng)站。在這些網(wǎng)站上,你能夠找到以下主題的教程:


· Web開發(fā)
· 移動開發(fā)
· 游戲開發(fā)


取決于你的興趣。

但是等一下,我應(yīng)該先學(xué)習(xí)哪種編程語言呢?

我的簡短回答是,選擇JavaScript或Python,但這實(shí)際上取決于你的興趣。我在之前的文章中有探討過這個(gè)問題。


第2步:做些個(gè)人項(xiàng)目

在學(xué)習(xí)了一些編程教程之后,你應(yīng)該通過構(gòu)建一些個(gè)人項(xiàng)目來練習(xí)學(xué)到的知識。

為此,你應(yīng)該找到你感興趣的東西。

例如,如果你喜歡攝影,那么你可以開發(fā)一個(gè)網(wǎng)站整理你所拍的照片。如果你對股票感興趣,那么可以構(gòu)建一個(gè)系統(tǒng)來分析股票圖表。如果你喜歡解決問題,那么可以嘗試參加編程比賽。

當(dāng)處理項(xiàng)目時(shí),首先要盡可能靠自己完成。然后,如果遇到困難,可以使用在線或離線資源獲取其他人的幫助。例如,如果遇到與編程相關(guān)的問題,你可以在Stack Overflow對特定技術(shù)問題進(jìn)行提問。


第3步:獲得第一個(gè)編程工作或?qū)嵙?xí)

一旦完成了一些個(gè)人項(xiàng)目,你就有機(jī)會獲得第一份編程工作或?qū)嵙?xí)機(jī)會。這樣在與頂級科技公司面談之前,你將有一些編程的經(jīng)驗(yàn)。

你完全有可能在一家頂級科技公司獲得第一份工作,但是這種幾率比較小,你獲得的第一份工作更可能是在一家不那么知名的公司。

**申請軟件工程師工作的最佳方式**

除了在網(wǎng)上投簡歷,你還有其他的方法可以嘗試。

這里我建議你使用LinkedIn和人脈網(wǎng)絡(luò)。

在LinkedIn上,首先找到你感興趣的公司的招聘人員。然后,你可以問他們你是否有資格獲得你感興趣的職位。如果你的資格還不夠,你也應(yīng)該問他們?nèi)绾文芨玫刈鰷?zhǔn)備。

還有Meetup這種人脈網(wǎng)絡(luò)的網(wǎng)站,你可以直接與當(dāng)?shù)毓镜墓こ處熀驼衅溉藛T進(jìn)行交流。

這還不是全部。

LinkedIn這種人脈網(wǎng)站對于中小型公司的職位很適用。但是,對于想應(yīng)聘谷歌和Facebook等大型公司而言,效果就不那么好了。

對于這些大公司,我建議結(jié)合以下三種方法:


1.參加你附近大學(xué)舉辦招聘會。
2.通過在其中一家公司工作朋友的推薦。
3.網(wǎng)上投簡歷。


結(jié)合這些方法能夠增加你獲得大型公司面試的機(jī)會。

對于大型公司,LinkedIn上大公司招聘人員收到的消息太多了,因此效果不太好。


第4步:學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法

谷歌和微軟等頂級科技公司在面試時(shí),經(jīng)常會問到關(guān)于數(shù)據(jù)結(jié)構(gòu)和算法的問題。所以,如果你對這方面不太了解,那么你應(yīng)該學(xué)習(xí)。

針對這方面的基礎(chǔ)知識,我推薦我YouTube頻道的數(shù)據(jù)結(jié)構(gòu)和算法系列視頻。


書籍:
《算法設(shè)計(jì)手冊》 (The Algorithm Design Manual) 作者Skiena
《算法》Algorithms 作者 Robert Sedgewick



第5步:準(zhǔn)備編程面試


谷歌和微軟等公司的編程面試很難,但可以有針對性的進(jìn)行準(zhǔn)備。

一旦你對數(shù)據(jù)結(jié)構(gòu)和算法有了深入了解,我就會推薦以下三種資源用于練習(xí):


· Leetcode——練習(xí)編程面試問題的互動平臺。
· 《搞定編程面試》(Cracking the Coding Interview)——關(guān)于編程面試的熱門書籍。
· 每日編程問題(Daily Coding Problem) ——每天給你提供一個(gè)編程問題的郵件列表。


在自己練習(xí)幾周之后,你可以開始進(jìn)行模擬面試。

**怎么做模擬面試**

與你的朋友一起練習(xí),從我以上提到的資源中選問題互相提問。

解答每個(gè)問題,并對你的解決方案進(jìn)行解釋。

在練習(xí)時(shí),除了面試者還要充當(dāng)面試官的角色,從而揣摩面試官的想法。

進(jìn)行約20次模擬面試,之后你對實(shí)際面試將有一定把握。


第6步:反復(fù)嘗試

使用我以上提到的三種方法應(yīng)聘頂級科技公司:


· 招聘活動/招聘會
· 朋友推薦
· 網(wǎng)上求職。


如果第一次沒有成功,請不要泄氣。在找到心儀的工作前必然會經(jīng)歷一些失敗。

在我成為谷歌的軟件工程師之前,我曾嘗試了五次。

總結(jié):


第1步:學(xué)習(xí)編碼
第2步:做些個(gè)人項(xiàng)目
第3步:獲得第一個(gè)編程工作或?qū)嵙?xí)
第4步:學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法
第5步:準(zhǔn)備編程面試
第6步:反復(fù)嘗試


等等,真的那么簡單嗎?

是的,但是完成這六個(gè)步驟需要大量的時(shí)間和精力。


其他問題

問題1:我需要獲得計(jì)算機(jī)科學(xué)學(xué)位嗎?

不用,但是擁有計(jì)算機(jī)科學(xué)學(xué)位有很大幫助。如果你參加一個(gè)完善的計(jì)算機(jī)科學(xué)課程,當(dāng)中包含了步驟1,2,3和4的大部分內(nèi)容(學(xué)習(xí)編程,做個(gè)人項(xiàng)目,獲得第一個(gè)編程工作或?qū)嵙?xí),以及學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法)。

如果沒有計(jì)算機(jī)科學(xué)學(xué)位,你需要自學(xué)當(dāng)中許多內(nèi)容。

要注意,即使擁有CS學(xué)位,獲得頂級科技公司的軟件工程師工作也需要付出很多努力。

問題2:我是否需要畢業(yè)于麻省理工學(xué)院,斯坦福大學(xué),卡內(nèi)基梅隆大學(xué)等頂尖大學(xué)?

同樣,并不需要。畢業(yè)于頂尖大學(xué)當(dāng)然有些幫助,但這并不是必備條件。

谷歌人事業(yè)務(wù)部的高級副總裁Laszlo Bock也同意這一觀點(diǎn)。

在他的書《 Work Rules!》中提到,比起來自麻省理工學(xué)院等頂尖學(xué)校但表現(xiàn)平庸的學(xué)生,谷歌更青睞來自普通院校但表現(xiàn)優(yōu)異的學(xué)生。

我認(rèn)為這是有道理的,如果你很聰明且專注,那么來自哪所學(xué)校并不重要。

問題3:我需要很高的GPA(績點(diǎn))嗎?

不用。

較高的績點(diǎn)在面試中有一定優(yōu)勢,但你擁有扎實(shí)的實(shí)踐經(jīng)驗(yàn),且完成了有趣的項(xiàng)目更為重要。

事實(shí)上,根據(jù)《 Work Rules!》,谷歌過去常常注重面試者的績點(diǎn)。然而之后他們發(fā)現(xiàn),較高的績點(diǎn)并不意味著出色的工作能力。因此谷歌不再強(qiáng)調(diào)面試者的績點(diǎn)。

問題4:那我需要什么?

你所需要的是強(qiáng)大的編程能力和解決問題的能力,熟練掌握計(jì)算機(jī)科學(xué)的基礎(chǔ)知識,以及在簡歷中展示出完成的項(xiàng)目和具備的經(jīng)驗(yàn)。

根據(jù)我在文中提到的六個(gè)步驟,你就能做到。

問題5:怎么能寫一篇好的簡歷呢?

你可以參考我在面試谷歌時(shí)用的簡歷。

簡歷的篇幅最好控制在一頁,我的稍微有些長,但可以作為參考。

祝你好運(yùn)!


數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }