<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 4058字,需瀏覽 9分鐘

           ·

          2020-09-19 10:47

          金九銀十,又到一年秋招季。這場規(guī)模巨大的校園招聘,承載了近千萬畢業(yè)生的夢想。不過,在這特殊的2020年,這場秋招也變得非比尋常。

          本周,我們公司的校園招聘也正式啟動了,我擔任了3天的二面面試官。這是我畢業(yè)8年后,第一次以另外一種身份參與到秋招中。

          雖然沒有應聘者的那種壓力感,卻能深深感受到他們身上的緊張、誠摯和渴望,當年自己參與秋招的畫面也歷歷在目,甚是感慨。

          這篇文章,我將結(jié)合自己的親身感受,從面試官的角度給出些建議,希望對正在參與秋招的莘莘學子們有所幫助。

          ?1?

          毒打的就業(yè)形勢
          一場疫情,開啟了魔幻的2020年。
          很多學生真正體會了一把史無前例的 “云” 課堂、“云” 畢業(yè)。
          但是,疫情帶來的影響絕不僅僅只是上課形式或者畢業(yè)儀式的改變,緊接著的就業(yè)影響才是這場特殊 “成人禮”?真正的考驗。
          從我面試的候選人來看,能明顯感受到兩點變化:
          1、絕大部分人都缺少實習經(jīng)歷
          我問了幾個候選人,都說因為疫情沒法參加實習。放在往年,實習經(jīng)歷是企業(yè)招人時很看重的點。
          尤其對于程序員這個職業(yè),非常強調(diào)實戰(zhàn)。提前經(jīng)歷過實習以及生產(chǎn)項目歷練的候選人,他們的編程能力以及對技術(shù)的理解更能接近企業(yè)的要求。
          另外,一段亮眼的實習經(jīng)歷通常也是拿 special offer 的必備條件,但是幾天面試下來,沒有一個候選人能達到這個水平。
          2、競爭激烈,國內(nèi)外名校畢業(yè)生都在廣撒網(wǎng)
          參加面試的候選人絕大部分都是一本,而且將近一半是211/985碩士,這一點挺出乎我意料的,畢竟我們公司只能算是二線的互聯(lián)網(wǎng)公司。
          我問其中一個985碩士背景的候選人,為什么會選擇我們公司?答案很現(xiàn)實:因為整體形勢不太好,只要有點名氣的一二線互聯(lián)網(wǎng)公司他都會海投。
          另外,還有一個就讀澳洲名校碩士的候選人,因為海外疫情嚴重,也打算回國發(fā)展了。
          從這兩點來看,今年的就業(yè)形勢確實比較嚴峻。據(jù)統(tǒng)計,參與今年秋招的大軍預計在1千萬左右,人數(shù)達到新高,但是絕大部分互聯(lián)網(wǎng)公司并沒有擴招的趨勢,可見競爭之激烈。
          在這個最難的畢業(yè)季,要想拿到一個好offer著實不易,務必認清現(xiàn)狀,同時做好充分準備。

          ?2?

          面試到底看重的是什么?
          雖然就業(yè)形勢很嚴峻,但是公司招人的標準只會更高,因為供遠大于求。對于應屆生來說,要考察的內(nèi)容主要包括以下幾個方面:

          面試時重點看的還是計算機理論、算法能力以及代碼功底,框架和項目只是錦上添花的考察項。
          下面,我以一道實際的編程題為例,同時結(jié)合候選人的答題過程,詳細地聊一聊面試官通常是如何判斷應屆生素質(zhì)的?希望讓參與秋招的你有所啟發(fā)。

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

          對于刷過leetcode的同學來說,這道編程題真心不難,而且解法非常多,我覺得還比較適合應屆生。
          但是,就是這樣一道普通的程序題,居然刷掉了將近50%的候選人,并且這批人都是已經(jīng)通過筆試和第1輪技術(shù)面的。
          下面按照解題的完整過程,我說下面試中的重點。
          1、思考解法
          題目給出來后,我會跟候選人確認下是否完全理解題目了,然后給1-2分鐘時間讓對方思考下解法。這個環(huán)節(jié)有幾位候選人的表現(xiàn)讓我印象深刻。

          候選人:這題簡單,遍歷到最后一位加1就行!

          面試官:你再想想,還有什么情況沒考慮到?

          候選人:哦哦,最后一位如果是9,要處理進位問題,我再想想.....

          面試官說完題目后,你不假思索就開始說解法,這種其實是做算法題時的大忌,很容易讓面試官覺得你是一個沒有思考力的人。

          候選人:我能用數(shù)組表示嗎?這樣進位就好處理了

          面試官:那你數(shù)組大小怎么定呢?

          候選人:嗯... 我可以先遍歷鏈表,得到鏈表長度

          面試官:然后呢?

          候選人:那就簡單了,鏈表轉(zhuǎn)成數(shù)組后,先對數(shù)組加1,然后再將數(shù)組轉(zhuǎn)成鏈表返回就行。

          大約有1/3的候選人會先想到這種最常規(guī)的解法,也有人用ArrayList或者Stack的,其實底層都是數(shù)組。
          很顯然,這種解決并不是最優(yōu)的,空間復雜度太高,然后我會引導他們思考更優(yōu)的解法。

          面試官:空間復雜度太高了,有更好的解法沒有?

          候選人:我再想想....

          候選人:能給點提示嗎?

          面試官:鏈表是從高位指向低位的,但是進位是從低位到高位的,如何解決這個方向不一致的問題呢?你朝這個角度想想

          候選人:哦,我知道了,可以將鏈表反轉(zhuǎn)

          部分候選人在聽到提示后,基本能想到 “鏈表反轉(zhuǎn)” 的解法了,當然也有想不出來的,這種我會直接告訴他解法,然后看他在coding階段是否有突出的表現(xiàn)。
          因為這個題目本身難度不大,鏈表反轉(zhuǎn)基本是應屆生們信手拈來、倒背如流的題目。我這個題只是在此基礎上 “拐了一個彎”?而已,但是確實難倒了一些人。因此,建議應屆生們:刷題有必要,但是一定要懂得靈活變通,不要寄希望于遇到原題。
          前面提到這個題的解法很多種,比如:可以不反轉(zhuǎn)鏈表,而是用遞歸法;最聰明的解法是記錄最后一個不是9的節(jié)點,然后處理該節(jié)點和最后一個節(jié)點之間的加1就行。
          在我面試的候選人當中,大概有50%的人能在沒有提示的情況下給出解法,還有少部分人提示后能想到解法。
          2、開始編碼
          編碼環(huán)節(jié)是我比較關(guān)注的,候選人在IDE中直接編碼,并將屏幕共享給我,我會全程觀察他們的coding過程。
          先來看一個候選人的代碼,然后說下我的建議。
          上面這份50行左右的代碼,是一個1面表現(xiàn)還不錯的候選人花了15分鐘寫完的,而且這是我從所有候選人中挑出來的質(zhì)量偏中上的代碼(是不是有點驚訝?)
          站在面試官的角度評價這份代碼,除了程序的正確性以外,我?guī)缀跽也坏狡渌咙c。下面幾點我覺得是應屆生們同樣需要重視的:
          • 變量命名和方法命名體現(xiàn)了你的編碼習慣,一定要注意規(guī)范性,做到見名知意。

          • 將重復性的代碼封裝成子方法,比如上面的鏈表反轉(zhuǎn)。

          • 復雜邏輯拆解成多步,每個步驟封裝成獨立的方法,方便維護和閱讀。

          • 可以適當加些注釋,對特殊邏輯進行解釋。

          • 寫完代碼,一定要寫個UT或者Main方法,測試下各種case,而不是等面試官提示你寫測試用例時才想起來。

          Talk is cheap, show me the code. 編碼能力是真正拉開應屆生差距的考察點。因為Coding的過程能充分體現(xiàn)你的基本功和邏輯思維,而這兩點恰恰是面試官判斷候選人是否有潛力的重要依據(jù)

          3、調(diào)試程序
          調(diào)試環(huán)節(jié)也是個很好的面試考察點,能判斷候選人定位問題和解決問題的能力。
          這3天我面試的候選人,居然沒有一位能一次性寫出正確的代碼,這一點當然跟絕大部分人不寫測試代碼或者測試case覆蓋不全有關(guān)。
          另外就是,有一部分候選人的調(diào)試過程真的很讓人著急,我說幾個具體case:
          第1種,不會先拆分成大的步驟去定位問題,而是單步調(diào)試。比如你用反轉(zhuǎn)鏈表的解法,基本是以下3步:
          比較好的思路是將這3步的結(jié)果打印出來,看下是否符合預期,這樣1個復雜問題相當于拆解成3個子問題了,然后排除法定位即可。
          第2種,明顯的錯誤看不出來。比如:遍歷鏈表時,指針沒指向下一個節(jié)點引起了死循環(huán),導致程序結(jié)束不了,有候選人一度懷疑自己的IDE出問題了,還重啟了一把IDE。
          第3種,改完一個BUG又引入了新的BUG。鏈表節(jié)點全是9的情況是很多候選人沒覆蓋到的,需要再新加一個節(jié)點,有不少人在解決這個問題時又引入了新BUG,但是沒有意識去重跑之前通過的case。
          總之,調(diào)試過程也是一個很重要的環(huán)節(jié),它是你對錯誤代碼進行補救的機會,首先要調(diào)整好心態(tài),其次是注重方
          關(guān)于調(diào)試,我的建議是:加關(guān)鍵日志進行打印,先定位到出問題的代碼塊或者子方法,然后再仔細審閱代碼或者單步調(diào)試。另外,改完一部分代碼后,一定要重新跑一下之前通過的測試case。

          ?3?

          給秋招同學的幾點建議
          希望上面這道編程題的還原過程能讓你有所啟發(fā),下面我再總結(jié)下其他參考建議:
          1、良好的面試環(huán)境很重要:因為疫情原因,絕大部分秋招都是遠程視頻面試,因此一定要有一個安靜且整潔的面試空間;其次需要確保網(wǎng)絡暢通,不會出現(xiàn)卡頓情況;再次,電腦上有編程環(huán)境,除非你裸寫代碼的能力很強,可以不依賴IDE.
          2、注重溝通技巧和效率:開場的自我介紹一般是用來暖場的,如何快速說出自己的優(yōu)勢和成績很重要,切忌對照簡歷說太多無用的細節(jié)。另外,問答環(huán)節(jié)聽清楚題目很重要,如果有疑問一定要及時確認,避免答非所問。
          3、注重細節(jié),而不是差不多:細節(jié)決定成敗,要做到脫穎而出,一定要精益求精。計算機的基礎知識,不建議死記硬背,而是真的吃透了,你的回答代表你的思考過程,而不是記憶過程,最好能說出你自己的理解。
          4、展示積極和真誠的一面:遇到不會的問題時,不要輕易說放棄,而是積極去思考或者讓面試官給你適當?shù)奶崾尽F浯危瑳]必要偽裝或者夸大自己的成績,而是盡量展示出你真正理解的東西以及你對這個行業(yè)的熱愛,自信和真誠很重要。

          5、讓面試官給你建議:秋招是一場持久戰(zhàn),面試也看緣分,沒面好不代表你就不行。如果能認識到這一點,在最后的提問環(huán)節(jié),你可以讓面試官針對你的表現(xiàn)給些建議,這是你越面越順的最好方法。

          ?4?

          寫在最后
          回想8年前自己參與秋招的過程,做夢都是offer。
          一個鐘意的offer背后,不僅僅是一份工作,也承載了一個你想去奮斗的城市,一個你感興趣的行業(yè),一個你想持續(xù)精進的崗位,一份你想回報家人的薪酬...
          這是從象牙塔走向社會的里程碑,希望這篇文章對你有所幫助。積極準備,同時多做復盤。
          面試加油!預祝早日拿到滿意的offer!
          —?【 THE END 】—
          本公眾號全部博文已整理成一個目錄,請在公眾號里回復「m」獲取!


          3T技術(shù)資源大放送!包括但不限于:Java、C/C++,Linux,Python,大數(shù)據(jù),人工智能等等。在公眾號內(nèi)回復「1024」,即可免費獲取!!




          瀏覽 36
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天日天天干2024 | 91久久婷婷 | 丁香五月天天操天天爽 | 精品国内视频 | 国产男同志av一区 |