首頁>Club>
很多Java初學者的目標都很明確,也很實在,學習Java無非就是為了找工作,那到底我要學多少Java知識,才可以找到第一份工作呢?
5
回覆列表
  • 1 # 發現美好peter

    很多Java初學都關心這麼一個問題,Java學到什麼程度以後可以找到第一份工作。大家的目標都很明確,也很實在,學習Java無非就是為了找工作,那到底我要學多少Java知識,才可以找到第一份工作呢。

    之前寫過一篇文章,記錄了我人生中第一場面試,當時我的Java水平無非就是剛入門的水準,但是作為校招生來說,找一份小公司的開發工作不算非常難,畢竟網際網路公司那麼多,要求也是天差地別,對技術、學歷、實踐能力的要求和評價標準也有很大的差距。

    所以,到底Java學到什麼程度才能找到第一份工作,我想應該用公司來作為變數,這樣回答這個問題才有意義。

    創業型小公司

    創業型小公司的特點就是人少,事雜。這裡我們指的是不到100人的小公司,這種公司其實也很多,我們拋開一些獨角獸或者知名創業公司不談,先談談大多數的創業公司,這些公司吸引不到優秀人才,並且也拿不出太多錢給員工,因此招牌要求也會比較低,學歷基本不看,Java基礎知識稍微掌握一些,做過幾個Java Web專案,最好還能寫寫前端程式碼,能吹幾句牛皮,應該問題就不會很大。

    這種公司招人的渠道本來就少,薪水得不到保障不說,辦公場所也很簡陋,但是工作時間倒是少不了,所以啊,這類公司,我想也是培訓機構給學員拍胸脯保證就業的最合適標準了。

    中小型公司

    說到中小型公司,泛指那些100人以上,500人以下的公司,大多數也是叫不上名字,但是還算有所發展的公司,這類公司稍微會正規一點,招聘和培訓可能會有自己的一套標準,比如學歷上可能稍微做一些要求,技術上的把關更嚴格一點,除了Java基礎知識和專案經歷之外,可能還會考查你的debug能力,程式碼規範、異常處理能力,以及對一些Java高階特性的理解能力,可能最好多用過一些框架。

    總而言之,這類公司選人的標準更加有體系,不會像一些特別小的公司,招人很隨意,領導拍個板就行。當然,這類公司也吸引不到太多優秀人的人才,但是也確實可能會有一些踏實能幹的勤奮員工。

    二三線網際網路公司

    比如一般都會要求本科學歷,對Java基礎知識要比較熟悉,最好能夠看過原始碼,如果沒看過,那麼原始碼方面的面試題好歹也要準備一下,除此之外,一般來說還會考察你的後端技術知識,比如資料庫、網路、作業系統,考察的不會太難,能把面經上的知識點掌握了就算是比較紮實了。

    這類公司一般不會考太複雜的題目,更希望招一些水平能力都是中等的人才,只要知識面能比較廣,題目都能說到點子上,不需要掌握得特別深入,也可以有機會拿到offer。

    其實歸結原因,就是因為二三線網際網路不太可能和一線公司爭奪一線人才,所以一般爭取的都是二線人才,不需要太優秀,但是至少要是中等水平,所以這些公司對很多程式設計師來說還是比較有機會的。

    一線網際網路公司和獨角獸

    要進這些公司,不僅要做到之前那些事情:掌握Java基礎、計算機基礎知識,並且是非常熟練地掌握,你需要深入理解每一個知識點,因為面試官會不斷深入地向你提問,瞭解你的知識深度,同時,你需要對原始碼有所理解,在讀懂原始碼的基礎上去理解框架的實現、JDK的實現。

    另外,你需要對JVM有一個清晰的認識,不僅要了解其結構,垃圾回收原理,甚至還要知道如何在遇到線上問題時透過JVM調優來解決它們。

    同理,你還需要對Java併發程式設計和網路程式設計的使用方法與底層實現原理非常熟悉,不僅僅答出NIO和BIO的區別,或者是synchronized和lock的區別,你還需要知道NIO的底層實現epoll是什麼,synchronized對應的mutex lock是什麼,lock和condition的實現原理又是什麼,而lock本身也是透過AQS、CAS操作類等元件來實現的,其中的內容實在太多,絕不只是幾道面試題就可以搞定的。

    當然,除此之外,這些公司對資料庫、快取、分散式技術等方面的要求都會比其他公司要高得多,你最好要搞懂MySQL的儲存引擎、索引和鎖的實現原理,Redis快取的資料結構、備份方式、底層實現。同時如果你能理解負載均衡演算法、CAP理論,甚至是raft和paxos演算法,以及分散式常用技術如訊息佇列、zookeeper等等,那麼無疑也是可以為你加分的技能。

    為什麼大公司的要求這麼高,因為它們是最好的網際網路公司,要招的自然也是最優秀的人才,如果考察底層原理還不能滿足他們篩選人才

  • 2 # Devin楚留香

    這個不好說,竟要學到什麼程度,自己也不好衡量啊。總之,你儘量學就是了,功到自然成!其實公司看中的並非單方面的技術能力,更關注的還是學習和溝通能力,可以多面試幾家找找經驗,總會有合適的。

  • 3 # java架構設計

    實踐是檢驗真理的唯一標準,同樣對於求職來說,市場是檢驗競爭力的唯一標準。

    我是一名Java開發方向的老碼農,下面談一下我個人的一些建議。

    上面是某招聘APP上兩個Java初級開發工程師的任職要求,可以看到要求的幾點基本上還是有一定的共性。主要包括以下幾點:Java基礎知識,J2EE相關知識體系;SpringMVC、SpringBoot、Spring、ORM框架這些必須要會的;主流資料庫的設計和開發;Git、Maven程式碼管理構建工具要會,idea、eclipse要會熟練使用;需要一些Java web相關知識,Html、ajax、css、JQuery等;

    掌握的程度大家也可以看到屬於“熟悉、熟練、掌握”這些詞彙,沒有要求精通。

    相信大家對學習到什麼程度能找到第一份工作應該有點心裡有數了,個人認為有以下幾點具體參考標準:能獨立搭建基於SpringBoot框架的框架進行開發一個基於資料庫表儲存的CRUD;需要一些分析設計的能力,給你一個簡單的需求能夠自己設計表結構並完成功能開發;熟練使用git命令,能夠利用maven管理專案的jar包依賴,能夠將專案部署到web容器上;能夠編寫簡單的H5頁面,利用jquery、ajax能夠進行前後端互動。

    如果以上這些要求你都有信心自己可以做好,那麼我相信你完全可以找到一份月薪8k-10k的Java開發工作。

  • 中秋節和大豐收的關聯?
  • 怎樣挑選適合自己面板的化妝品?