這是一個(gè)不知名的本科生的一點(diǎn)心酸經(jīng)驗(yàn)啊束莫,我當(dāng)年(大二)也是想逃離學(xué)校流水線培訓(xùn)的傳統(tǒng)继找,想去主流的互聯(lián)網(wǎng)公司喘帚,所以就奮斗啊奮斗啊,現(xiàn)在大三恨狈,在北京中關(guān)村實(shí)習(xí),校招關(guān)鍵還是看基礎(chǔ)呛讲,因?yàn)楣ぷ鞯能浖鞣N各樣禾怠,進(jìn)公司就靠基礎(chǔ)去學(xué)習(xí)的,幾乎每一個(gè)公司的面試官真的對(duì)一些問題是必問贝搁,要做的是天天有計(jì)劃地積累吗氏!寫代碼!看書雷逆!總結(jié)弦讽!看別人的面試經(jīng)歷!考考自己膀哲!在深度的基礎(chǔ)上又有一定廣度往产,還有就是實(shí)習(xí)和項(xiàng)目的問題,真的有那些經(jīng)驗(yàn)的確可以加分等太,但是沒有也可以捂齐,你的基礎(chǔ)一定要扎實(shí),我當(dāng)年在學(xué)校就沒有實(shí)習(xí)機(jī)會(huì)缩抡,也沒有高端的實(shí)驗(yàn)室奠宜,所以只能自己找找資料,看看學(xué)長(zhǎng)們的學(xué)習(xí)經(jīng)驗(yàn)瞻想,好好把基礎(chǔ)學(xué)好压真,多寫寫軟件!
目標(biāo)的話:我覺得達(dá)到面試蘑险,的時(shí)候你能夠很自信的表現(xiàn)自己的積累的感覺就很棒了滴肿!
說說我覺得重要的幾點(diǎn)吧:
1,數(shù)據(jù)結(jié)構(gòu)佃迄,原理泼差,應(yīng)用贵少,復(fù)雜度等基礎(chǔ)一定熟練,結(jié)合算法寫代碼堆缘。
2滔灶,算法,說白了吼肥,面試的時(shí)候面試官不是來為難你的录平,大都會(huì)問到經(jīng)典的題目,平時(shí)肯定要多寫代碼缀皱,有篇文章總結(jié)扯氛猓考算法題目很不錯(cuò)的:讓 BAT 的 Offer 不再難拿。每天練兩三道吧啤斗,時(shí)間一久你就有了那種做算法尋找的突破口的思維了表箭,刷刷題leetcode,耪迹客網(wǎng)(比如網(wǎng)易校招就會(huì)在湃悸撸客網(wǎng)上考,好多標(biāo)準(zhǔn)格式輸入輸出臂痕,不會(huì)啊~)伯襟。
3,java握童,我個(gè)人認(rèn)為一定要寫軟件姆怪,最好是可以開源,那種感覺真的不一樣澡绩,比如你寫一個(gè)使用注解的mvc稽揭,你就有機(jī)會(huì)吧代理和注解好好學(xué)一遍,比看書學(xué)這兩塊兒好多了肥卡,或者了解mvc三個(gè)模塊兒的交互溪掀,bean管理等等,寫軟件就是以結(jié)果為導(dǎo)向步鉴,真正為了達(dá)到一個(gè)目標(biāo)動(dòng)用和熟練自己的能力揪胃,而不是一味的寫demo來尋求提升。
4氛琢,校招java肯定會(huì)問到j(luò)vm的喊递,垃圾收集,內(nèi)存模型阳似,內(nèi)存管理骚勘,線程安全,ClassLoader,類加載俏讹,字節(jié)碼編譯(挺重要的)当宴,javac等等,出名的書有《深入理解java虛擬機(jī)》泽疆,《分布式j(luò)ava應(yīng)用:基礎(chǔ)與實(shí)踐》也有一些jvm的總結(jié)即供,寫點(diǎn)demo,準(zhǔn)備面試前看看別人的面經(jīng)于微,自己試著回答回答,慢慢記得jvm就很熟練了青自。
5株依,其他一些比較重要的java基礎(chǔ)有nio,io延窜,集合框架源碼等恋腕,我之前面試幾家知名互聯(lián)網(wǎng)公司,這些都問到了逆瑞,看看Netty的源碼荠藤,不用復(fù)雜,看netty3也很好了获高,可以的話自己用NIO寫一個(gè)可以搭建echo服務(wù)器框架demo哈肖,這樣你的nio就很熟練了,還有看看Map念秧,Collection接口下的集合的源碼淤井,比如HashMap,ArrayList等等摊趾,是否可以為空币狠,線程安全否,排列砾层,異常處理漩绵,遍歷等等。
6肛炮,數(shù)據(jù)庫我覺得和java一樣重要吧止吐,雖然現(xiàn)在NoSQL什么的,MySQL仍然使用非常廣铸董,使用可以網(wǎng)上查查不用看書了祟印,《高性能MySQL》確實(shí)不錯(cuò),挑挑重要章節(jié)看粟害,面試一般都會(huì)問數(shù)據(jù)庫的蕴忆,比如索引優(yōu)化,分區(qū)分表悲幅,查詢優(yōu)化套鹅,索引數(shù)據(jù)結(jié)構(gòu)站蝠,sql語句熟悉。
7卓鹿,并發(fā)菱魔,這個(gè)內(nèi)容也很多啊,比如《java并發(fā)實(shí)戰(zhàn)》這本書就可以看得出吟孙,比如Semaohore澜倦,讀寫鎖,顯式鎖杰妓,看看并發(fā)集合的源碼藻治,學(xué)學(xué)人家的源碼怎么應(yīng)用高并發(fā)的,比如ConcurrentHashMap的熱點(diǎn)域巷挥,分段鎖桩卵,別人怎么解決死鎖的,我記得LinkedBlockingQueue里面的每次上鎖和放開鎖的方式都是一致算是個(gè)方法倍宾〕冢可以寫寫demo,測(cè)測(cè)運(yùn)行時(shí)間高职,壓測(cè)钩乍,不斷增加復(fù)雜的同時(shí)也提升了自己的并發(fā)編程能力(我覺得面試官很喜歡文ThreadLocal啊哈哈)。
---------------------------------------------------書
說說我覺得不錯(cuò)的資料吧:
《劍指offer》自己時(shí)間比較緊只是挑看了些初厚,但是和編程之美一樣件蚕,需要好好讀的。
《編程之美》产禾。
《effective java》好多面試深入的java問題在這上面能解答排作,真是非常值得一讀,比如問你在什么時(shí)候需要定義自己的序列化亚情?雖然翻譯不好~妄痪。
《架構(gòu)探險(xiǎn)——從零開始寫Java Web框架》從demo到玩開源的升華,雖然是大神的經(jīng)驗(yàn)楞件,但確實(shí)可以學(xué)到好多衫生。
《設(shè)計(jì)模式之禪》這個(gè)書很有趣,也可以為了節(jié)省時(shí)間土浸,可以作為網(wǎng)上設(shè)計(jì)模式博客資料的補(bǔ)充罪针。
《深入理解java虛擬機(jī)》很經(jīng)典,我也至少看了4遍黄伊。
《分布式j(luò)ava應(yīng)用:基礎(chǔ)與實(shí)踐》個(gè)人覺得非常好泪酱,讓你少走彎路啊。
《how tomcat works》這個(gè)就是知其然,知其所以然的好資料了墓阀。
《Java并發(fā)編程實(shí)戰(zhàn)》這個(gè)應(yīng)該是必讀吧毡惜,并發(fā)單獨(dú)寫本書,課件內(nèi)容需要好好研究的斯撮,多寫代碼壓測(cè)也很有意思的经伙。
《gradle實(shí)戰(zhàn)》或者《maven實(shí)戰(zhàn)》個(gè)人覺得maven在工作中用的多些,但gradle更新勿锅。
《高性能MySQL》看了這個(gè)面試mysql的知識(shí)也不怕什么了吧~
《MySQL技術(shù)內(nèi)幕:InnoDB存儲(chǔ)引擎》高人推薦帕膜,看的不多,但是絕對(duì)厲害啊溢十。
《Java核心技術(shù)》沒看過第二卷泳叠,其他知識(shí)從另外的書上積累的。
《tcp/ip協(xié)議 卷一》經(jīng)典茶宵,個(gè)人覺得記不了那么多啊,面試問的網(wǎng)路很少問得生僻~宗挥。
資料: