對于實習(xí)生而言,其實很多公司要求都不是很高,畢竟對你的要求要對的起給你的工資水平,很多公司肯定都知道你本身的大體水平,不會期望太高,只是讓你邊學(xué)習(xí)邊工作,如果你足夠聰明伶俐,足夠好學(xué),可能就多培養(yǎng)你一些。
不過不同水平的公司(BAT>TMD>其他優(yōu)秀的互聯(lián)網(wǎng)公司>小型創(chuàng)業(yè)公司),肯定是對你的培養(yǎng)程度不同的,相應(yīng)的對你實習(xí)的要求肯定是不同的。不要認(rèn)為對你要求越高,得到的實習(xí)工資就會高,不是的,像騰訊阿里等公司對于實習(xí)生技術(shù)要求很高,但工資就在兩三千左右,但以后的發(fā)展卻是遠(yuǎn)遠(yuǎn)大于這個價值的。
BAT企業(yè)對實習(xí)生的要求(以阿里為代表):
java基礎(chǔ)非常重要,當(dāng)然也要深入理解原理,什么JVM,JMM,Classloader,還有一些常見類的源碼,自己可以試著分析一遍,現(xiàn)在讓你說出LinkedList的內(nèi)部實現(xiàn)你能不能說出來,HashMap不用多說了,80%的面試都會問到。還有重要的,多線程,并發(fā),網(wǎng)絡(luò),IO。這些都是要看看的!特別是spring的源碼要好好看看,里面的架構(gòu)設(shè)計得非常好!
需要掌握的技術(shù)知識具體總結(jié)如下:
1、操作系統(tǒng)。尤其是內(nèi)存/線程/進(jìn)程方面
2、計算機(jī)網(wǎng)絡(luò)協(xié)議,重點關(guān)注 TCP/UDP/HTTP。
3、數(shù)據(jù)結(jié)構(gòu)與算法。
4、數(shù)據(jù)庫,知道m(xù)ysql存儲引擎中索引的實現(xiàn)機(jī)制、數(shù)據(jù)庫事務(wù)的幾種粒度、行鎖,表鎖;樂觀鎖,悲觀鎖等
5、設(shè)計模式,熟悉常用的幾種設(shè)計模式就行。
6、Java語言基礎(chǔ)。熟悉java語言基礎(chǔ),了解JVM、內(nèi)存模型,重點考察 面向?qū)ο?、集合框架(繼承關(guān)系,實現(xiàn)原理)、異常體系、IO體系、并發(fā)集合、多線程。熟悉多線程編程/并發(fā)/線程安全明顯可以加分。
7、J2EE,熟悉Spring/Spring MVC , ORM 什么的吧??催^源碼,了解原理之類的也明顯可以加分。
8、Linux,熟悉基本的linux命令就行吧
9、如果有自己做過的實習(xí)項目會加分不少。
TMD企業(yè)對實習(xí)生的要求(以美團(tuán)為代表):
1、精通Java/C++/golang程序開發(fā)(至少一種)
2、熟悉linux下后臺服務(wù)開發(fā)、網(wǎng)絡(luò)開發(fā)
3、熟悉zookeeper、redis等開源項目優(yōu)先,
4、有分布式、服務(wù)一致性領(lǐng)域研發(fā)經(jīng)驗優(yōu)先
5、優(yōu)秀的溝通協(xié)調(diào)能力以及項目推進(jìn)落地能力
其他優(yōu)秀的互聯(lián)網(wǎng)公司(以 網(wǎng)易為代表)
1、具備扎實的計算機(jī)專業(yè)基本功,數(shù)據(jù)庫、網(wǎng)絡(luò)、操作系統(tǒng)等,深厚的Java的編程基礎(chǔ)
2、熟悉常見的設(shè)計模式具備扎實的計算機(jī)專業(yè)基本功,數(shù)據(jù)庫、網(wǎng)絡(luò)、操作系統(tǒng)等,深厚的Java的編程基礎(chǔ),熟悉常見的設(shè)計模式
3、熟練掌握主流的開源框架設(shè)計理念,對Spring、Mybatis等有深入的了解;
4、熟練掌握數(shù)據(jù)庫原理,基于Oracle或者M(jìn)ysql的設(shè)計和開發(fā)
5、熟悉Linux操作系統(tǒng),git,maven等工具
6、有較強(qiáng)的邏輯分析、數(shù)據(jù)分析、問題排查能力;
其他的一些小型的互聯(lián)網(wǎng)公司,依據(jù)自身的發(fā)展方向不同,對實習(xí)生的要求也是不同的,需要具體問題具體分析的,當(dāng)然了不變的一點是:基礎(chǔ)知識一定要打好,一些計算機(jī)基礎(chǔ)什么的該知道的要知道。
其實上面有些技能還是有點超綱的(對于實習(xí)生而言),不要有壓力,能有六七分的掌握就可以,不要被這些招聘要求嚇壞,很多都是要求偏高的,當(dāng)然了如果你正好知道那也是你的優(yōu)勢不是?