更新時間:2019-08-06 09:34:28 來源:動力節點 瀏覽2604次
如果你準備在金九銀跳槽的話,那么作為一個Java開發者,該怎樣用一個月的時間,為即將到來的面試做好充分的準備!
一、技術廣度
技術廣度,顧名思義,你作為一個合格的工程師在開發一個系統,完成一些具體的技術任務的時候,必然是要使用到很多的技術的,而且針對這些技術還需要掌握一些非常常見,各種不同的系統可能都會涉及到的一些技術架構/技術方案。
這個系統很可能為了支撐一些特殊的技術場景會用到其他各種技術。
常見的比如說為了應對高并發的讀會用到Redis緩存技術,為了做系統異步調用會用到RocketMQ技術,為了支撐大數據量的高性能檢索會用到Elasticsearch技術,等等。
那么假如這個互聯網公司在招聘Java工程師的時候,他的招聘要求是什么?
是不是必須得要求候選人起碼在dubbo、Redis、RocketMQ、Elasticsearch等多個技術領域,都有實際的生產項目使用經驗,而且還對這些技術的各種特性以及落地項目的時候常見的技術架構/方案都比較熟悉,這樣招聘這個人進來之后才能上手立馬干活。
實際上,一個合格的適合互聯網公司的工程師在技術廣度上,還需要掌握其他很多東西。
比如分布式事務、微服務架構、分布式鎖、性能優化、Java虛擬機優化、WebServer優化、數據庫優化,等等。
越是大型的互聯網公司,就越是會針對技術廣度這塊,考察的可能會越廣泛,要求更高一些。
二、技術深度
技術深度是指的什么呢?簡單來說,假如你有了上面第一條說的技術廣度,這不能說明你有多優秀,僅僅只能說滿足了面試的最基本的要求,招聘進來過后立馬就可以上手干活了,沒太大的培養成本。
決定你未來技術的高度有多高,還有你能否成為團隊里頂梁柱的,是你的技術深度。
技術深度,顧名思義,就是說你對一個技術掌握的深度,舉個最簡單的例子。假如你們公司的一個系統里用到了kafka這個技術,好那么現在問題來了,線上生產環境中,每當高峰到來的時候,不知道為啥寫kafka總會偶爾拋個異常出來,或者是說寫入到kafka中的數據不知道為啥每天統計下來總會少一些。
因為很多人說是看過源碼,但是其實都是淺淺的看過一點點,理解不太深入。
同時如果還有一些對某個技術在線上生產環境遇到過一些棘手問題,通過源碼分析來解決問題的經驗的,那么就是更優秀的技術深度的體現。
技術深度的體現,不一定是說看過源碼,這只是其中一種表現形式而已,其他的還有,比如說對某個特別有難度的技術場景,比如說公司雙11每秒幾十萬QPS并發請求下,你負責了其中支付系統,成功應對超高并發量。
在這個過程中,你對系統架構的設計,對系統做的大量的并發優化、性能優化,都可以成為你在某個技術領域的技術深度的體現。
因為真要有技術深度的話,你可能需要花費至少2年的時間,從底層開始研究一些基礎性的技術。
在打通你的底層技術任督二脈之后,再去對常見的開源技術進行深入的源碼研究,比如說:dubbo、zookeeper、springcloud、redis、rocketmq、elasticsearch,等等。
那如何學習才能快速入門并精通呢?
當真正開始學習的時候難免不知道從哪入手,導致效率低下影響繼續學習的信心。
最重要的是不知道哪些技術需要重點掌握,學習時頻繁踩坑,最終浪費大量時間,所以有一套實用的視頻課程用來跟著學習是非常有必要的,以下資源獲取方式,登錄動力節點IT培訓官網【視頻課程】專欄,直接下載學習。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習