JAVA面試總結3-5年(附)

???????在幾天前分享的文章中,我總結了最近求職的面試情況以及3-5年經驗可能會問到的技術點,收到同學和朋友們的反饋還挺多的。今天在這里我再次總結下你們的反饋,給出一些我認為合理的建議,但建議歸建議,所有一切還得靠自己的堅持,希望你們能根據自己的情況進行適當調整,走出屬于你們的那一條路。本文作為反饋,所以話語比較糙,但不影響閱讀。

引言

???????如果某個系統上千萬乃至上億用戶都跑過你寫的代碼,你激動不激動,自不自豪?要開車了,同學請坐穩。

重點

???????對于某個擬定的目標,我依然要強調的是“堅持”和“落實”,因為無論是生活還是工作,這些都是我們必須要做的,像減肥、健身或是工作中某個功能實現、bug分析,都需要有耐心的堅持的去落到實處,不要做半半,道理大家都懂,至于做成什么樣就由大家自己發揮了,下面直接說我的幾點建議吧。

  1. 對于有理想有抱負的同學,可以擬好自己的小目標,對于咸魚一樣的同學,希望對待事情可以再積極一點,耐心一點,每次都有一點點小的進步。
  2. 現在無聊就會看看手機,建議大家在手機里面存3本左右需要學習的技術點電子書(太多了鬼都知道你不會看),看完馬上刪除再加入新的進來,這樣會形成一種節奏感推動著你學習,書一定要多找幾本相同的然后留下一本合適的,否則不合適會淹沒自己的激情。
  3. 養成習慣每周抽些許時間看看別人的代碼,oschina(碼云)或者github都有別人寫得好的代碼,只有看了別人的才會知道自己的不足,不要瞎看,看自己能懂的。
  4. 多關注微信技術公眾號,這里我給大家推薦幾個我關注的(數據庫開發、算法愛好者、前端大全、伯樂在線、ImportNew、阿里技術、Java架構師之路),給自己充電增長知識面,有興趣就進去研究下,能入選的應該都是好文章,雖然你看不懂
  5. 使用托管平臺管理自己的代碼,尤其一些工具類以及自己實現過的功能或框架,我推薦使用“碼云”,支持svn和git,不斷積累自己的代碼庫,提高工作中開發效率,請勿重復造輪子,多節省點時間學習新知識。
  6. 建立自己的博客,越早越好,相信大家在開發中也有碰到幾天都沒解決的東西,記錄下來,一開始你會發現寫不出東西,慢慢寫多了你就會停不下筆,這也是一個良好的循環,放心 你離大神不遠了

推薦書籍

下面我推薦幾本關于技術的書,大家自己選擇,都是好書,不好的我不推薦,這些可以壓倉庫,坐車,睡覺前有時間就看看(走路就別看了),不要急于看完所有,有章節的去看。

標題 推薦指數 說明
淘寶技術這10年 5顆星 記錄了淘寶架構的演變,看得有點像神話,不過確實是真的,放在第一本說明還是值得一看的:密碼sua8
Java核心技術精講 4顆星 李興華老師所著,里面東西真的很精華,手把手告訴你底層是如何實現,有基礎的同學前面可以快速略過:密碼ixor
大話設計模式 5顆星 設計模式里面我自認為很不錯的一本書,通俗易懂,好理解:密碼0kem

還有很多書需要自己去發現,我不敢去推薦,因為大家功底不一樣,所以不適合在這里推薦,反正大家先掌握這些吧,資料我已經給大家準備好了,大家鏈接進去即可獲取

年限對應掌握技術程度

因為本人在工作中也曾面試過不少人,所以對一些技術的掌握程度簡單描述下,可能有些點沒描述到位,請勿見怪。其實在招聘崗位描述中就有體現,大家看多了就知道要掌握哪些,能做到這些說明你很好,請繼續,沒有做到的也慢慢去補上不會的,如果在開發中你發現,沒有什么是實現不了的,恭喜你,你已經超神了。

1-2年

熟練掌握JAVA邏輯、熟練掌握面向對象思想、了解簡單的數據結構使用,對springmvc,struts,mybatis,hibernate都了解基本實現,能夠完成ssm,ssh完整框架的搭建,3種數據庫的使用,以及SQL編寫,索引,了解SQL執行過程及原理,jQuery基本表單操作,Linux簡單命令、掌握幾種常見的設計模式,熟悉使用前端框架

3-5年

在1-2年的基礎上深入,掌握幾種常用數據結構底層的思想,開始深入研究設計模式,研究上述框架的核心機制尤其是springmvc,學習并使用類似于spring security或oauth2安全框架用戶及鑒權的原理,參與過支付接口的開發,玩轉linux,在linux服務器上能夠進行任意服務環境搭建和部署,能夠寫出解決復雜需求而又高效的SQL查詢語句(可查閱SQL的解析過程),參與過分布式開發和部署,對微服務架構有深刻的認識,開始對JVM的體系進行研究,開始學習算法,研究如NodeJs之類的框架。在5年經驗左右的同學需要對下面的“技術點匯總清單”都要求熟練掌握。

技術點匯總清單

下面的技術點看自己能力去了解,因為東西難度都比較大,實打實的大項目開發要用到的,不會的也不要沮喪,僅僅只是技術點,了解得越多越好

  • 管理工具
    Git:git體系結構、git主要命令、git服務搭建
    Maven:私服、搭建maven項目(可參照我的其他文章)
    持續集成:jenkins/hudson,簡單了解即可
    IDEA:常用配置、遠程調試、快捷鍵大全

  • 框架
    spring:spring一套,包括MVC,AOP,IOC及他們的源碼,如何進行Bean的注入和生命周期管理

  • 性能
    tomcat線程模型、nginx請求過程、jvm虛擬機

  • 并發編程
    通讀并發編程思想

  • 微服務
    dubbo/spring Boot/spring Cloud原理及快速搭建

  • 分布式
    集群、分庫分表、讀寫分離、MQ

  • 緩存服務器
    redis和memcached

  • 數據庫
    掌握3中常用關系型數據庫、熟悉使用非關系型數據庫

  • 模版渲染技術

  • 了解學習其他語言
    推薦學習python,有空可以看看廖雪峰寫的文章

希望大家不要一直停留在傳統行業進行開發,多去互聯網公司,互聯網公司用到的技術和架構都是比較新穎的,對個人的成長很有幫助,建議大家能蹭一點金融支付經驗就蹭一點。

正如文章開頭所提到的問題,莫說是千萬,先來百萬用戶也行,而我也在努力去實現的道路上,加油!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。