魔幻的2020年,請程序員們收下二哥這份秋招建議!

金九銀十,又到一年秋招季。這場規(guī)模巨大的校園招聘,承載了近千萬畢業(yè)生的夢想。不過,在這特殊的2020年,這場秋招也變得非比尋常。
本周,我們公司的校園招聘也正式啟動了,我擔(dān)任了3天的二面面試官。這是我畢業(yè)8年后,第一次以另外一種身份參與到秋招中。
雖然沒有應(yīng)聘者的那種壓力感,卻能深深感受到他們身上的緊張、誠摯和渴望,當(dāng)年自己參與秋招的畫面也歷歷在目,甚是感慨。
這篇文章,我將結(jié)合自己的親身感受,從面試官的角度給出些建議,希望對正在參與秋招的莘莘學(xué)子們有所幫助。
—?1?—
—?2?—

“一個單鏈表,從高位指向低位存儲一個大數(shù),每個節(jié)點表示這個大數(shù)的其中一位(取值范圍從0到9)。題目要求:對這個大數(shù)進行加1,輸入和輸出都是單鏈表,時間復(fù)雜度和空間復(fù)雜度盡可能低。

候選人:這題簡單,遍歷到最后一位加1就行!
面試官:你再想想,還有什么情況沒考慮到?
候選人:哦哦,最后一位如果是9,要處理進位問題,我再想想.....
候選人:我能用數(shù)組表示嗎?這樣進位就好處理了
面試官:那你數(shù)組大小怎么定呢?
候選人:嗯... 我可以先遍歷鏈表,得到鏈表長度
面試官:然后呢?
候選人:那就簡單了,鏈表轉(zhuǎn)成數(shù)組后,先對數(shù)組加1,然后再將數(shù)組轉(zhuǎn)成鏈表返回就行。
面試官:空間復(fù)雜度太高了,有更好的解法沒有?
候選人:我再想想....
候選人:能給點提示嗎?
面試官:鏈表是從高位指向低位的,但是進位是從低位到高位的,如何解決這個方向不一致的問題呢?你朝這個角度想想
候選人:哦,我知道了,可以將鏈表反轉(zhuǎn)

變量命名和方法命名體現(xiàn)了你的編碼習(xí)慣,一定要注意規(guī)范性,做到見名知意。
將重復(fù)性的代碼封裝成子方法,比如上面的鏈表反轉(zhuǎn)。
復(fù)雜邏輯拆解成多步,每個步驟封裝成獨立的方法,方便維護和閱讀。
可以適當(dāng)加些注釋,對特殊邏輯進行解釋。
寫完代碼,一定要寫個UT或者Main方法,測試下各種case,而不是等面試官提示你寫測試用例時才想起來。
Talk is cheap, show me the code. 編碼能力是真正拉開應(yīng)屆生差距的考察點。因為Coding的過程能充分體現(xiàn)你的基本功和邏輯思維,而這兩點恰恰是面試官判斷候選人是否有潛力的重要依據(jù)。

—?3?—
5、讓面試官給你建議:秋招是一場持久戰(zhàn),面試也看緣分,沒面好不代表你就不行。如果能認(rèn)識到這一點,在最后的提問環(huán)節(jié),你可以讓面試官針對你的表現(xiàn)給些建議,這是你越面越順的最好方法。
—?4?—
------------------
CSDN:沉默王二
bilibili:沉默王二
知乎:沉默王二
這是一個有顏值卻假裝靠才華茍且的程序員,你知道,他的文章風(fēng)趣幽默,讀起來就好像花錢一樣爽快。
