自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

金九銀十跳槽季,你準(zhǔn)備好了嗎?十年架構(gòu)師教你該做些什么準(zhǔn)備

新聞
還有差不多一個月就迎來了一年一度的金九銀十跳槽季如果你準(zhǔn)備在金九銀跳槽的話,那么作為一個Java開發(fā)者,該怎樣用一個月的時間,為即將到來的面試做好充分的準(zhǔn)備!

 還有差不多一個月就迎來了一年一度的金九銀十跳槽季

如果你準(zhǔn)備在金九銀跳槽的話,那么作為一個Java開發(fā)者,該怎樣用一個月的時間,為即將到來的面試做好充分的準(zhǔn)備!

一、技術(shù)廣度

技術(shù)廣度,顧名思義,你作為一個合格的工程師在開發(fā)一個系統(tǒng),完成一些具體的技術(shù)任務(wù)的時候,必然是要使用到很多的技術(shù)的,而且針對這些技術(shù)還需要掌握一些非常常見,各種不同的系統(tǒng)可能都會涉及到的一些技術(shù)架構(gòu)/技術(shù)方案。

舉個例子,一個互聯(lián)網(wǎng)公司的比較重要的系統(tǒng),首先肯定會用到分布式服務(wù)框架,比如dubbo/spring cloud,這樣可以將系統(tǒng)拆分為分布式的架構(gòu),或者說現(xiàn)在很流行的說法是微服務(wù)架構(gòu),這樣每個人負(fù)責(zé)一個服務(wù)或者是一個子系統(tǒng)。

接著這個系統(tǒng)很可能為了支撐一些特殊的技術(shù)場景會用到其他各種技術(shù)。

常見的比如說為了應(yīng)對高并發(fā)的讀會用到Redis緩存技術(shù),為了做系統(tǒng)異步調(diào)用會用到RocketMQ技術(shù),為了支撐大數(shù)據(jù)量的高性能檢索會用到Elasticsearch技術(shù),等等。

那么假如這個互聯(lián)網(wǎng)公司在招聘Java工程師的時候,他的招聘要求是什么?

是不是必須得要求候選人起碼在dubbo、Redis、RocketMQ、Elasticsearch等多個技術(shù)領(lǐng)域,都有實(shí)際的生產(chǎn)項目使用經(jīng)驗(yàn),而且還對這些技術(shù)的各種特性以及落地項目的時候常見的技術(shù)架構(gòu)/方案都比較熟悉,這樣招聘這個人進(jìn)來之后才能上手立馬干活。

要求一個候選人對各種常見的技術(shù)以及相關(guān)架構(gòu)都有實(shí)際的項目經(jīng)驗(yàn)以及對技術(shù)本身也足夠熟悉,這就是所謂的技術(shù)廣度,站在招聘候選人的角度來分析一下,想必大家就理解這個“技術(shù)廣度”考察項了。

實(shí)際上技術(shù)廣度這個東西,都說了是技術(shù)廣度了,所以肯定不僅僅只是上面提到的那點(diǎn)東西。

實(shí)際上,一個合格的適合互聯(lián)網(wǎng)公司的工程師在技術(shù)廣度上,還需要掌握其他很多東西。

比如分布式事務(wù)、微服務(wù)架構(gòu)、分布式鎖、性能優(yōu)化、Java虛擬機(jī)優(yōu)化、Web Server優(yōu)化、數(shù)據(jù)庫優(yōu)化,等等。

越是大型的互聯(lián)網(wǎng)公司,就越是會針對技術(shù)廣度這塊,考察的可能會越廣泛,要求更高一些。

技術(shù)廣度的快速準(zhǔn)備

那么既然已經(jīng)了解了這個技術(shù)廣度是什么之后,現(xiàn)在針對這個技術(shù)廣度,在短時間內(nèi)應(yīng)該如何來快速的復(fù)習(xí)和準(zhǔn)備呢?

這個問題,我們分成兩種情況來說。

假如說你是一個平時就很勤奮很努力,過去幾年一直在不停的學(xué)習(xí)的人,那么恭喜你了,這塊東西百分百難不住你,因?yàn)槟氵^去幾年持續(xù)的學(xué)習(xí),可能已經(jīng)自己把技術(shù)廣度的每個點(diǎn)的一些東西都研究過,而且或多或少都有一些使用的經(jīng)驗(yàn)。

對于你學(xué)習(xí)過或者實(shí)踐過的東西,你肯定都記錄了一些筆記。你最好的準(zhǔn)備方式,就是快速的回顧自己的筆記,把各種常見技術(shù)的核心原理和項目實(shí)踐都通過筆記回顧的方式快速的回憶起來,在大腦里形成一個知識網(wǎng)絡(luò)。

