小白如何入門java

千鋒it教育 發佈 2024-05-08T12:45:56.712843+00:00

Hello啊,我是你們的老朋友加瓦大叔,作為一個十年的老java開發工程師,上周跟大家分享了自己在做技術面試官的時候的一些好玩的事,今天跟大家講講技術小白真的可以鹹魚翻身踏上技術開發之路嗎?

Hello啊,我是你們的老朋友加瓦大叔,作為一個十年的老Java開發工程師,上周跟大家分享了自己在做技術面試官的時候的一些好玩的事,今天跟大家講講技術小白真的可以鹹魚翻身踏上技術開發之路嗎?

作為一個技術老司機,其實曾經也只是一個搞建築的工地勘測員,每天拿著死工資,還得到處跑工地,又累又苦,天天羨慕坐在辦公室的那些高材生,後來機緣巧合了解到了java技術開發領域,仗著自己年紀小,所以拼了一把,當時真的是勤學苦練啊,最欣慰的就是,家裡人都挺支持我的,放任讓我搏一把,好在現在結果還不錯!

說到鹹魚翻身,首先大家得先了解下目前市面上的java開發工程師要具備哪些技術,這樣才能翻身打漂亮仗啊!!

一、 java開發工程師入職門檻要求(了解市場需求)

java初級開發工程師:

1. 負責功能模塊的開發,參與詳細設計,核心代碼的編寫;

2. 負責開發中接口的對接與提供;

3. 負責新技術的研發學習與應用;

4. 負責項目開發中與解決方案及業務對接;

5. 計算機相關專業畢業,具有一年以上軟體項目開發的實際工作經驗;

6. java基礎紮實,良好的代碼風格;

7. 熟悉掌握Spring Boot,熟悉Spring MVC、Mybatis等主流開發框架;

8. 熟悉MySQL、Oracle、postgresql、SQLServer中的任意一種資料庫的使用及SQL編寫;

9. 熟練使用SVN或者Git;

10. 熟悉使用tomcat、Maven等開發工具;

11. 具備強烈的責任心,進取心,良好的溝通能力及團隊協作能力。

java中級開發工程師:

1. 負責公司項目的後端開發,完成需求的功能設計和開發;

2. 持續重構和優化軟體的技術架構和代碼質量;

3. 編制項目相關的各類技術文檔;

4. 項目開發完成後,配合測試,實施完成項目的驗收交付;

5. java基礎紮實,熟悉java開發語言,熟悉java常用框架,如:Spring、Spring MVC、Spring Cloud、Spring Boot、Mybatis、Dubbo、Quarz、FreeMark、POI等;

6. 熟悉對象/內存模型,了解JVM垃圾回收機制,對多線程有深刻的理解;

7. 熟悉軟體開發流程,熟悉常用的工作流工具,如:Maven、Git、SVN等;

8. 熟悉主流的資料庫如:MySQL、Oracle、DB2、SqlServer等,對MySQL索引機制,鎖機制,存儲機制有深刻的理解,能編寫高效SQL並具備SQL調優能力;

9. 熟悉tomcat、jboss、weblogic、websphere等中間件;

10. 熟悉常見的緩存、消息、負載均衡等機制和解決方案,如:Redis、Kafka、Nginx、HaProxy等;

11. 熟悉常用的Http協議;

12. 熟悉常用的Linux命令;

13. 具備合作精神,能和不同的模塊不同的系統不同的部門配合;

14. 完成部門經理下發的其他工作任務;

15. 思路清晰,善於思考,有良好的溝通能力,能獨立分析和解決問題。

java高級開發工程師:

1. 負責公司產品技術框架選型,開發規範及開發標準審定;

2. 負責公司全部產品(APP/小程序/應用系統/平台等)的服務端架構設計和核心代碼的開發;

3. 熟悉業務、分析和發現系統的改進點,進行架構、性能等重構優化,保障系統的高可用;

4. 主導團隊開發人員code review工作,直到團隊其他人員的設計與開發工作,並能提供性能優化、安全性建議;

5. 五年以上java服務端開發和項目管理經驗;

6. 熟悉當前主流的網際網路技術,熟悉掌握微服務、分布式緩存、消息隊列、Docker容器、分布式資料庫技術、web前端技術、linux作業系統等;

