秋招作為專門給應屆生的招聘機會還是值得好好把握已骇,然而秋招的時間也挺緊的褪储。個人覺得集中在八月到十月慧域。就談談我的秋招過程吧。
我是就讀于一所雙非本科辛藻,主要語言是JAVA,秋招也想找個JAVA相關(guān)的工作。
先大體的說一下幾個點吧
學歷
學歷是第一道門檻岩榆,就算是互聯(lián)網(wǎng)也會根據(jù)學歷去篩選坟瓢,個人建議如果是產(chǎn)品可以依靠本科刷實習經(jīng)歷來。如果是做技術(shù)就拿個985或者計算機強校碩的學歷其實會簡單很多粒褒。實習
首先實習是必不可少的诚镰,實習建議選擇一個大廠這是給簡歷貼金的主要方法而且你也可以通過實習轉(zhuǎn)正獲得offer,并且在大廠中你可以接觸到很多的業(yè)務場景月杉,大廠的技術(shù)氛圍也更好抠艾。多去問問多實踐并加以學習然后把你做事用自己的語言描述检号。實習并不是要你貢獻或者輸出多少,實習的首要任務是看懂項目代碼齐苛,并且能把其中的難點和特點描述出來脸狸,在實習中也不要只只注重于業(yè)務,對于實習中見到的一些技術(shù)要加以理解與學習泥彤。在實習中多去接觸業(yè)務場景與新的技術(shù)卿啡,然后再去系統(tǒng)的學習這些東西。做到多看剑逃,多問,多總結(jié)粟瞬。舉一個例子萤捆,我實習的時候部門用到elk集群,我也對這個東西有興趣市怎。這時候就要主動提出想學這個東西的想法辛慰,然后跟著這個項目的負責人開展實習工作帅腌。實習經(jīng)歷最好長且多。
項目
項目是也是一個很重要的點揩懒,對于學生來說很多人的項目都是網(wǎng)上照著視頻敲的或者搞一個半成品改的挽封。這樣的項目在面試中非常危險,第一點就是可能你的項目同質(zhì)化非常嚴重智亮,比如今年的秒殺項目這種情況建議直接從簡歷刪掉這個項目点待。第二點就是可能你的知識深度與廣度不夠,面試時候?qū)τ诰唧w某個模塊的提問會讓你直接gg状原。項目最好自己寫完后深刻的梳理一遍對于項目的理解苗踪,對于其中的具體模塊要做到熟悉通铲。業(yè)務很重要其中用到的技術(shù)與設(shè)計也非常重要。項目在精不在多朋截。技術(shù)深度
技術(shù)深度是在面試中脫穎而出的最好方法,對于面試人員來說也是最簡單的去篩選面試者的方法唆姐,其中又有許多可以說廓八。在這里舉些表現(xiàn)技術(shù)深度例子。例如對java源碼的研究,比如集合類国夜,具體是怎么個插入短绸,計和,擴容還有集合工具類的API以及其中用到的設(shè)計模式都值得探究窄驹。對于框架乐埠,常用的SpringMVC的執(zhí)行流程囚企,Spring源碼其中的類裝載,refresh()函數(shù)做了什么棵逊,單例池银酗,其中用到的設(shè)計模式是怎么體現(xiàn)的黍特,循環(huán)依賴所使用的三級緩存是怎么起作用的。對于Mybatis键菱,是怎么把查詢的結(jié)果封裝成類的,Mybatis哪些用到了AOP也是可能會被問到的拭抬。最后是SpringCloud的一些組件源碼與SpringBoot的一些starter源碼侵蒙。技術(shù)廣度
在如今的情況下,擁有技術(shù)廣度也是非常有必要的算凿。對于后端技術(shù)犁功,再了解些其他的比如卡夫卡與elk也是非常有必要的浸卦,但是切記必須對你所說的東西熟悉,如果是一知半解那也會在面試中失敗靴庆。就現(xiàn)在的情況看卡夫卡在MQ領(lǐng)域的趨勢也是必然的怒医,這時候就建議研究下卡夫卡的一些組件與底層執(zhí)行過程稚叹,對于elk來說就需要了解下其倒排索引,分詞器蛤奥,集群中通信協(xié)議僚稿,模板,分片缅刽,結(jié)點健康狀況的定義,還有API以及查詢緩慢的原因蠢络。如果再擁有其他一些技術(shù)衰猛,如信息安全就更好了,這種也需要你對于某個領(lǐng)域的研究如密碼學刹孔,Web漏洞啡省,安全日志的操作,內(nèi)網(wǎng)滲透。簡歷
簡歷套模板寫就行了卦睹,但是一定要寫會的畦戒,如果只是一知半解就會翻車。
談下JAVA辰嵝颍考的知識點吧
- 基本的東西
基本的東西也就是指javase的API障斋,這部分平時多寫就行徐鹤。比如怎么把一個集合轉(zhuǎn)為數(shù)組如果寫不出來就gg垃环。
Integer[] arr = list.toArray(new Integer[list.size()]);
還有一些基礎(chǔ)的比如接口與抽象方法的區(qū)別(結(jié)合設(shè)計模式談),java和c++的區(qū)別返敬,String遂庄,Integer在JVM中的存放問題(考元空間與堆),這些也是常見的劲赠,花時間看看就行涧团,還有JAVA的基礎(chǔ)變量的內(nèi)存大小,由此引出JAVA為什么最大內(nèi)存是32G经磅。再說下JDK的新特性,比如stream流與Jshell還有g(shù)uava這些就更好了钮追。也可以談談自己對于JDK新版本的理解预厌。
- 多線程
這也是個老大難的問題,除了多看多寫沒什么辦法元媚,具體的有CAS轧叽,AQS,阻塞隊列刊棕,鎖炭晒,volatile,ThreadLoacl這些東西甥角。關(guān)于AQS之類的多去看看源碼與解析吧网严,具體不展開講了。還有就是線程池嗤无,Callable+Futuretask開異步的過程震束,這部分多寫寫多看看源碼與解析,有時候還會叫你手寫一個拒絕策略之類的当犯。簡單的說就是考這個知識點有時候還會延申垢村,這就看自己的掌握程度了。 - JVM
JVM也是經(jīng)常問到的話題嚎卫,看書吧《深入理解JAVA虛擬機》看了能解決些基本的問題嘉栓,建議反復看因為我覺得這些知識忘的也很快。當然也要結(jié)合JAVA的版本來看,比如在JDK8中引入的元空間侵佃,在最新JDK中的ZGC稍微了解下麻昼。盡量細致,如垃圾回收趣钱,需要說下每種垃圾回收器(CMS與G1)的執(zhí)行流程與他們的區(qū)別涌献,再比如類加載建議自己實現(xiàn)以下,如果問得深可能會達到tomcat的類加載過程首有。這里也需要注意的是需要記一些所謂JVM的調(diào)優(yōu)燕垃,比如對于堆開內(nèi)存的指令,把垃圾回收器換成G1的指令井联。 - IO
BIO與NIO的區(qū)別有時也會問起卜壕,這個需要分析兩種IO的具體執(zhí)行流程,在與磁盤的交互中面向buffer+channel的方式IO烙常,在網(wǎng)絡(luò)編程中selector的輪詢+綁定事件轴捎。最后肯定會問到對于epoll函數(shù)的理解,這需要自己去看源碼蚕脏,其中還有就是epoll函數(shù)空輪詢的bug侦副,epoll函數(shù)的hook是怎么運行的。還有就是以前問過redis為什么這么快驼鞭,其實主要也是IO的事情秦驯。 - 數(shù)據(jù)庫
科班學生應該都學過數(shù)據(jù)庫,但是還是要經(jīng)常寫和復習挣棕,有時候面試的時候會叫你寫一段數(shù)據(jù)庫代碼译隘。難點還是在于索引吧,其實就是對B+樹的理解洛心,以及什么情況下索引會失效固耘,還有就是慢sql日志怎么開啟,對一條sql語句的執(zhí)行過程進行分析词身。后面還有分表分庫厅目,主從復制知道怎么做就行了。 - 計算機網(wǎng)絡(luò)
TCP+UDP+HTTP理解下看看HTTP包就行了法严。慢開始璧瞬,快重傳,cwnd渐夸,rwnd了解就行嗤锉。 - 算法
leetcode+劍指offer,自求多福墓塌。
推薦書目
深入理解JAVA虛擬機
effective java
java高并發(fā)編程的藝術(shù)