如果你是一個不那么勤奮的工程師,或者是一個工作才兩三年,涉世未深的小年輕,還那么多的積累,此時怎么辦呢?

那也沒關(guān)系,記住一句老話:臨陣磨槍,不快也光。你雖然沒啥積累,但是你都要面試了,怎么著也得臨陣突擊一下吧。

下面就是要教你的方法了:你可以自己把技術(shù)廣度可能涉及到的各種點(diǎn)都羅列出來,然后上網(wǎng)百度一下各個技術(shù)點(diǎn)常見的一些面試問題,或者是基本的一些核心原理。

通過百度各個技術(shù)點(diǎn),然后從各種技術(shù)博客中快速了解一個技術(shù)的方式,短時間內(nèi)可以迅速建立起來對技術(shù)廣度中涉及到的各個點(diǎn)的一些基本認(rèn)知、核心原理,這樣在面試的時候避免一問三不知。

當(dāng)然,大家也清楚,技術(shù)這東西是沒法速成的,你采用第二種方法來突擊,跟你第一種情況下有幾年的積累厚積薄發(fā),最后落地到面試的時候,表現(xiàn)是截然不同的,也會直接決定不同的人會進(jìn)入不同層次的公司。

第二種情況的同學(xué)可能面試的時候問到一個問題,就只能說個一兩分鐘,但是第一種情況的同學(xué),功夫都在平時,只要復(fù)習(xí)到位,面試的時候問到一個問題往往可以舉一反三,一下子給你說個十多分鐘都可以。這就是區(qū)別所在。

不過,就算你只說一兩分鐘,總比一問三不知,和面試官大眼瞪小眼好,對吧?

最后還是給各位強(qiáng)調(diào)一下,成功無捷徑,作為一個優(yōu)秀的技術(shù)工程師,最重要的事情是一年365天,每天都不停的學(xué)習(xí)積累,堅持很多年。

吃得苦中苦,方為人上人,筆者早年進(jìn)行技術(shù)積累的時候,也是這樣過來的。每天晚上學(xué)習(xí)到凌晨一兩點(diǎn),周六周日全天學(xué)習(xí),堅持了很多年。

只有通過幾年的積累,你才能夠厚積薄發(fā),量變產(chǎn)生質(zhì)變,菜鳥變成大牛。

二、技術(shù)深度

技術(shù)深度是指的什么呢?簡單來說,假如你有了上面第一條說的技術(shù)廣度,這不能說明你有多優(yōu)秀,僅僅只能說滿足了面試的最基本的要求,招聘進(jìn)來過后立馬就可以上手干活了,沒太大的培養(yǎng)成本。

決定你未來技術(shù)的高度有多高,還有你能否成為團(tuán)隊里頂梁柱的,是你的技術(shù)深度。

技術(shù)深度,顧名思義,就是說你對一個技術(shù)掌握的深度,舉個最簡單的例子。假如你們公司的一個系統(tǒng)里用到了kafka這個技術(shù),好那么現(xiàn)在問題來了,線上生產(chǎn)環(huán)境中,每當(dāng)高峰到來的時候,不知道為啥寫kafka總會偶爾拋個異常出來,或者是說寫入到kafka中的數(shù)據(jù)不知道為啥每天統(tǒng)計下來總會少一些。

線上生產(chǎn)環(huán)境遇到這種稀奇古怪的問題的時候,往往就是團(tuán)隊里技術(shù)大牛出場的時候。技術(shù)大牛,一定是對各種技術(shù)都有一定深度研究的人,能否在遇到技術(shù)問題的時候,直接從本質(zhì)和底層出發(fā),分析和定位問題,最后帶領(lǐng)團(tuán)隊解決問題。

比如上面說的那些問題,那要解決的話,首先需要一個技術(shù)大牛對kafka的源碼有過一定深度的研究,接著就是在遇到問題的時候根據(jù)當(dāng)時的故障現(xiàn)場以及一些日志,結(jié)合源碼的運(yùn)行流程,來一步一步分析和定位出來問題所在,最后可能就是通過一些kafka的參數(shù)的調(diào)整,就可以解決上述棘手的生產(chǎn)問題。

上述描述的場景和能力,就是技術(shù)深度的體現(xiàn),比如說你對某個技術(shù)有過完整的、全方位的、深入底層的源碼研究,這就已經(jīng)是常人不可及的技術(shù)深度了。

因?yàn)楹芏嗳苏f是看過源碼,但是其實(shí)都是淺淺的看過一點(diǎn)點(diǎn),理解不太深入。