7. 深入理解微服務架構,熟悉Spring生態,熟練使用SpringBoot、SpringCloud、Kafka、Mysql、Redis、Elasticsearch、NoseJs等開源框架或者工具,對現實原理有較深入的了解;

8. 熟悉掌握Oracle、SQLServer、MySQL、Redis等資料庫技術、熟練使用UML、PowerDesigner設計工具;

9. 熟悉主流開發流程,熟悉各種常用設計模式,有良好的的代碼風格;

10. 負責跟銷售端反饋的客戶需求進行可行性分析,完成技術方案整合優化,並對涉及需求二次開發的內容制定相應的技術開發解決方案;

11. 負責疑難技術分析診斷、攻關解決;

大家可以看看上面三種不同級別的招聘需求哈,在了解了市場的需求之後,就可以針對性的學習啦,畢竟學習最終的目標是為了找一份工作的嘛!不然我們沒有規劃的亂學一通,既消耗了時間,也讓我們所學的東西無用武之地,豈不浪費!讓我們緊貼時代前沿,一起鹹魚翻身吧!!!

好啦接下來我們就要開始制定合理的學習方式了!

二、 選擇適合自己的學習方式

自學:

1. 學習方式:

看書、看學習視頻、上網課、刷題網站刷題等;

2. 自學的優點:

沒有高額的金錢消費;

如果學習過程中發現自己不適合,可以及時回頭,也沒有財力損失;

3. 自學的缺點:

網際網路上的資料和學習路線太多,從而導致初學者把大量珍貴的學習時間用在不必要學的技能上;

沒人在邊上輔導,可能學習過程中步步是坑,而且不知道怎麼解決,這可能會讓學習過程不了了之,或者是延長學習時間。

需要有強大的自我控制能力;

就算你毅力非常好,每天都堅持個學習,依然會遇到「學習技能」和「面試技術」脫節的問題,造成的後果是學了幾個月,看似了解了一大堆語法,但還是做不了項目,甚至還不知道java面試會問什麼。這樣學習的結果往往是學習時間被拖長,然後最後不了了之。

培訓機構系統學習:

1. 學習方式:

有專業老師輔導上課,會安排統一上課時間,統一安排學習時間,安排課後作業等;

2. 培訓機構學習的優點:

在班級裡面,根據系統的學習安排,你會更加明確自己的學習方向,會有培訓機構老師可以幫助你制定學習計劃,不用自己多花費時間在這個上邊,可以有更多的時間去學習知識;

在老師的幫助下,遇到了問題也能及時解決,及時查缺補漏,提升自己的能力。自學的話這方面就需要自己去解決,如果遇到難以解決的問題就可能浪費很長時間;

最重要的是,培訓能夠得到可貴的實戰項目經驗,這些都是以後企業中會真實用到的經驗。雖然,自學也能夠找到一些相關項目練習,但相比有經驗的老師指導實操項目還是有一定的差別;

就業方面培訓班一般都有相關的就業指導也會有相關的工作推薦,而自學的話全憑自己去找,相對難度比較大;

其實沒有開發實戰經驗豐富的老師引導學習,是很難深入了解java開發技術知識的。在小夥伴自學的過程中,無論是找資料也好,還是解決問題都是靠自己獨立完成的,這樣學習效率很低。

3. 培訓機構學習的缺點:

需要花費大筆的財力;

不知道選擇的培訓機構是否靠譜,但是被坑;

一旦學習發現自己不適合,但是花錢了,就得硬著頭皮學習。

看到上面的學習推薦方式,大家是不是有些焦慮啊,覺得選擇自學,自我控制力差,但是培訓機構學習又怕被坑,不用呢麼擔心,首先你需要擺正好自己的學習態度,其次就是理性選擇,畢竟培訓機構可以有效的給你制定學習計劃是真的,培訓機構合理的規定確實可以讓你管住自己,有效利用好自己的時間,但是 現在培訓機構五花八門,魚龍混雜。所以在選擇機構學習的時候,一定要選擇行業知名度高的培訓機構。根據機構資質、機構規模、機構師資、機構培訓模式、機構就業渠道、機構口碑、機構費用收取等去考量。切不可貪圖蠅頭小利,上當受騙。

