不少Java初學都關心這麼一個問題,Java學到什麼程度之後能夠找到第一份工做。你們的目標都很明確,也很實在,學習Java無非就是爲了找工做,那到底我要學多少Java知識,才能夠找到第一份工做呢。前端
以前寫過一篇文章,記錄了我人生中第一場面試,當時個人Java水平無非就是剛入門的水準,可是做爲校招生來講,找一份小公司的開發工做不算很是難,畢竟互聯網公司那麼多,要求也是天差地別,對技術、學歷、實踐能力的要求和評價標準也有很大的差距。程序員
因此,到底Java學到什麼程度才能找到第一份工做,我想應該用公司來做爲變量,這樣回答這個問題纔有意義。面試
創業型小公司的特色就是人少,事雜。這裏咱們指的是不到100人的小公司,這種公司其實也不少,咱們拋開一些獨角獸或者知名創業公司不談,先談談大多數的創業公司,這些公司吸引不到優秀人才,而且也拿不出太多錢給員工,所以招牌要求也會比較低,學歷基本不看,Java基礎知識稍微掌握一些,作過幾個Java Web項目,最好還能寫寫前端代碼,能吹幾句牛皮,應該問題就不會很大。算法
這種公司招人的渠道原本就少,薪水得不到保障不說,辦公場所也很簡陋,可是工做時間卻是少不了,因此啊,這類公司,我想也是培訓機構給學員拍胸脯保證就業的最合適標準了。數據庫
說到中小型公司,泛指那些100人以上,500人如下的公司,大多數也是叫不上名字,可是還算有所發展的公司,這類公司稍微會正規一點,招聘和培訓可能會有本身的一套標準,好比學歷上可能稍微作一些要求,技術上的把關更嚴格一點,除了Java基礎知識和項目經歷以外,可能還會考查你的debug能力,代碼規範、異常處理能力,以及對一些Java高級特性的理解能力,可能最好多用過一些框架。編程
總而言之,這類公司選人的標準更加有體系,不會像一些特別小的公司,招人很隨意,領導拍個板就行。固然,這類公司也吸引不到太多優秀人的人才,可是也確實可能會有一些踏實能幹的勤奮員工。後端
這類公司範圍就很廣了,好比日薄西山的搜狐、新浪、360,或者是一直起不來的迅雷、金山、獵豹,甚至是愛奇藝、攜程這類現狀比較不錯的企業等等,這類公司擠不到BAT TMD等一線互聯網行列,可是在二三線陣容還算是比較不錯的公司,它們對於人才的要求其實仍是相對比較高的。緩存
好比通常都會要求本科學歷,對Java基礎知識要比較熟悉,最好可以看過源碼,若是沒看過,那麼源碼方面的面試題好歹也要準備一下,除此以外,通常來講還會考察你的後端技術知識,好比數據庫、網絡、操做系統,考察的不會太難,能把面經上的知識點掌握了就算是比較紮實了。網絡
這類公司通常不會考太複雜的題目,更但願招一些水平能力都是中等的人才,只要知識面能比較廣,題目都能說到點子上,不須要掌握得特別深刻,也能夠有機會拿到offer。數據結構
其實歸結緣由,就是由於二三線互聯網不太可能和一線公司爭奪一線人才,因此通常爭取的都是二線人才,不須要太優秀,可是至少要是中等水平,因此這些公司對不少程序員來講仍是比較有機會的。
BAT、TMD等互聯網名企都屬於這類公司,這類公司和二三線互聯網公司的發展差距仍是比較大的,體如今公司的規模、市值、甚至是股價等方面,業務以技術爲基礎,所以這些公司的技術每每也是業界最頂尖的,好比阿里的雲計算和中間件,頭條的推薦算法、騰訊的遊戲技術等等。
要進這些公司,不只要作到以前那些事情:掌握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等等,那麼無疑也是能夠爲你加分的技能。
爲何大公司的要求這麼高,由於它們是最好的互聯網公司,要招的天然也是最優秀的人才,若是考察底層原理還不能知足他們篩選人才的須要,他們也會考察面試者的算法能力,好比LeetCode上medium難度的原題,或者是劍指offer的變式題等等,算法題相對考察理論基礎而言,篩選度更高,能夠淘汰的人也更多。