同時如果還有一些對某個技術(shù)在線上生產(chǎn)環(huán)境遇到過一些棘手問題,通過源碼分析來解決問題的經(jīng)驗(yàn)的,那么就是更優(yōu)秀的技術(shù)深度的體現(xiàn)。

技術(shù)深度的體現(xiàn),不一定是說看過源碼,這只是其中一種表現(xiàn)形式而已,其他的還有,比如說對某個特別有難度的技術(shù)場景,比如說公司雙11每秒幾十萬QPS并發(fā)請求下,你負(fù)責(zé)了其中支付系統(tǒng),成功應(yīng)對超高并發(fā)量。

在這個過程中,你對系統(tǒng)架構(gòu)的設(shè)計,對系統(tǒng)做的大量的并發(fā)優(yōu)化、性能優(yōu)化,都可以成為你在某個技術(shù)領(lǐng)域的技術(shù)深度的體現(xiàn)。

技術(shù)深度的快速準(zhǔn)備

如何為了即將到來的面試快速的做技術(shù)深度的準(zhǔn)備呢?

其實(shí)也很簡單,分為兩種情況來討論。

如果你在過去幾年,自己就深入閱讀過大量開源技術(shù)的源碼,在閱讀源碼的過程中,自己還把源碼的架構(gòu)圖、流程圖,手工畫了大量的圖出來。

那么此時你完全就可以把過去幾年的源碼研究筆記翻出來,快速過一下,練習(xí)如何在面試現(xiàn)場在白板上純手工把各種技術(shù)的源碼架構(gòu)圖和流程圖現(xiàn)場畫出來。

或者在過去幾年,你對某個技術(shù)領(lǐng)域,針對很高的技術(shù)難度做過什么復(fù)雜的系統(tǒng),在那個技術(shù)領(lǐng)域扎下了很深的研究的話,那么此時你也可以針對過去的筆記快速的復(fù)習(xí),在面試現(xiàn)場一定要現(xiàn)場畫圖把你做過的復(fù)雜系統(tǒng)以及技術(shù)難度都說清楚。

但是如果你過去幾年沒上述所說的任何積累,那咋辦呢?

還是那句話:臨陣磨槍,不快也光。

一般面試官在考察技術(shù)深度的時候,很可能會問你:你對哪個技術(shù)比較熟悉一些?

遇到這個問題的時候,希望大家頭腦清醒一些,千萬不要腦子發(fā)熱隨便亂說,因?yàn)槟阋龊靡粋€心理準(zhǔn)備,一旦你說出某個技術(shù)出來,比如你說你平時用dubbo用的比較多,接著面試官可能會開啟深入源碼級別的10連擊模式。

比如說,面試官立馬就會開始問你對你熟悉的某個技術(shù),各種底層的機(jī)制和原理,讓你說源碼的理解,給你出各種技術(shù)挑戰(zhàn)之下這個技術(shù)該如何應(yīng)對,等等諸如此類的問題。

我見過太多沒經(jīng)驗(yàn)的同學(xué)隨便說個熟悉的技術(shù),其實(shí)他就僅僅只是會用罷了,但是一旦當(dāng)我深入提問的時候,基本就進(jìn)入一問十不知的情況了。

如果發(fā)生上述情況,會讓面試官對你的印象和態(tài)度極其不好,大家一定切記切記!

所以,假如你要是確實(shí)沒有過對什么技術(shù)的深入的積累,這里也教你一個臨陣磨槍的辦法:

你可以從簡歷中挑選出某個你相對來說用的比較多,熟悉一點(diǎn)點(diǎn)的技術(shù),然后直接用萬能的百度,搜索“XX技術(shù)源碼分析”,“XX技術(shù)底層原理”。

通過幾天的時間快速的 “ 死記硬背 + 軟磨硬泡 ”,力爭對某個技術(shù)相對有一些稍微底層一些的理解。

這樣做,起碼在面試的時候被要求問到一些技術(shù)深度的時候,能相對給出一些比普通工程師的回答更好一些的分析,起碼能在面試的時候,讓你拿到好點(diǎn)的offer概率會相對更大一些。

還是那句話,做,總比不做好。你能對底層做了準(zhǔn)備,有一些了解,總是要勝過那些浮于表面,只會使用API的工程師吧!

同樣筆者這里要說,回歸技術(shù)的本質(zhì),對于技術(shù)深度的積累,那更是沒有任何捷徑可言,更不是幾個月可以完成突擊的。

因?yàn)檎嬉屑夹g(shù)深度的話,你可能需要花費(fèi)至少2年的時間,從底層開始研究一些基礎(chǔ)性的技術(shù)。

在打通你的底層技術(shù)任督二脈之后,再去對常見的開源技術(shù)進(jìn)行深入的源碼研究,比如說:dubbo、zookeeper、spring cloud、redis、rocketmq、elasticsearch,等等。