三、 自學推薦的學習方式(推薦的學習方式:系統視頻教程+書籍輔助+刷題網站輔助+有人指導)

1. 教學視頻推薦

對於Java初學者來說,看視頻學習也是最普通的方式,視頻教程會把工作中常用的知識進行講解,而且視頻一般都是分章分節,每一個小節都只講一個知識點,學習起來較為明確。但是視頻教程儘量要完整,最好是一整套視頻學習。

好啦,小千這裡也給大家準備的小禮物吧!大家可以私聊小編獲取java基礎學習視頻哦!當然進階版,高級版都有哈!

2. 書籍推薦

依靠書籍輔助主要還是針對理論知識的補充和學習。

3. 刷題網站推薦

牛客網

力扣

九章算法

4. 專業老師指導

大部分自制力極強的人可能依靠自身強大的自制力可以實現自學成功,但是這種概率太小了,大部分人都不可能全靠自己的能力把Java學的特別好,因為你不了解這個行業,也不知道怎麼學,完全零基礎自學Java想要找到工作,概率極低。所以建議如果真的想要做這行,儘量找人去帶帶你,有不懂的問題可以直接請教,少走彎路,提高效率。學習的質量決定以後工作的薪資以及起點,所以還是應該重視起來。

四、 項目實踐的重要性

大家在學習的過程中通常出現這樣的問題:

學習時的問題:

1. 能看懂,不會寫【上課的時候覺得很簡單,但是一實操就完蛋】;

2. 記不住【學完就忘記了】;

3. 學完的知識不知道該怎麼用;

4. 找不到學習技巧的時候就形成了開始背代碼的壞習慣,導致代碼邏輯能力很差,脫離一貫的套路就不知道該怎麼寫代碼了;

5. 害怕找不到工作。

學習心態:

1. 心裡總是沒底,沒信心,害怕焦慮;

2. 抱著完成任務的心態學習;

3. 學習重心不對,對學習沒有耐心;

4. 我希望每個學習編程的人都要擺正學習態度,如果你對於學習沒什麼耐心,沒什麼興 趣,我勸你不要來學習編程,學習編程絕對是一個耐心的活,也是需要不斷學習和充電的行業。或者說已經到了資訊時代,不愛學習的人,很難有耐心去學習知識的人,在資訊時代是混不下去的,任何行業都是如此,不學習不進步不緊貼時代的人就一定會被淘汰。

為什麼一定要有項目時間經驗:

1. 對於初學者碰到的大部分學習上的問題都是不會寫代碼,而項目實踐就可以有效的規避這種問題;

2. 不同的軟體公司針對研發人員的水平要求存在一定的差異,但是起碼你要有正常的編碼能力吧,你連代碼都不會敲,哪家公司敢要你?

3. 只有結合項目才會鍛鍊好自己的邏輯能力,光死記硬背面試題是沒辦法解決你不會上手寫代碼的問題的;

4. 每一個能夠達到就業的開發人員起碼都要理解掌握Java核心面向對象的設計思想和代碼構建,能以面向對象方式設計編寫業務功能;

5. 起碼要熟練掌握至少兩種資料庫的開發,如Oracle,mySql,能熟練編寫基本常用及高級的SQL語句,而這些,在項目實操中都可以讓你得到鍛鍊;

6. 例如:必需掌握並熟練應用Springframework IOC容器,深入了解IOC及AOP概念並應用,使用MVC實現對web 請求做出處理,像這類問題,不寫項目,如何才能達到理論結合實踐?面試官問你在項目中如何使用IOC或者AOP,不寫項目,怎麼回答這類問題?

7. 熟練掌握Java處理資料庫的ORM框架myBatis,JDBCTemplate,對Hibernate也應有所了解,這些框架,你靠死記硬背面試題你就會用嗎?不實踐使用你保證你看看視頻刷刷題就能練會嗎?

8. 開發工具你不是使用你能會嗎?

針對上述問題,你們說項目時間經驗重要嗎?小千給大家準備了一些基於當下最流行的Spring Boot框架的項目,私聊小編獲取哦!

五、總結

好啦!今天小千就分享到這裡啦,至於大家想要選擇怎麼的學習方式,主要還是無愧於自己的付出就好啦,最後一句話:「想好了,干就完事了」!我們下次再見嘍!!!

關鍵字: