【廣告】
編碼的工作你不會(huì)干太多的
說(shuō)出來(lái)也許有點(diǎn)令人吃驚,但是大多數(shù)時(shí)候你都不用寫新代碼,而是相反,要做:調(diào)試讀已有代碼開會(huì)或者寫電子郵件研究該怎么做以便不用寫代碼因此編碼以外的技能對(duì)你的職業(yè)一樣關(guān)鍵。
調(diào)試和閱讀代碼調(diào)試遠(yuǎn)不僅僅是用打印語(yǔ)句。隨著我們國(guó)家的多元化發(fā)展以及不斷地接軌全世界,測(cè)試行業(yè)必將是國(guó)際化的高薪行業(yè)。一切使用廣泛的語(yǔ)言和技術(shù)棧都有各種強(qiáng)大的工具。學(xué)會(huì)使用它們,因?yàn)檫@些會(huì)讓調(diào)試輕而易舉,節(jié)省你無(wú)數(shù)的時(shí)間。理解代碼庫(kù)。大多數(shù)技術(shù)棧都有某種代碼圖譜生成工具來(lái)幫助你理解代碼庫(kù)的結(jié)構(gòu)。企業(yè)級(jí)的 IDE 通常都內(nèi)置了那種功能。你還可以利用 ReSharper、grep 或者 Sourcegraph 之類的工具來(lái)探索代碼。理解產(chǎn)品。你會(huì)對(duì)居然有這么多開發(fā)者在試圖“修復(fù)”軟件前不知道軟件應(yīng)該是怎么工作的感到驚訝。先看看文檔再說(shuō)吧。
軟件測(cè)試新起點(diǎn)、高薪工作任你挑
每次面試的時(shí)候,面試官都會(huì)在后給面試者一些時(shí)間,來(lái)問(wèn)問(wèn)題。這是個(gè)非常好的機(jī)會(huì),能按照自己的思路,來(lái)了解職位、技術(shù)、企業(yè)文化、福利待遇、企業(yè)狀況和前景等情況,以彌補(bǔ)前面面試過(guò)程中沒(méi)有了解到的情況。
但較早以前面試準(zhǔn)備不太充分,雖然也能地問(wèn)上一些問(wèn)題,但掛一漏萬(wàn),每次回來(lái)后,總覺(jué)得對(duì)企業(yè)、對(duì)職位沒(méi)有完全了解清楚,不能依此作出很理性的決斷。去?還是不去?往往還是靠大概其的感覺(jué)而定。
后來(lái),我總結(jié)出了一張問(wèn)題表,等讓我問(wèn)問(wèn)題的時(shí)候,可以有針對(duì)性地提出來(lái),來(lái)進(jìn)一步了解職位和企業(yè)。今天又把它拿出來(lái),復(fù)習(xí)復(fù)習(xí),同時(shí)也跟大家分享一下,看看大家還有那些問(wèn)題會(huì)問(wèn),也取取經(jīng)。
a) 職責(zé)和任職要求。
這大概是核心的問(wèn)題,如果你的職位有清晰詳細(xì)的職位描述(JD),可能這就不是個(gè)問(wèn)題了。防御性編碼本身就是一個(gè)課題,不過(guò)其要義是:你必須確保自己所寫的類和方法的不恰當(dāng)使用不會(huì)導(dǎo)致你的代碼搞得軟件都崩潰。但我曾經(jīng)任職的一個(gè)職位,因?yàn)闆](méi)有清晰詳細(xì)的職位描述,我在任職前也忽略了這一點(diǎn),致使我在任職期間,感覺(jué)很別扭,總感覺(jué)這不是我當(dāng)初想象中職位,是個(gè)不適合我的職位。
b) 前任去向和離職原因。
問(wèn)這個(gè)問(wèn)題的目的是看看這個(gè)職位是不是個(gè)棘手的職位,如果你的前任因?yàn)檫@個(gè)職位很難做,遇到了這樣那樣的問(wèn)題而無(wú)法解決,而離開,你就要謹(jǐn)慎了,想想你自己是不是有能力超越你的前任。做好戰(zhàn)斗準(zhǔn)備如果你考慮做軟件過(guò)程,確保了解一些最常見(jiàn)的編程面試問(wèn)題,比如“FizzBuzz”:寫一個(gè)程序打印從1到100的數(shù)字。但是,如果真是這種情況,面試官往往在此問(wèn)題上含糊其辭,說(shuō)什么這是個(gè)新職位,或者說(shuō)前任自己去創(chuàng)業(yè)開公司了等等。你的對(duì)策就是“刨根問(wèn)底”,寄希望從細(xì)枝末節(jié)上嗅出一點(diǎn)味道。
2. 關(guān)于技術(shù) a) 開發(fā)語(yǔ)言和技術(shù)。
你可能在自己的簡(jiǎn)歷里寫你會(huì)十幾種語(yǔ)言,精通上百種技術(shù)(盡管有些你可能只會(huì)寫“Hello World”),但你肯定還是傾向于運(yùn)用自己熟悉的語(yǔ)言和技術(shù)來(lái)工作。所以很好還是問(wèn)清楚。
b) 開發(fā)平臺(tái)。
我本人熟悉并且喜歡Windows平臺(tái)開發(fā),如果做其他的,我會(huì)感到不舒服。所以也會(huì)問(wèn)清楚。
c) 開發(fā)工具(包括:IDE、SC、DTS、QA、Process等工具)。
這個(gè)并不是個(gè)主要的問(wèn)題,但是如果你有所了解,碰巧你后面還有多輪面試,你可以事先做些功課,準(zhǔn)備準(zhǔn)備,不至于被人問(wèn)住。
d) 系統(tǒng)構(gòu)架。
了解系統(tǒng)構(gòu)架,一方面可以事先了解你將來(lái)要工作在什么樣的構(gòu)架下,另一方面,可以向面試官展現(xiàn)一下你更關(guān)注宏觀、全局的問(wèn)題,這也是作為管理者的軟素質(zhì)的表現(xiàn)。