【廣告】
“你們采用的軟件開(kāi)發(fā)流程是什么?”
無(wú)論實(shí)際的細(xì)節(jié)是什么,流程對(duì)于軟件工程都至關(guān)重要。至于哪些東西對(duì)于優(yōu)化流程做出了貢獻(xiàn)可能大家會(huì)有不同的看法,但僅就項(xiàng)目的工作方式達(dá)成一致就能將混亂很小化并且確保每個(gè)人都能達(dá)成共識(shí)。
危險(xiǎn)信號(hào):“我們的流程受到了自由風(fēng)格的爵士的影響?!?→ 很有可能整個(gè)部門(mén)都處在救火模式,總是不斷地從緊急跳到另一個(gè)緊急狀態(tài)而缺乏任何明確的目標(biāo)。
“你們是如何處理技術(shù)債的?”
技術(shù)債是過(guò)時(shí)技術(shù)以及代碼庫(kù)中臨時(shí)應(yīng)急的解決方案的累積。處理好技術(shù)債對(duì)于代碼的長(zhǎng)期健康很重要,這件事情應(yīng)該持續(xù)地做。
危險(xiǎn)信號(hào):“我們只關(guān)注新功能?!?→ 他們的代碼庫(kù)一團(tuán)糟或者很快就會(huì)一團(tuán)糟。
編碼的工作你不會(huì)干太多的
說(shuō)出來(lái)也許有點(diǎn)令人吃驚,但是大多數(shù)時(shí)候你都不用寫(xiě)新代碼,而是相反,要做:調(diào)試讀已有代碼開(kāi)會(huì)或者寫(xiě)電子郵件研究該怎么做以便不用寫(xiě)代碼因此編碼以外的技能對(duì)你的職業(yè)一樣關(guān)鍵。
調(diào)試和閱讀代碼調(diào)試遠(yuǎn)不僅僅是用打印語(yǔ)句。一切使用廣泛的語(yǔ)言和技術(shù)棧都有各種強(qiáng)大的工具。薪水包括哪些內(nèi)容,除了工資,是不是有雙薪、獎(jiǎng)金、各種補(bǔ)貼、股權(quán)股份。學(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)的工具來(lái)探索代碼。理解產(chǎn)品。你會(huì)對(duì)居然有這么多開(kāi)發(fā)者在試圖“修復(fù)”軟件前不知道軟件應(yīng)該是怎么工作的感到驚訝。先看看文檔再說(shuō)吧。
一般來(lái)說(shuō),在系統(tǒng)的設(shè)計(jì)范圍之內(nèi),吞吐量隨系統(tǒng)的并發(fā)用戶(hù)數(shù)的增加呈現(xiàn)增加趨勢(shì),也就是說(shuō)你客戶(hù)端來(lái)多少請(qǐng)求數(shù)系統(tǒng)吃(處理)多少請(qǐng)求數(shù);軟件測(cè)試已成為一個(gè)專(zhuān)業(yè),需要運(yùn)用專(zhuān)門(mén)的方法和手段,需要專(zhuān)門(mén)人才和專(zhuān)家來(lái)承擔(dān)。當(dāng)超出這個(gè)范圍時(shí)有兩種情況,一種是系統(tǒng)只能處理這么多,超過(guò)這個(gè)數(shù)系統(tǒng)不接收了,后隨著并發(fā)用戶(hù)數(shù)的增多吞吐量是一個(gè)水平的直線;
還有一種情況是不管來(lái)多少系統(tǒng)都接收后導(dǎo)致系統(tǒng)吞吐量下降甚至系統(tǒng)崩潰。如果只是人家在挑我,我無(wú)論如何都想進(jìn)入這家企業(yè),那你可悠著點(diǎn),別把面試官問(wèn)毛了。并發(fā)用戶(hù)數(shù)是客戶(hù)端單位時(shí)間內(nèi)對(duì)服務(wù)器端施加的壓力,具體能不能接受并處理要看被測(cè)系統(tǒng)的吞吐量,而吞吐量是被測(cè)系統(tǒng)單位時(shí)間內(nèi)處理的請(qǐng)求數(shù)或者說(shuō)單位時(shí)間內(nèi)處理的字節(jié)數(shù);一個(gè)著重于客戶(hù)端的操作即測(cè)試手段,一個(gè)著重于應(yīng)用系統(tǒng)的處理能力即查看對(duì)象;(上面的討論沒(méi)有考慮兩者的單位,如一個(gè)用戶(hù)同時(shí)有多個(gè)請(qǐng)求情況)