Java學到什麼程度才能找到工做?從國內各階層互聯網公司分析

Java學到什麼程度才能找到工做?從國內各階層互聯網公司分析

剛開始學習Java的小夥伴,尤爲是那種又沒錢又沒有背景的,剛開始學習Java都關心這麼一個問題:到底把Java學到何種程度才能找到第一份工做呢?程序員

每一個人都很現實,目標都是至關的一致,都是爲了能拿到像別人高薪的工做。那到底一個Java初學者要學多少Java知識,才能找到第一份Java工做呢?面試

Java學到什麼程度才能找到工做?從國內各階層互聯網公司分析

在好久之前我曾經寫過一篇關於本身的文章,記錄了我IT職場中第一次面試,當時個人技術水平跟你們差很少,就是剛入門的水準,畢竟是一個剛接觸的小白。算法

可是做爲一個剛開始工做的新手,找到一家小型公司的Java開發工做仍是比較容易的,畢竟如今最多的就是互聯網公司,每一個公司對於員工的要求也是天差地別。數據庫

好比阿里、華爲這樣的公司,他們可能對於學歷要求比較高。而一些只有幾十我的的創業公司,他們更加註重這我的的技術能力、實踐能力、解決問題的能力。編程

我想應該用不一樣的公司來做爲標準,只有這樣我才以爲有現實意義:緩存

創業型小公司

創業型小公司的特色就是人氣比較少,平時作事情比較雜。在這裏我說的是不到百人的創業公司,這樣公司在國內是最多的,以我多年在職場的經驗來看,大多數這樣的創業型公司,他們很難招聘到很是優秀的技術人才。網絡

第一個是他們沒有這樣的實力去給他們發工資;數據結構

第二是比較優秀的人才必定是被大公司挖走的。這樣的公司自己沒有什麼底氣,因此他們對於應聘者要求也會比較低,學歷基本都是不看的,Java基礎知識能良好的掌握,能獨立作幾個Java Web項目,基本均可以應聘上,最基本的CRUD能夠獨立完成。對於這樣的公司,已是不錯了。併發

這種小型的創業公司招聘人才的渠道很是少,每月的薪水得不到保障,並且整個辦公環境也比較差,可是工做時間卻是一點都很多。因此,像去這種類型的公司找工做,只要本身真正的學了一些本領,基本上均可以很容易找到工做。負載均衡

中小型公司

通常定位中小型企業,都是說那些100人以上,500人如下的成熟公司。廣泛都是叫不上名字,可是公司還算有發展潛力的,這樣的公司稍微正規一點,整個的辦公環境會好不少,以及一些福利待遇,並且不用擔憂發不出來工資的問題。

招聘技術人才和培訓人才會有本身的一套標準。他們的要求通常都是大專學歷以上的,對於我的的技術上把關更嚴格一點,除了能夠良好的掌握Java基礎知識和項目以外,還會考查你的debug能力,代碼規範、異常處理能力,以及對一些Java高級特性的理解能力,可能最好多用過一些框架。這就要求咱們在學習的過程當中,多付出精力寫代碼,而且對於一些原理問題要搞清楚。

總的來講,這樣公司在選拔技術人才的時候,標準更加模範化,更加有體系。不會像創業型公司那樣隨意,只要領導拍個板就行。在我看來,他們這樣的公司其實也吸引不到太多優秀人才,但不一樣的是,確實會有一些能力不錯的公司骨幹。

二三線互聯網公司

這種類型公司範圍很是廣,好比你們常據說的搜狐、暢遊、新浪、360,還有一直萎靡的迅雷、金山、獵豹,甚至是愛奇藝、攜程這類現狀比較不錯的企業等等。

這種級別的公司還擠不到BAT TMD等一線互聯網行列,可是若是你能進入這樣的公司,已是很是不錯了。薪資不會低於年薪40萬。它們這樣的公司對於技術人才的要求就要很是高了。

他們的最低要求就是本科學歷,對Java基礎知識要達到精通的程度,要能夠很是熟練的閱讀源碼,若是你沒看過源碼,那麼在源碼方面的面試題必定要好好準備一下。除此以外,通常來講他們還會考察你網絡知識、操做系統,考察的不會太難,能把面經上的知識點掌握了就算是比較紮實了。

這種類型的公司通常不會考太複雜的題目,他們招聘的需求通常都是中級程序員,只要知識面可以廣,考你的題目都能說到關鍵點上面,其實不須要掌握得特別深刻,也能夠有機會拿到offer。

總結來講,我認爲二三線互聯網企業不太可能和戰鬥在一線的互聯網公司爭奪人才,因此他們通常爭取的都是二線人才,不須要太優秀,但至少要是中級程序員的水平,因此這種類型的公司對不少Java程序員來講機會仍是很是大的。

一線互聯網公司和獨角獸

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的變式題等等,算法題相對考察理論基礎而言,篩選度更高,能夠淘汰的人也更多。

最後總結

我曾經在阿里呆過兩年,最後離開的緣由是實在受不了天天加班到12點的做息時間。可是在阿里的這段日子,成長確實是很是大的。大公司也並無你們想的那麼好,除了工資高以外,其餘的都是夠人受的,幾乎沒有升職空間,由於人才太多了。幾乎天天都加班,沒有太多的生活體驗。並且條條框框特別多,天天都是在被限制。固然了,若是你有實力進入大公司,最好仍是去鍛鍊幾年,年輕人嘛,仍是闖一闖。

也並無你們想的那麼好,除了工資高以外,其餘的都是夠人受的,幾乎沒有升職空間,由於人才太多了。幾乎天天都加班,沒有太多的生活體驗。並且條條框框特別多,天天都是在被限制。固然了,若是你有實力進入大公司,最好仍是去鍛鍊幾年,年輕人嘛,仍是闖一闖。

獲取學習資源技術乾貨,lezijie007(暗號66)

相關文章
相關標籤/搜索