一文講清后端學(xué)完哪些東西就可以找實習(xí)了
學(xué)習(xí)路線:
http://www.fangfengwang8.cn/discuss/711506045692137472?sourceSSR=users
我們以我之前寫的學(xué)習(xí)路線作為標準。需要注意的是:我這里聊的是最低要求。
什么時候能找實習(xí)?
從學(xué)習(xí)路線上看:
Java基礎(chǔ)+少量JUC+少量JVM+Spring Boot + 兩個后端項目 +MySQL+Redis+消息隊列+少量的計網(wǎng)知識
微服務(wù)不重要,微服務(wù)不重要。
從技術(shù)要求上看:
Java基礎(chǔ):
基本語法能玩明白,寫代碼不至于磕磕絆絆的。一些基本的八股要能背出來,比如HashMap這種爛大街的集合源碼要看過。重點主要是線程池這一塊的知識,線程池的運行流程,核心參數(shù)等等知識要知道,以及并發(fā)相關(guān)的知識。
JUC:
看過幾個常用的工具類就行。比如ReentrantLock的源碼。面試的時候能扯一些源碼級別的內(nèi)容就行。
JVM:
能把雙親委派機制和JVM內(nèi)存模型 背順溜就行了。
Spring Boot:
能把AOP和IOC背出來就行了。還有就是三級緩存,自動配置這些特性要知道。會用這個框架是基本要求。
兩個后端項目:
兩個項目能多熟悉就多熟悉。最起碼要能清晰的闡明每一個功能點的設(shè)計以及邊緣情況的解決方案。
比如你用了Redis,那么Redis對應(yīng)的緩存穿透,擊穿和雪崩你就要清楚。
用了MQ,那么對應(yīng)的消息丟失和堆積以及重復(fù)消費的解決方案你就要清楚。
在這里你要明白一個點:除非是真實的開源/商業(yè)項目,否則面試官不會對你的項目本身多感興趣的。如果你沒有實習(xí)的話,那么你的項目有且僅有一個作用:方便面試官基于你的項目切入相關(guān)的八股內(nèi)容。
MySQL:
常見的SQL語句要能寫順溜,常用的ORM框架Mybatis的XML層要會寫。
<select id="selectUsers" parameterType="map" resultType="User"> SELECT * FROM users <where> <if test="name != null and name != ''"> AND name = #{name} </if> <if test="age != null"> AND age = #{age} </if> <!-- 默認過濾條件 --> <if test="1 == 2"> AND 1 = 2 </if> </where> </select>
而從面試的角度講,MySQL的索引,事務(wù)(臟讀,幻讀,不可重復(fù)讀以及對應(yīng)的隔離界別,MVCC),三個日志這塊的相關(guān)內(nèi)容必須清楚。
能在網(wǎng)上學(xué)一些SQL調(diào)優(yōu)的經(jīng)驗也是加分項。
Redis:
常見的數(shù)據(jù)結(jié)構(gòu)要清楚,大概知道對應(yīng)的應(yīng)用場景。知道這些數(shù)據(jù)結(jié)構(gòu)的底層數(shù)據(jù)結(jié)構(gòu)是加分項。
常見的線上事故:擊穿,穿透和雪崩要知道對應(yīng)的解決方案。Redis的兩個日志AOF和RDB要清楚。最好還可以知道Redis和MySQL的一致性問題。
消息隊列:
常見的消息隊列的區(qū)別要知道:Kafka,RocketMQ,RabbitMQ。要有一個自己主要學(xué)習(xí)的消息隊列中間件。
對于這個消息中間件的基礎(chǔ)概念要知道,以Kafka舉例,你最起碼要知道Topic,Broker,Partation是什么。
并且消息隊列的常見問題:消息冪等性,消息丟失和消費堆積要知道大致的解決方案。不追求絕對的可用性,只追求你面試的時候能大致扯出來一些東西。
計網(wǎng)知識:
TCP的三次握手,四次揮手要背的順溜。TCP和UDP的區(qū)別,應(yīng)用場景要知道。
HTTP和HTTPS的區(qū)別要知道。HTTP從1.0到3.0的版本更新所帶來的新特性要知道。八股典中典《一條URL從輸入到瀏覽器到網(wǎng)頁顯示界面都發(fā)生了什么》要背的足夠順溜。
計網(wǎng)這一部分的話,小廠問的少,大廠問的多。
雜亂知識:
簡歷上面涉及到的所有知識能多熟悉就多熟悉。
閑聊內(nèi)容:
1.思考自己的競爭力
當你搞完這些的時候,從代碼能力的角度出發(fā),你大致已經(jīng)滿足條件了。我說白了這些東西要搞得話,三四個月就搞完了。
那你覺得你相比較于其他人來講,你的競爭力是什么?
就好比如果你是老板,現(xiàn)在在你面前擺著兩份技術(shù)差不多的簡歷。一個是雙非,一個是985。你會約面哪一個?
我也遇到過很多大一大二的學(xué)弟學(xué)妹對自己已經(jīng)學(xué)到了微服務(wù)二沾沾自喜。但是你切記:就業(yè)市場上從來不缺比你學(xué)得快的人。面試官在面試的時候可不會在意你是大幾的。
所以學(xué)的進度快不是優(yōu)勢,一定要記住這一點!學(xué)的進度快不是優(yōu)勢。學(xué)的進度快只是能給你更多的時間去培養(yǎng)自己的優(yōu)勢而已。
所以大家在學(xué)校的時候,不要認為按照路線學(xué)就好了。這樣是拉不開差距的。大家如果都跟流水線上的產(chǎn)品一樣同質(zhì)化,那最終必將進入拼學(xué)歷的環(huán)境。
所以除了單純的技術(shù)之外,你還需要一些其他的證據(jù)來證明自己的核心競爭力。
可以是開源項目,也可以是真實的商業(yè)項目,也可以是自己的博客。
2.大膽投遞
社會是一場開放游戲。只要你愿意,所有人都是你的NPC。
所以大膽的投遞就完事了。投遞了又不一定過,過了又不一定去。面試對于你來講其實就相當于免費找一個幾年工作經(jīng)驗的面試官幫你看簡歷的問題。
所以不要害怕面試。面試的本質(zhì)是交流。自己面試越多,復(fù)盤越仔細。你后面就會越來越熟悉面試的流程。
不要擔心面試被掛。反正你也不會影分身。所以對于你來講只需要在面試這件事上贏一次就好了。前面所有的失敗只要做好了復(fù)盤,就會變成你最后成功的養(yǎng)料。
最后:
文章來自我的學(xué)習(xí)筆記《小牛八股》。目前正在完善中,估計今年八九月份會寫完。提前放出來一些文章引引流。
關(guān)注我,帶你了解更多代碼之外的生存之道。歡迎訂閱我的專欄(目前免費),后續(xù)也會持續(xù)更新。如果這篇文章幫到了你的話,就送我朵花花吧。
#??图钣媱?#Java##簡歷中的項目經(jīng)歷要怎么寫##找工作,行業(yè)重要還是崗位重要?##牛客創(chuàng)作賞金賽#從雙非到美團實習(xí),再到字節(jié)跳動。 一路踩過多少坑無需多言。我的目標是把我曾經(jīng)踩過的坑分享給大家。 我們的生活不止有代碼。代碼之外,亦是更加廣闊的天空