cherryhu111
軟件工程師是一個(gè)認(rèn)證考試,具體地說(shuō)是從事軟件職業(yè)的人員的一種職業(yè)能力的認(rèn)證,通過(guò)它說(shuō)明具備了工程師的資格。軟件工程師是從事軟件開(kāi)發(fā)相關(guān)工作的人員的統(tǒng)稱(chēng)。它是一個(gè)廣義的概念,包括軟件設(shè)計(jì)人員、軟件架構(gòu)人員、軟件工程管理人員、程序員等一系列崗位,工作內(nèi)容都與軟件開(kāi)發(fā)生產(chǎn)相關(guān)。軟件工程師的技術(shù)要求是比較全面的,除了最基礎(chǔ)的編程語(yǔ)言(C語(yǔ)言/C++/JAVA等)、數(shù)據(jù)庫(kù)技術(shù)(SQL/ORACLE/DB2等)等,還有諸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING等前沿技術(shù)。此外,關(guān)于網(wǎng)絡(luò)工程和軟件測(cè)試的其他技術(shù)也要有所涉獵。 對(duì)于軟件工程師,不太重視學(xué)歷,但并不是對(duì)學(xué)歷沒(méi)有要求,重點(diǎn)關(guān)注項(xiàng)目的經(jīng)驗(yàn)和學(xué)習(xí)知識(shí)的能力,能否利用軟件工程專(zhuān)業(yè)知識(shí)來(lái)解決問(wèn)題,根據(jù)崗位不同,對(duì)軟件工程師的要求也有所不同。具體能力要根據(jù)崗位和自己的興趣愛(ài)好選定自己的職業(yè)規(guī)劃方向,一方面要詳細(xì)了解軟件工程師的要求,可以關(guān)注企業(yè)的招聘信息;一方面自己要貯備通用的知識(shí)技能,廣泛閱讀相關(guān)的計(jì)算機(jī)材料對(duì)自己以后的發(fā)展大有幫助。可以確定的是軟件工程師的前途在未來(lái)的發(fā)展依然是不斷升溫的職業(yè),比較需要有技術(shù)和良好前景的專(zhuān)業(yè)之一。下面列舉一些企業(yè)的要求:,NET方面的開(kāi)發(fā)⒈熟悉.net開(kāi)發(fā)體系,熟悉C# ASP .NET⒉熟悉SQLServer,Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)⒊以上要求至少3年開(kāi)發(fā)經(jīng)驗(yàn)。⒋具有企業(yè)管理系統(tǒng)項(xiàng)目經(jīng)驗(yàn)。5.了解企業(yè)ERP及財(cái)務(wù)管理軟件(用友,金蝶)者優(yōu)先。6.善于溝通,能獨(dú)立撰寫(xiě)方案。為人誠(chéng)實(shí),善于學(xué)習(xí),做事認(rèn)真負(fù)責(zé),積極主動(dòng),具有敬業(yè)精神,有團(tuán)隊(duì)精神JAVA應(yīng)用程序開(kāi)發(fā)技能要求:熟練使用Struts2+Spring+Hibernate掌握J(rèn)query掌握J(rèn)ava熟悉Oracle掌握xml/webservice掌握OOD、OOP基本文檔寫(xiě)作能力web、數(shù)據(jù)庫(kù)方面的開(kāi)發(fā)⒈計(jì)算機(jī)或相關(guān)專(zhuān)業(yè)本科以上學(xué)歷;⒉有4年以上開(kāi)發(fā)經(jīng)驗(yàn),有良好的代碼編寫(xiě)習(xí)慣,熟悉軟件開(kāi)發(fā)規(guī)范;⒊熟練掌握ASP,NET;等編程語(yǔ)言,熟悉.Net開(kāi)發(fā)環(huán)境,理解.Net Framework,理解并能熟練使用WebService、O/R mapping、Remoting、多線程等技術(shù);⒋熱衷于互聯(lián)網(wǎng)WEB開(kāi)發(fā),熱衷于鉆研最新的前沿技術(shù),精通XML,Javascript,CSS,AJAX等WEB前端技術(shù);⒌熟練的技術(shù)文檔編寫(xiě)能力,熟練使用Rose,Power Design,Visio等建模和設(shè)計(jì)軟件,有一定的架構(gòu)設(shè)計(jì)能力;⒍精通SQL server數(shù)據(jù)庫(kù)技術(shù),了解數(shù)據(jù)庫(kù)性能調(diào)優(yōu)者優(yōu)先.C#項(xiàng)目開(kāi)發(fā)⒈計(jì)算機(jī)專(zhuān)業(yè)本科以上學(xué)歷,一年以上C#/ASP NET開(kāi)發(fā)經(jīng)驗(yàn),熟練使用SQL數(shù)據(jù)庫(kù),有歐美項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)者優(yōu)先;⒉大學(xué)英語(yǔ)四級(jí)以上,具有較強(qiáng)的聽(tīng)、說(shuō)、讀、寫(xiě)能力,尤其是聽(tīng)、說(shuō)能力;⒊工作認(rèn)真細(xì)致,踏實(shí)肯干,具有較好的團(tuán)隊(duì)協(xié)作精神和溝通能力;良好的邏輯思維,能夠承受一定的工作壓力并可以按時(shí)完成工作且保證質(zhì)量php項(xiàng)目開(kāi)發(fā)⒈使用PHP語(yǔ)言開(kāi)發(fā)互聯(lián)網(wǎng)應(yīng)用程序;⒉網(wǎng)站產(chǎn)品和網(wǎng)站功能模塊的開(kāi)發(fā)與維護(hù);⒊與頁(yè)面設(shè)計(jì)師協(xié)調(diào)溝通,編寫(xiě)部分Javascript和HTML;⒋參與底層MVC框架的編寫(xiě)與維護(hù)。 程序員和軟件工程師的區(qū)別是:軟件工程師不但要有編寫(xiě)程序代碼的能力而且更重要的是要懂得如何去開(kāi)發(fā)一個(gè)軟件,怎樣去學(xué)習(xí)實(shí)際的UI的觀念。就是工廠里面技術(shù)員和工程師的區(qū)別。技術(shù)員是熟練工人,工程師是設(shè)計(jì)者。
luclmars明尼蘇達(dá)
想去google中國(guó)研發(fā)中心的注意了:每個(gè)職位都有詳細(xì)的說(shuō)明,你可以直接發(fā)郵件到職位描述中的郵箱地址,附上簡(jiǎn)歷。同時(shí)在郵件中說(shuō)明你得知google要在北京成立研發(fā)中心的大好消息,而你心儀google已久,愿意為之奮斗終身。只要給你一個(gè)支點(diǎn)你將撬動(dòng)地球云云……信每天發(fā)一封,直到你收到回復(fù)為止。如果被拒,下一次你就改說(shuō)你心儀李開(kāi)復(fù)已久,愿意為止效犬馬之勞。只要給你一個(gè)支點(diǎn)你將撬動(dòng)地球云云……信每天發(fā)一封,直到你收到回復(fù)為止。如果被拒,下一次你就說(shuō)你心儀微軟已久,愿意幫助微軟撬動(dòng)地球,但如果google能開(kāi)一個(gè)higher的工資的話,你可以考慮換一個(gè)支點(diǎn)云云……信每天發(fā)一封,直到你收到回復(fù)為止。如果還是被拒,你就可以在你的電腦系統(tǒng)盤(pán)搜索一個(gè)叫做hosts的文件,在里面添加這一行:“ ”,保存關(guān)閉,就萬(wàn)事大吉了!---------------------9月18日國(guó)際報(bào)道 如果你想為Google工作,你最好有喜歡數(shù)學(xué)公式以及謎題的癖好。搜索巨頭Google正在將它的奇思妙想用于招募新員工的工作上面。Google已經(jīng)公布了一個(gè)謎題的公告,以及兩個(gè)頁(yè)面的招聘廣告宣傳,內(nèi)有一些字謎問(wèn)題,它的“Google實(shí)驗(yàn)室能力傾向測(cè)試” 已經(jīng)在幾個(gè)技術(shù)雜志上進(jìn)行了刊登。Google的一位發(fā)言人Eileen Rodriguez說(shuō):“我們總是對(duì)發(fā)現(xiàn)具有創(chuàng)新精神的人才很感興趣,因此,我們總是試圖用新的方法來(lái)發(fā)現(xiàn)人才。”上周五,Google的股票價(jià)格漲到了145美元每股,8月,Google上市時(shí)的股票價(jià)格為85美元每股。Rodriguez說(shuō):“我們只想吸引一些不同階層的人。”21個(gè)問(wèn)題中包括以下一些問(wèn)題:寫(xiě)一句俳句來(lái)描述搜索流量季節(jié)性預(yù)測(cè)的可能方法。用三種顏色為一個(gè)二十面體涂顏色,每面都要覆蓋,你能夠用多少種不同的涂法?你將選擇哪三種顏色?這是一個(gè)我們故意留給你你空白,請(qǐng)?zhí)畛湟恍┠阆矚g的東西。這不是Google第一次別出心裁的招聘新員工,去年夏天,Google在硅谷公布了一道數(shù)學(xué)難題,用以發(fā)現(xiàn)人才。當(dāng)人們回答完這道數(shù)學(xué)難題,一道更難的問(wèn)題又出來(lái)了,如果應(yīng)聘的人都解答完了這兩道問(wèn)題,頁(yè)面會(huì)指向Google搜索網(wǎng)站。另外一次,Google在一本知名的Linux刊物上刊登了一幅畫(huà),上面有一臺(tái)自動(dòng)販賣(mài)機(jī),Google要求應(yīng)聘者設(shè)計(jì)一種販賣(mài)模式,這種模式當(dāng)中,每件物品的標(biāo)簽的數(shù)字是以4-或者5-開(kāi)頭,而機(jī)器鍵盤(pán)上的數(shù)字只有 1-和2-。Google每年還承辦一個(gè)名為“Code Jam”的活動(dòng),參賽者要為一系列軟件問(wèn)題設(shè)計(jì)出最好的解決方案。今年的Code Jam比賽于上周五開(kāi)始。
石門(mén)小可愛(ài)
1. Google有什么職位?官網(wǎng):Teams and Roles分三類(lèi): Build Cool Stuff: 硬件、軟件工程師,產(chǎn)品經(jīng)理,Google X等。Sell Cool Stuff: 銷(xiāo)售,運(yùn)營(yíng)等。Do Cool Stuff: 行政,法律,市場(chǎng),招聘,公關(guān),人事,財(cái)務(wù)等。具體職能上 Teams and Roles 看。2. Google在公開(kāi)招聘什么職位?選擇地點(diǎn)或職位就可以搜索出所有公開(kāi)招聘的職位。用戶友好得一塌糊涂,職位介紹詳細(xì)準(zhǔn)確得一塌糊涂。在如linkedin等招聘/職業(yè)社交網(wǎng)站上會(huì)出現(xiàn)部分Google公開(kāi)招聘的職位。我個(gè)人感覺(jué)通常這些在其他網(wǎng)站顯示的職位的空缺會(huì)比較多,或是Google需要迅速fill head count,所以招的人會(huì)比較多。有時(shí)有些職位不會(huì)放出公開(kāi)招聘,而是只會(huì)在內(nèi)網(wǎng)上顯示。換句話說(shuō),必須要有內(nèi)部推薦才能報(bào)名。這種情況就要看平常的connection和社交了,有沒(méi)內(nèi)部人在看到這些職位時(shí)會(huì)想到。3. Google有內(nèi)部推薦計(jì)劃嗎?有。Google非??粗?,并且鼓勵(lì)Referral。員工只要成功Refer一位最終被錄取的candidate,就能得到獎(jiǎng)勵(lì) 。換句話說(shuō),如果有認(rèn)識(shí)在Google工作的人,而同時(shí)認(rèn)為確實(shí)是有這個(gè)能力的話,通常Google員工是很樂(lè)意幫忙Refer的。所以說(shuō),如果真的很想來(lái)Google工作,可以多發(fā)展這方面的社交。比如linkedin上搜索校友,或是參加Google的校招活動(dòng)認(rèn)識(shí)recruiter和/或員工,實(shí)在不行在知乎也能捉都好幾個(gè)。Google內(nèi)部推薦的人需要填Referral form,上面有很多類(lèi)似他會(huì)怎么評(píng)價(jià),怎么證明的領(lǐng)導(dǎo)才能等問(wèn)題 (抱歉,具體問(wèn)題不能公布)。如果要找人refer的話,確保讓充分了解自己,這是對(duì)雙方的負(fù)責(zé)。4. 內(nèi)部推薦和自己網(wǎng)遞申請(qǐng)有什么不同??jī)?nèi)部推薦很可能會(huì)加速你的申請(qǐng)過(guò)程,但很小可能增加你被錄取的成功率。每天投簡(jiǎn)歷到Google的人那真是people mountain people sea啊。Recruiter每天要看成千上萬(wàn)份通過(guò)網(wǎng)上遞交的簡(jiǎn)歷,看到你的那份時(shí)都不知道猴年馬月了。何況,你真的確定你的簡(jiǎn)歷能在上萬(wàn)份簡(jiǎn)歷里stand out?這時(shí)referral就能幫你了。內(nèi)部規(guī)定recruiter必須在收到referral的一周內(nèi)review你的簡(jiǎn)歷,必須在兩周內(nèi)給出答復(fù)。換句話說(shuō),你插隊(duì)了??墒沁@不能提高你被錄取的成功率,實(shí)力不行的人也只是插隊(duì)被拒。整個(gè)interview和review process都是一樣的。最終決定錄取與否的始終是你的背景,能力,和面試表現(xiàn)。5. 學(xué)渣,GPA很低,有機(jī)會(huì)嗎?有! Google有可能是全世界最不看重GPA的公司了。Google People Op老總 Laszlo Bock自己說(shuō)過(guò),Google通過(guò)多年統(tǒng)計(jì)和研究發(fā)現(xiàn),GPA和個(gè)人成功的correlation極小。鏈接:Google HR Boss Explains Why GPA And Most Interviews Are UselessGoogle最看重的一點(diǎn),自然是 --- 你的能力。至于能力怎么體現(xiàn)?可以通過(guò)GPA體現(xiàn)(專(zhuān)業(yè)能力,學(xué)習(xí)能力)。如果無(wú)法通過(guò)(渣)GPA體現(xiàn),那就通過(guò)其他途徑體現(xiàn)。什么途徑?自己想去。想不到說(shuō)明沒(méi)有。工程師體現(xiàn)的途徑就是你的coding skill。coding skill的體現(xiàn)在與你參加過(guò)的個(gè)人/團(tuán)體項(xiàng)目,github上的協(xié)同項(xiàng)目,學(xué)校的研究項(xiàng)目,面試時(shí)的當(dāng)場(chǎng)表現(xiàn)。其他所有方面幾乎都不重要,唯一重要的就是你的coding skill;能力強(qiáng),Google能包容一切,包括你的GPA,畢業(yè)院校,專(zhuān)業(yè),甚至你不是本科生都無(wú)所謂。非工程師職位,如果是非應(yīng)屆生招聘就看工作經(jīng)歷;如果是應(yīng)屆生招聘,看重的是 soft skills,如溝通能力,領(lǐng)導(dǎo)能力,學(xué)習(xí)能力 - 這點(diǎn)很重要,因?yàn)榛ヂ?lián)網(wǎng)科技是個(gè)極速發(fā)展的行業(yè),一年后的產(chǎn)品和生態(tài)可能跟現(xiàn)在完全徹底不一樣,只有具備高度自學(xué)能力的人才能適應(yīng)。6. 遞完簡(jiǎn)歷后是什么步驟?面試是什么流程?在glassdoor上有大量的信息,都是經(jīng)歷過(guò)面試的人(成功與否)留下的信息。Glassdoor – an inside look at jobs & companies以下訊息皆來(lái)自網(wǎng)絡(luò),請(qǐng)compliance同僚不要找我麻煩 :)通過(guò)最初步的CV Screening (簡(jiǎn)歷篩選)后,會(huì)有大于等于5輪的面試,和3輪的review。沒(méi)有內(nèi)部推薦的話,CV Screening往往是最難的一步。前兩輪通常是telephone screening,一個(gè)來(lái)自你報(bào)的team里的某人,一個(gè)來(lái)自Recruiter,也就是接下來(lái)會(huì)管理你整個(gè)application的人。這兩個(gè)telephone screening很可能是cold call,也就是沒(méi)有預(yù)約的情況下打來(lái)。這意味著你在投簡(jiǎn)歷后的一段時(shí)間內(nèi)都要時(shí)刻準(zhǔn)備著會(huì)被Google的人突然打來(lái)。同時(shí)也意味著你必須對(duì)你的簡(jiǎn)歷熟悉到能順著背,倒著背,跳著背,倒著跳著背.. 這兩次telephone screening的重心會(huì)放在你的簡(jiǎn)歷上 - 一切你寫(xiě)出來(lái)的經(jīng)歷都會(huì)被question followed by question。如果報(bào)的是軟件工程師,很有可能會(huì)讓你馬上在電腦前開(kāi)一個(gè)google doc然后在30分鐘內(nèi)寫(xiě)代碼回答問(wèn)題。Recruiter對(duì)screening的滿意的話,就會(huì)邀請(qǐng)你去最近的Google Office進(jìn)行on-site interview了。通常會(huì)3場(chǎng)面試一起安排在office。不一定每個(gè)interviewer都會(huì)在辦公室,可能3個(gè)interviewer都不在。不在的會(huì)通過(guò)視頻和在辦公室的你進(jìn)行面試。面試官有可能是你將來(lái)的manager,有可能是你將來(lái)的同事,也有可能是其他team的manager。Google希望得到多方面人的意見(jiàn)。面試內(nèi)容:工程師職位會(huì)非常focus在coding skills,會(huì)被考算法,并且會(huì)被要求當(dāng)場(chǎng)用紙筆寫(xiě)代碼回答問(wèn)題。非工程師職位的問(wèn)題就focus在你報(bào)的職位相關(guān)product,knowledge或experience上。具體問(wèn)題要分職位,我不可能全了解,上glassdoor搜索相應(yīng)職位的interview review會(huì)準(zhǔn)確很多。另外,interview時(shí)可能會(huì)問(wèn)一些brain teaser。當(dāng)全部的interview都完成后,recruiter會(huì)聯(lián)系你并問(wèn)你要更多的信息,如推薦信,學(xué)習(xí)成績(jī)單,以及你做過(guò)的經(jīng)歷的證明或補(bǔ)充。每個(gè)interview過(guò)你的人都會(huì)寫(xiě)出他們對(duì)你的feedback,以及打給你一個(gè)分?jǐn)?shù)。Recruiter會(huì)把所有人的feedback和分?jǐn)?shù),和你的簡(jiǎn)歷,補(bǔ)充資料,推薦信等等所有資料整理為一個(gè)package,接著把這個(gè)package發(fā)到美國(guó)總部的3個(gè)committee做review。官網(wǎng)上的 How we hire - Google Careers7. 是誰(shuí)作出錄取/不錄取的決定?Base在美國(guó)的hiring committee。上文說(shuō)到的package會(huì)被發(fā)到committee,committee中人會(huì)定時(shí)開(kāi)會(huì)并討論每一個(gè)被send過(guò)來(lái)的case。前面說(shuō)過(guò)面試官會(huì)打分,平均分低的就直接被刷,平均分中等以上的就會(huì)開(kāi)始case by case討論,直到大家同意這個(gè)case是hire or no hire。無(wú)法統(tǒng)一意見(jiàn)的case可能會(huì)被退回給recruiter,然后recruiter可能會(huì)去collect more information如加多一輪interview。過(guò)了hiring committee的人會(huì)進(jìn)入compensation committee,這些人會(huì)決定要給你怎樣的compensation package啦。最終會(huì)進(jìn)入executive committee,也就是公司的高層老大們。他們會(huì)把所有的information最終review一次,并判斷這個(gè)candidate的quality符合不符合公司長(zhǎng)久的招人質(zhì)量。Exe committee也過(guò)了就大功告成了。recruiter很快就打電話來(lái)了 :)8. 整套流程需要多少時(shí)間?不等,短則2個(gè)月,長(zhǎng)則6個(gè)月以上。9. 應(yīng)該如何準(zhǔn)備面試?LeadershipWe’ll want to know how you’ve flexed different muscles in different situations in order to mobilize a team. This might be by asserting a leadership role at work or with an organization, or by helping a team succeed when you weren’t officially appointed as the KnowledgeWe’re looking for people who have a variety of strengths and passions, not just isolated skill sets. We also want to make sure that you have the experience and the background that will set you up for success in your role. For engineering candidates in particular, we’ll be looking to check out your coding skills and technical areas of You ThinkWe’re less concerned about grades and transcripts and more interested in how you think. We’re likely to ask you some role-related questions that provide insight into how you solve problems. Show us how you would tackle the problem presented--don’t get hung up on nailing the “right” want to get a feel for what makes you, well, you. We also want to make sure this is a place you’ll thrive, so we’ll be looking for signs around your comfort with ambiguity, your bias to action and your collaborative ,建議有心了解面試準(zhǔn)備的同學(xué)上Glassdoor,上面資料更齊全而且更role-related。10.怎樣使我的簡(jiǎn)歷突出?Google對(duì)簡(jiǎn)歷要求不死板。常規(guī)的CV OK,帶有創(chuàng)意的也很能接受。但簡(jiǎn)歷不要超過(guò)一頁(yè)。重點(diǎn)突出你的skills,重點(diǎn)突出你的accomplishment,能用數(shù)據(jù)體現(xiàn)出來(lái)最好!更是有個(gè)哥們,為了得到一份marketing的職位,花了3000美刀做了一個(gè)please hire me的網(wǎng)頁(yè)Google, please hire me. Matthew Epstein.逗逼的是他最終interview后被拒了。結(jié)論就是,creativity有用,可最終要靠還是硬實(shí)力。11. 沒(méi)被錄取,怎么辦?以后還有機(jī)會(huì)嗎?有的。Google會(huì)保留每一個(gè)人的檔案。專(zhuān)門(mén)有一個(gè)招人的team是負(fù)責(zé)找回以前interview過(guò)的人并重新assess。
豆大王zz
谷歌也曾經(jīng)錄用過(guò)一位沒(méi)受過(guò)正規(guī)大學(xué)教育、連本科文憑都沒(méi)有、基本全靠自學(xué)成才的草根碼農(nóng),大家會(huì)不會(huì)覺(jué)得不可思議?但是,這事兒真的可以有——曾就職于谷歌、Square、DoubleHelix 等公司的資深軟件工程師及創(chuàng)業(yè)者大衛(wèi)·比托(DavidByttow)日前撰文介紹了他從一介草根到被谷歌錄用的經(jīng)歷,故事絕對(duì)勵(lì)志!文章摘要: 第一,鼓起勇氣挑戰(zhàn)很牛的事情,做著做著自己也就變牛了。第二,與業(yè)界“大拿”為友,能改變解決問(wèn)題和看待世界的方式。第三,勤能補(bǔ)拙,在大量實(shí)踐中彌補(bǔ)基礎(chǔ)知識(shí)方面的差距。第四,抹去簡(jiǎn)歷中的教育背景,意外得到面試機(jī)會(huì);做足準(zhǔn)備,谷歌面試也能變得樂(lè)趣十足。事實(shí)證明,谷歌對(duì)優(yōu)秀的人才并不完全拘泥于學(xué)歷。其實(shí),我當(dāng)年非常非常想上大學(xué)。我選擇申請(qǐng)加州大學(xué)洛杉磯分校(UCLA),但是很不幸,我在高中的平均績(jī)點(diǎn)(GPA)只有可憐巴巴的 ,所以我也就沒(méi)法被大學(xué)錄取了。然后,我在普渡大學(xué)蓋萊默校區(qū)(PurdueUniversityCalumet)進(jìn)修計(jì)算機(jī)課程,同時(shí)盼望自己有朝一日能順利轉(zhuǎn)學(xué)或者另謀出路。過(guò)了將近兩個(gè)學(xué)期之后,出路來(lái)了——我得到了一個(gè)令人無(wú)法拒絕的錄用通知。第一步:假裝自己很牛,直到真的變牛 上大學(xué)時(shí),我曾經(jīng)給印第安納州格里菲斯市的一家小公司打工,工作內(nèi)容是幫助本地公司建網(wǎng)站,時(shí)薪 12 美元。這份工作與我所夢(mèng)想的未來(lái)職業(yè)相去甚遠(yuǎn),但也不算太糟糕。我埋頭苦干、不說(shuō)大話,把好幾個(gè)項(xiàng)目做得超乎預(yù)期。這為我建立了很好的聲譽(yù),也讓那家公司獲利頗豐。與此同時(shí),我還在并不充裕的業(yè)余時(shí)間里嘗試游戲開(kāi)發(fā)。后來(lái)我孤注一擲,請(qǐng)求公司管理層給我三個(gè)月時(shí)間和一點(diǎn)點(diǎn)錢(qián)來(lái)開(kāi)發(fā)一款能在網(wǎng)上銷(xiāo)售的游戲。我做出了漂亮的電子表格和豐富多彩的圖表,向他們展示了共享軟件模式的原理和游戲的光明“錢(qián)途”。當(dāng)時(shí)我也不大清楚自己在做什么,但他們還是買(mǎi)了我的賬,可能是因?yàn)槲易龅臇|西顏色很漂亮吧。開(kāi)發(fā)了兩個(gè)多月之后,我在網(wǎng)上發(fā)布了一段演示,引起了加州初創(chuàng)企業(yè) CodeFire 的注意,因?yàn)樗麄冏龅囊彩且荒R粯拥奶丈鋼粲螒?,?lèi)似于非 3D 的 SubSpace。但引起關(guān)注未必就是好事——很不幸,他們向我發(fā)出了勒令停止通知函。于是我也只能回復(fù)曰:“沒(méi)問(wèn)題,我會(huì)到此為止——前提是你們得雇我開(kāi)發(fā)你們的游戲?!彼麄兓匾砸环蒌浻猛ㄖ?,而我笑納了它。注意:這家公司持有這款游戲的原始版權(quán),而我在離職前也按照規(guī)定提前三周通知了老東家。第二步:與“大拿”交朋友 這或許是你能做的最重要的事情之一——找到你們行業(yè)中的大拿,讓他們做你的導(dǎo)師,切記學(xué)無(wú)止境。在 DoubleHelix 工作時(shí),我遇到的大拿是內(nèi)森·亨特(NathanHunt),他是我見(jiàn)過(guò)的最聰明、最謙遜的牛人之一,而且他對(duì)我提出的所有問(wèn)題都極具耐心,無(wú)論這些問(wèn)題有多么初級(jí)。我成百上千次走進(jìn)他的辦公室,隨意提出諸如“我如何才能把一個(gè)旋轉(zhuǎn)矩陣順利插入另一個(gè)?”之類(lèi)的問(wèn)題。多年之后,他比我晚一個(gè)月加入了谷歌。我的每一位導(dǎo)師都在一定程度上改變了我解決問(wèn)題或看待世界的方式,我在此就不一一贅述了。第三步:彌補(bǔ)差距 我沒(méi)有正式的計(jì)算機(jī)學(xué)位,因此我明白自己缺乏很多基本知識(shí),例如我曾經(jīng)用物理引擎解決一個(gè)動(dòng)態(tài)編程問(wèn)題,結(jié)果總也不成功。為了彌補(bǔ)這些差距,我實(shí)踐過(guò)我所聽(tīng)聞或讀到過(guò)的幾乎所有最常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)和算法。你肯定能找到自己需要的信息,但是通過(guò)觀察“知其然”與通過(guò)實(shí)踐“知其所以然”之間存在著巨大的差距。隨著時(shí)間的推移,你需要做到以下事情:1. 精通C、C++、Objective-C、Java、PHP、Python 或 Ruby 當(dāng)中至少一門(mén)編程語(yǔ)言,熟練使用至少一種其他語(yǔ)言,并且熟悉 Scala、Haskell 或 Lisp。2. 學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),實(shí)踐大多數(shù)常用數(shù)據(jù)結(jié)構(gòu),了解它們的復(fù)雜性。3. 解決編程問(wèn)題,多看多練多思考。4. 構(gòu)建自己的已完成(未完成)項(xiàng)目作品集(例如編程框架、移動(dòng)或 Web 應(yīng)用、小游戲,等等)第四步:找到自信 離開(kāi)印第安納六年后,我已經(jīng)在多個(gè)平臺(tái)上推出了大約 6 款游戲。我開(kāi)始感到無(wú)聊,需要尋求新的挑戰(zhàn)。我申請(qǐng)了谷歌的職位,覺(jué)得被谷歌雇傭能讓我成為“真正的工程師”——對(duì)于我這個(gè)沒(méi)有一紙文憑的人來(lái)說(shuō),這就是我為之奮斗已久的理想。但是,我一直沒(méi)有收到谷歌的回音,而我對(duì)此并不感到驚訝。一年之后,我重新提交了自己的簡(jiǎn)歷,但是這一次索性把“教育背景”一欄整個(gè)兒去掉了。令人哭笑不得的是,一名招聘人員居然打來(lái)了電話并為我安排了一次技術(shù)方面的電話面試。我問(wèn)她能否把電話面試安排在兩周之后,她同意了。我需要那段時(shí)間——我分秒必爭(zhēng)地臨時(shí)抱佛腳,最大限度地向自己的腦袋里填裝各種算法和數(shù)據(jù)結(jié)構(gòu),每天編程 12 到 14 個(gè)小時(shí),解了數(shù)百道編程題目。我如癡如醉地投入其中,直到我對(duì)谷歌面試的恐懼感變成了自信和興奮。我依然記得在谷歌面試過(guò)程中遇到的每一個(gè)人,與他們打交道實(shí)在是一種樂(lè)趣。面試官們說(shuō)起話來(lái)風(fēng)趣幽默,而我相信他們一定看到了我的興奮和對(duì)面試問(wèn)題的期待。以下是我遇到的一些面試題目: 1)給出一組二維點(diǎn),計(jì)算出它們的 skyline。此題很簡(jiǎn)單,解法有好幾種,而我使用了一種叫做“最大堆”(maxheap)的常用數(shù)據(jù)結(jié)構(gòu)。3)講一講你最看重的軟件優(yōu)點(diǎn)。這是一次“開(kāi)放性”討論面試,我講到了各種測(cè)試以及它們發(fā)揮價(jià)值的時(shí)候(例如單元、整合、驗(yàn)收),還講到了利于代碼可維護(hù)性的一致風(fēng)格,等等。這些內(nèi)容能在《CodeComplete》和《EffectiveJava》等圖書(shū)中找到。我真的非常享受每一輪面試和解答各種題目的過(guò)程。如果我不是有備而來(lái),情況肯定就會(huì)大不相同。面試之后,我自我感覺(jué)很好,但是我聽(tīng)說(shuō)即便招聘委員會(huì)最終決定發(fā)放錄用通知,也需要 CEO 拉里·佩奇親自簽字才有效。我很擔(dān)心他一看到我在教育背景方面的不足,我就立馬完蛋了。但是,這樣的悲劇終究沒(méi)有發(fā)生——一天中午,我在圣克拉拉市(SantaClara)吃壽司時(shí)接到了電話,然后欣喜若狂地接受了錄用通知。從那天起,我終于可以確信我再也不用回學(xué)校念書(shū)了。正如孫子曰:“是故勝兵先勝而后求戰(zhàn),敗兵先戰(zhàn)而后求勝。”注:我在谷歌度過(guò)了精彩非凡的五年,作為一名工程師不斷學(xué)習(xí)和成長(zhǎng),但是現(xiàn)在我已經(jīng)不在谷歌工作了。
優(yōu)質(zhì)工程師考試問(wèn)答知識(shí)庫(kù)