有了幾年的積累過后,最后你在面試的時候,技術(shù)深度的體現(xiàn),其實(shí)都是厚積薄發(fā)的。

三、基礎(chǔ)功底

這塊其實(shí)沒啥可多說的了,大家估計現(xiàn)在慢慢都感覺到了,社招的有經(jīng)驗(yàn)的工程師去面試互聯(lián)網(wǎng)大廠的時候,很多時候可是都要考察數(shù)據(jù)結(jié)構(gòu)和算法的。

基礎(chǔ)功底的快速準(zhǔn)備

這塊如何快速準(zhǔn)備呢?

我的建議是,如果真的還有1個月要去面試了,那你最起碼用幾天的時間,網(wǎng)上搜三五十個最常見、最典型的算法題,反復(fù)練習(xí)、務(wù)必熟練。

熟練到什么程度呢?

你需要反復(fù)練習(xí),最后自己能夠在白紙上一遍就手寫出沒有bug的代碼。

哪些題目是最常見、最典型的?舉個例子,經(jīng)典排序算法以及其時空復(fù)雜度分析,經(jīng)典查找算法,棧、隊列、鏈表、二叉樹等常見數(shù)據(jù)結(jié)構(gòu)的算法題,這些相關(guān)的基礎(chǔ)題目都要熟練掌握。

當(dāng)然最好的對于基礎(chǔ)的算法之類的東西的積累,還是在平時,比如你要是堅持每天就在leetcode或者lintcode上花費(fèi)半小時刷一個算法題,堅持一年,你就刷了至少300道算法題,堅持兩年,你就積累了七八百道算法題。

這個時候有了足夠的積累,起碼面試是不用擔(dān)心任何基礎(chǔ)性手寫算法之類的問題了,功夫其實(shí)還是在平時的。

至于算法題目的難度選擇,只需要LeetCode或者Lintcode上easy難度和medium難度即可。

社招對算法和數(shù)據(jù)結(jié)構(gòu)的要求是低于校招的,校招是因?yàn)閷W(xué)生沒有太多項目經(jīng)驗(yàn),只能考察你數(shù)據(jù)結(jié)構(gòu)算法,看你聰不聰明。

這是一張lintcode上對應(yīng)的數(shù)據(jù)結(jié)構(gòu)算法題的難度 vs 求職的一個對照圖,大家可以參考下。

金九銀十跳槽季,你準(zhǔn)備好了嗎?十年架構(gòu)師教你該做些什么準(zhǔn)備

還是那句話,搞定easy和medium難度的題目即可。曾經(jīng)網(wǎng)上流傳著一句話:如果你能手寫所有easy和medium的題目,3遍之內(nèi)通過,可以搞定硅谷大部分公司的技術(shù)面試,包括谷歌、Facebook等頂級公司的面試,這個在國內(nèi)也差不多的情況。

那如何學(xué)習(xí)才能快速入門并精通呢?

當(dāng)真正開始學(xué)習(xí)的時候難免不知道從哪入手,導(dǎo)致效率低下影響繼續(xù)學(xué)習(xí)的信心。

最重要的是不知道哪些技術(shù)需要重點(diǎn)掌握,學(xué)習(xí)時頻繁踩坑,最終浪費(fèi)大量時間,所以有一套實(shí)用的視頻課程用來跟著學(xué)習(xí)是非常有必要的。

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2010-08-25 15:49:04

面試

2016-05-31 16:50:33

2011-05-25 17:08:29

ibmdwLinux

2011-05-25 10:15:47

開源

2015-01-07 10:45:05

Dockerkubernetescontain

2013-01-28 16:51:45

2015-10-19 16:51:01

2018-10-11 17:43:15

人臉識別人工智能AI

2020-03-26 17:28:22

CIO觀點(diǎn)MES系統(tǒng)制造企業(yè)

2011-01-12 09:37:59

2018-10-16 18:26:52

人工智能AI

2014-06-04 12:50:43

轉(zhuǎn)型IT轉(zhuǎn)型

2019-05-20 10:28:29

IIoT邊緣計算物聯(lián)網(wǎng)設(shè)備

2011-08-30 09:28:36

編程

2015-06-24 16:03:24

大數(shù)據(jù).SAS

2015-09-08 16:04:06

云災(zāi)備華為

2021-01-08 05:18:54

網(wǎng)絡(luò)自動化運(yùn)維

2021-04-28 11:38:10

“熄燈”數(shù)據(jù)中心數(shù)據(jù)中心運(yùn)維

2018-06-05 10:22:33

2018-11-26 12:40:47

AI數(shù)據(jù)科技
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號