你有提桶跑路的勇氣嗎?
本文轉(zhuǎn)載自微信公眾號(hào)「故里學(xué)Java」,作者故里。轉(zhuǎn)載本文請(qǐng)聯(lián)系故里學(xué)Java公眾號(hào)。
又是一天夜深人靜,老故里照常掏出電腦,給自己充一下電,剛好就看到了一個(gè)關(guān)于面試的課程,因?yàn)閯?dòng)了提桶的心思就看一下,感覺(jué)很有用,就結(jié)合自己的想法記錄下來(lái)。
(圖片來(lái)源:極客時(shí)間 每日一課《如何全面、高效地準(zhǔn)備技術(shù)面試》)
接下來(lái),分三部分:面試前、面試中、面試后。
面試前
1、編程能力
編程能力是最重要的,對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),這是核心競(jìng)爭(zhēng)力,也是面試官最看重的部分之一。如何更快速的提高自己的編程能力?
每個(gè)人有各自的方式,比如:刷算法題,報(bào)訓(xùn)練營(yíng)、自己看源碼等等。先說(shuō)說(shuō)刷算法題,很多人喜歡刷力扣,保持著不錯(cuò)的刷題數(shù)量,如果站在更高的層面上思考,這個(gè)題想考什么知識(shí)點(diǎn)?我對(duì)這些知識(shí)點(diǎn)的掌握程度?這個(gè)知識(shí)點(diǎn)還可以怎么來(lái)考?相信在堅(jiān)持刷題一段時(shí)間之后效果是很顯著的。
專欄中作者自己的刷題經(jīng)驗(yàn),我們也可以借鑒,當(dāng)沒(méi)有頭緒的時(shí)候,可以嘗試二叉樹(shù)相關(guān)的題目,二叉樹(shù)也是面試中非常高頻的考點(diǎn),而二叉樹(shù)題目中通常涉及遞歸和遍歷,這些也是后面解決更復(fù)雜問(wèn)題的基礎(chǔ)。
舉例:力扣226題“翻轉(zhuǎn)二叉樹(shù)”:
二叉樹(shù)問(wèn)題往往是通過(guò)遞歸方法解決的,而遞歸的要點(diǎn)就在于不需要關(guān)注整體完成了什么任務(wù),只需要把任務(wù)細(xì)化為每次遞歸的子任務(wù),剩下的交給遞歸就可以了。對(duì)于這個(gè)題來(lái)說(shuō),我們只要把二叉樹(shù)每個(gè)節(jié)點(diǎn)的左右節(jié)點(diǎn)進(jìn)行交換,自上而下完成這個(gè)子任務(wù),整個(gè)二叉樹(shù)就完成了翻轉(zhuǎn)??梢韵葘懗鲎尤蝿?wù):
- def invertTree(root: TreeNode) -> TreeNode:
- # 將二叉樹(shù)的左右子節(jié)點(diǎn)進(jìn)行交換
- tmp_node = root.left
- root.left = root.right
- root.right = tmp_node
- return root
根據(jù)子任務(wù)代碼可以看出,針對(duì)輸入的一個(gè)根節(jié)點(diǎn),我們已經(jīng)可以把它的左右節(jié)點(diǎn)進(jìn)行翻轉(zhuǎn),那怎么讓這個(gè)任務(wù)遞歸進(jìn)行呢?我們需要在完成當(dāng)前任務(wù)的后邊添加遞歸任務(wù)就可以:
- def invertTree(root: TreeNode) -> TreeNode:
- # 將二叉樹(shù)的左右子節(jié)點(diǎn)進(jìn)行交換
- tmp_node = root.left
- root.left = root.right
- root.right = tmp_node
- # 添加遞歸任務(wù)
- invertTree(root.left)
- invertTree(root.right)
- return root
在添加了遞歸任務(wù)后,我們還容易忽略一個(gè)問(wèn)題,就是整個(gè)遞歸任務(wù)的最簡(jiǎn)單情況是什么?根據(jù)題意應(yīng)停止遞歸:
- def invertTree(root: TreeNode) -> TreeNode:
- # 處理 basecase,遇到葉子節(jié)點(diǎn)停止
- if root == None:
- return None
- # 將二叉樹(shù)的左右子節(jié)點(diǎn)進(jìn)行交換
- tmp_node = root.left
- root.left = root.right
- root.right = tmp_node
- # 添加遞歸任務(wù)
- invertTree(root.left)
- invertTree(root.right)
- return root
在完成題目后,我們也應(yīng)該對(duì)自己進(jìn)行題問(wèn),明確自己是否掌握了這道題的知識(shí)點(diǎn),即二叉樹(shù)的遍歷與遞歸思想的拆解,并且是否可以舉一反三,如果覺(jué)得自己掌握的不夠可以刷一些相似的題目。
以上這些是看到的別人的經(jīng)驗(yàn),我自己一般喜歡玩自己平時(shí)工作中的代碼,閑的時(shí)候看看自己寫的代碼,很多時(shí)間就會(huì)有新的想法,可能當(dāng)時(shí)寫的時(shí)候想的比較狹隘,隔了一段時(shí)間,結(jié)合模塊的整體情況重新設(shè)計(jì),重構(gòu)一下代碼,這個(gè)過(guò)程也是很有趣的,也可以發(fā)現(xiàn)一些影響性能的點(diǎn),不斷優(yōu)化,讓自己的程序更加順滑。自己寫的代碼自己是最了解的,結(jié)合平時(shí)自己學(xué)的系統(tǒng)設(shè)計(jì)、性能優(yōu)化等方面的知識(shí),現(xiàn)學(xué)現(xiàn)賣,這個(gè)實(shí)踐的過(guò)程是我認(rèn)為效率最高的。
2、專業(yè)領(lǐng)域知識(shí)
編程能力只是面試過(guò)程中的一部分,專業(yè)領(lǐng)域的知識(shí)也是非常重要的,比如你特別熟悉電商業(yè)務(wù)、供應(yīng)鏈業(yè)務(wù)、全渠道業(yè)務(wù)等等,通常也是因人而異,因崗位而異。兩方面準(zhǔn)備:
準(zhǔn)備自己當(dāng)前或者之前做過(guò)的另外的專業(yè)知識(shí),這對(duì)于找同領(lǐng)域崗位是非常有幫助的,很多公司都希望招一個(gè)技術(shù)ok又懂業(yè)務(wù)的伙伴,可以更好的融入團(tuán)隊(duì)。
針對(duì)性領(lǐng)域知識(shí),針對(duì)想投的崗位,進(jìn)行一些特殊準(zhǔn)備,這樣擴(kuò)展投遞崗位的范圍,也可以提高面試的成功率。
3、建立相關(guān)內(nèi)容
以上的準(zhǔn)備可能需要提前準(zhǔn)備,那么簡(jiǎn)歷很多人就會(huì)忽略其重要性,在面試前匆匆準(zhǔn)備。面試官在跟我們面對(duì)面之前,都是只能通過(guò)簡(jiǎn)歷來(lái)了解我們的過(guò)往經(jīng)歷,來(lái)進(jìn)行題問(wèn)。
在準(zhǔn)備面試簡(jiǎn)歷的時(shí)候也有很多技巧,社招簡(jiǎn)歷,一些長(zhǎng)期、規(guī)模較大的、較為重要的項(xiàng)目經(jīng)歷可以詳述,一些簡(jiǎn)單的項(xiàng)目就可以忽略不寫。對(duì)寫在簡(jiǎn)歷上的內(nèi)容充分準(zhǔn)備,在面試的時(shí)候侃侃而談,適當(dāng)?shù)匮由?,這些都可以是加分項(xiàng)。
面試中
狀態(tài)
面試過(guò)程中與面試官交流的過(guò)程,轉(zhuǎn)不停是一個(gè)非常重要的關(guān)鍵點(diǎn)。精神狀態(tài)就是我們的精神面貌,可以從說(shuō)話的聲音、表情、舉止等方面反映出來(lái),好的精神狀態(tài)可以提高面試管與你交流的意愿,也有助于你更好的展示自己,提升面試官的印象分。思維狀態(tài)就是要保持思維敏捷,快速解決面試官拋出的問(wèn)題,心理狀態(tài)對(duì)于面試的影響可能是比較大的,很多人在面試的時(shí)候很容易因?yàn)檫^(guò)度緊張手腳冰涼大腦一片空白,在面試的時(shí)候適度緊張,然后再逐漸放松,讓你感到些許躁動(dòng),思維活動(dòng)迅速,這就是最好的心理狀態(tài)。
態(tài)度
態(tài)度主要就誠(chéng)實(shí)、誠(chéng)懇。搞技術(shù)的人一般都比較簡(jiǎn)單,如果在面試過(guò)程中不誠(chéng)實(shí)或不誠(chéng)信的情況,印象分可能就直接沒(méi)有了,面試官也不愿意招這樣的人。誠(chéng)懇是在面試過(guò)程中,與面試官出現(xiàn)意見(jiàn)不一致,可以態(tài)度誠(chéng)懇的交流交換意見(jiàn),不一定要爭(zhēng)論個(gè)高下。
溝通
面試過(guò)程中的最后一個(gè)關(guān)鍵點(diǎn)就是溝通,主要是三個(gè)原則:溝通主動(dòng)、回答明確、沉著應(yīng)對(duì)。面試過(guò)程中,面試官也會(huì)根據(jù)面試溝通情況綜合考量你在日常工作中的溝通能力,這些也是工作中非常重要的。舉例,如果在面試中突然忘記了某個(gè)點(diǎn),不要突然就安靜下來(lái),可以先從相關(guān)的內(nèi)容說(shuō)起,有助于快速回憶,哪怕真的想不起來(lái),也可以展示出你真的了解這一塊,只是偶爾忘記了。
面試后
面試結(jié)束,在收到offer之前都不能放松,還是要復(fù)盤、總結(jié),一方面對(duì)自己的技術(shù)查漏補(bǔ)缺,也可以對(duì)面試過(guò)程中發(fā)揮不好的地方進(jìn)行總結(jié),下次面試過(guò)程中多注意。
面試結(jié)束后,也可以主動(dòng)和面試官確認(rèn)后續(xù)情況,也不能太著急,最好是在面試結(jié)束后3-5天后確認(rèn),這樣也可以體現(xiàn)我們對(duì)于這個(gè)機(jī)會(huì)的看重,如果有后續(xù)的面試還可以提前著手準(zhǔn)備。
最后
“金九銀十”馬上金九就要過(guò)去了,還有想法的兄弟們可以抓住后邊的機(jī)會(huì),近期沒(méi)有跑路的兄弟,也可以思考一下,一些平時(shí)需要準(zhǔn)備的東西,等面試的時(shí)候再去準(zhǔn)備就有點(diǎn)遲了,日常中不斷提高自己,讓自己在未來(lái)有更多選擇。“
參考了:https://time.geekbang.org/dailylesson/detail/100056887#previewimg

























