二本本科無實習上岸滴滴京東58科大訊飛覆盤

因爲內容過多,分爲上、中、下
本篇內容:8000+ 字
建議閱讀時間:20 分鐘,如果有收穫,建議收藏多次閱讀

上篇目錄

秋招之路覆盤篇    樓主的自我介紹:    我自己複習範圍:(關注公衆號回覆 "面試腦圖" 獲取面試腦圖,因爲圖片很大)    我的項目很 low 怎麼辦??        項目 low,無實習經驗,還是個渣本,怎麼拿到 offer 的    關於套路和技巧    你的秋招時間這麼長,你的心態如何呢?        關於衆多知識點和麪經你又是怎麼選擇去看的呢?    簡歷應該怎麼寫?    如果以上你都沒有?我好慌,我該怎麼辦?    實習、秋招、春招那點事        坎坷的offer故事:    總結:以下面經順序爲難易度排序及 offer 排序滴滴(11.5 offer):線上面8.9投簡歷:8.27筆試:9.16一面:80分鐘左右10.17二面:50分鐘左右10.29三面:36分鐘左右11.1 HR面11.5 offer

秋招之路覆盤篇:

樓主的自我介紹:

樓主:二本本科、無實習經驗、CS專業(但是個人覺得和非科班沒啥區別,專業課也沒有聽...)

崗位:Java開發 / 後端開發

秋招之路:6.28——10.29,戰線很長、6.28的第一封簡歷投出、10.29的面完滴滴三面暨秋招結束

方向:Java方向、只會SSM,其他Redis、中間件都不會

海投簡歷:180+吧,在牛客網的求職校招日程裏( https://www.nowcoder.com/school/schedule ) ,牛客打錢(手動狗頭????),有合適崗位的公司都投,每天投幾個,自然而然就到180+,但是投簡歷也是一個苦力活,可能會投的自閉,前期建議投一些小公司練練面試(找些套路),後期就是大公司幹,千萬不要認爲自己沒有準備好就不投,等你準備好,黃花菜都涼了

Offer:滴滴、京東、科大訊飛sp、58集團、用友、銳捷網絡、聯行科技(新公司大背景、薪資+補助下來跟滴滴差不多了)

我自己複習範圍:(關注公衆號回覆 "腦圖" 獲取面試腦圖,因爲圖片很大)

首先說明我是Java開發,我的範圍只適合Java開發的,其他方向我不太瞭解,並且很多公司側重點也不一樣,比如字節不側重語言,側重操作系統四大金剛那些,也看公司吧,就像考不同的學校,會有不同的大綱,因爲我是本科生,都比較側重基礎

Java:Java基礎雜七雜八的(經典必考集合各種死磕源碼吧)、多線程併發包各種死磕(我是死磕到源碼),JVM死磕到細節、GC死磕到細節、JVM調優自己練習練習

框架:spring看看IOC和AOP的源碼,但是太難太難了,就光那個方法名就特別長,前期就只知道個IOC和AOP是啥,後期就去看源碼記大概一個原理過程,SpringMvc的流程,一些註解吧,Mybatis也是那些常考的點吧,緩存可以瞭解一下

數據庫:數據庫死磕,越深越好

操作系統和網絡:背常考的、但是太深了,還是菜

設計模式:太多了記不住,我就是簡單瞭解一下,叭叭給他說有啥用,Java裏哪裏用了xx模式

算法和數據結構:是我秋招開始補的、做完類型題進行總結,刷的就是LeetCode吧,我是先LeetCode,然後劍指offer,但是我也是有很多筆試直接掛的,除了遇到一些簡單的,或者原題或者類似的題能A,一定要總結套題,類型題,一定總結一定總結一定總結

Redis:沒有用過,但是就是記吧,那些常考的東西

IO模型、網絡編程:比較菜了,不咋會

Linux:我也比較菜了,就會簡單的命令

微服務、分佈式、集羣、中間件:我不瞭解,只知道有這個玩意

關於源碼閱讀:建立在自己會使用這個東西之後再去閱讀源碼,閱讀常用的方法源碼即可,第一次閱讀源碼建議看視頻跟着閱讀或者找博客,要不然比較生疏很難,,,,

我的項目很 low 怎麼辦??

low 不是你的問題,但是項目也可以“包裝“啊,此“包裝”非彼包裝,舉個例子吧:

Q:原項目有一個等級權限管理,就 3 層等級,數據庫裏設計好了就分 3 級,面試官就問到你了,你這個怎麼做的。

A:自己一頓叭叭叭,

Q:面試官給你提了一個新需求,如果 3 層等級變了,變成了不一定多少層,你又怎麼設計?

面試官給你說出了問題,不管你有沒有回答出來,但是希望你面完之後,你對這個需求去重新設計一下,下一次面試自我介紹的時候說:

對於 xx 項目,我自己私下也有覆盤,比如當需求變爲 xxx 的時候,我考慮到這樣設計:叭叭叭.....。

這樣你的 low 項目就變得不再 low 了,突出你的思考、你的想法

項目 low,無實習經驗,還是個渣本,怎麼拿到 offer 的

死磕基礎,把很多源碼看了,集合、JUC下的,面試就磕源碼,操作系統和計算機網絡背不住,就是手寫吧。我拿的offer裏,基本都是Java問的很多

關於套路和技巧

關於面試:面完問一下面試官對你的評價,找到自己的不足,另一方面也表現出自己強烈的學習慾望,反正我每次問面試評價都是:基礎不錯,就是動手實踐不是很好,xxx,,,,如果感覺跟面試官聊得不錯的,可以厚着臉皮要個微信加,反正我面滴滴三面要微信加,被面試官拒絕了,其他的也有成功的,哈哈哈哈哈

面試覆盤:我一般線上面試會錄屏或者錄音,面完之後覆盤總結,不單單是總結,你還要找到自己的不足去彌補,防止下一次再被問,這就是爲什麼我面經這麼全的原因,不是我記性好,,,,,哈哈哈哈哈

關於投簡歷:寫一個 Excel 或者 Word 記錄投的公司,時間,投遞方式,方便後期去查詢結果

你的秋招時間這麼長,你的心態如何呢?

秋招歷時足足 4 個月,心態就像心電圖一樣,考研就像前期平穩,後期曲線上漲,因爲自己也很樂觀,在整個秋招之路里,也有人說話,自己也有幾個網上的小夥伴羣,每次就是說說話,互相激勵對方,如果你是一個人的話,希望找幾個小夥伴一起交流說說話,避免自閉低沉消極

關於衆多知識點和麪經你又是怎麼選擇去看的呢?

1.先看衆多的知識點,廣度先建立起來,遇到一個不會的知識點千萬不要入坑掉進去,越陷越深2.廣度那麼多,我看一遍記不住咋辦,那就多看幾遍,理解化記憶,找一些共同點進行記憶,手寫記憶(秋招以來我大概寫了 20+的單面 A4 紙吧),抱團組隊,互相面試,互相講解3.廣度拉起來之後,去看看深度,瞭解一下源碼 xx 的,深度是你從衆多面試者脫穎而出的法寶4.面經看了一定的知識點之後再去看,作爲查缺補漏之用,當你要準備面哪個公司之前,去看看這個公司的面經。

簡歷應該怎麼寫???

以下屬於個人觀點:

1.如果成績好,寫上你的 GPA 和排名2.學校好肯定是個亮點3.有博客(前提裏面要有內容),有 GitHub 寫上去4.大廠實習是個亮點5.項目負責模塊最好用:用 xx 實現 xxx 解決了 xxx 問題,網上都說最好用 STAR 法則寫,6.計算機類的比賽加分項吧、ACM.....7.技能棧寫你會的,精通、熟悉、瞭解 xxxx。

劃重點:字不能錯,大小寫要寫明白,Java 不是 java,我不知道這個單詞到底是怎麼拼,去官網瞧瞧他怎麼寫的。

如果以上你都沒有???我好慌,我該怎麼辦???

把你複習的衆多知識點堆在技能棧上,前提是你要會!會!會!不會就不要寫(別給自己挖坑),比如:

看多線程知識點前:

1.瞭解多線程編程

看知識點後:

1.熟悉多線程編程及原理,內存屏障和 CPU 緩存、線程池應用及原理、synchronize 鎖優化、JVM 內存模型、J.U.C併發編程包

再次重點提醒!!!一定要會才往上寫!!!

實習、秋招、春招那點事

坎坷的offer故事:

貝殼是第一家面完 全部流程的公司,當時認爲能過,結果被掛了,不知道是什麼原因,可能學校吧...,當時挺難過的。

京東是8.13 14的一二面,面完之後一直沒信,二面面試官也說我技術面過了提交了HRBP處理了,等到了8.29正式批給我發來線下面試邀請再次聯繫了二面面試官幫我反饋,當天晚上收到HRBP的oc,給我說鎖定簡歷,給我發offer,問了幾個hr的問題,9.5問hrbp什麼時候發offer,hrbp問我要了身份證,之後一直持續到9月底,期間給HBRP發了四次微信詢問offer的事,沒有一次回我微信的,9.30二面面試官幫我反饋了我一直沒有收到offer的情況,HR那邊還是沒有給反饋,國慶期間最終找到零售校招HR幫我查了一下我的信息,結果說沒有查找我的信息,我給他說了我是提前批,HBRP問我要了身份證各種情況,說幫我對接一下HBRP,最後發現是把我的信息遺漏了,重新給我提交,10.10收到offer,等待京東這段時間,身邊的人都說我涼了涼了,但是我還是堅持下來了,天天找各種途徑去查,最終也是沒有辜負自己的努力。

滴滴是8.9投的簡歷,8.27筆試,邀約9.7的線下面試,但是我拒絕了,期間一直想去問問能不能申請線上面試,結果沒有找到途徑,9.12電話邀約了9.16一面,面完之後一直就沒有信了,也沒有拒信,官網狀態還是面試流程中,然後一直給滴滴的郵箱發消息問面試結果、不下5次吧,都是石沉大海,在牛客找滴滴hr聯繫方式,也沒有方式,在10.15的時候再次給滴滴郵箱和滴滴招聘公衆號發消息,下午來了hr約二面了,我堅持的等到了,9.16-10.15 一個月的時間啊,這期間也基本每個人都告訴我是掛了,是不會有感謝信的,但是我還是堅持,同樣我是在10.10收到的京東offer,但是我還是不甘心,還是去堅持問滴滴,就是要個結果,掛就去京東,過就繼續面,再約面滴滴這期間,我同樣面試了其他家爲了面試查缺補漏吧,大大小小公司我都投,一直堅持到offer,給自己的目標就是面完滴滴三面就不面了,結束秋招,因爲太累太累了。。。

總結:

面試就是把自己變成商品,不遺餘力地推銷給面試官,從而打動他的過程。

面試就像一場考試,給定了要考的範圍,就是你能不能去堅持死磕他了,堅持死磕對了,加上一點運氣+臨場發揮就是勝利,祝各位加油!!!沖沖衝!!!就是幹!!!


以下面經順序爲難易度排序及 offer 排序

滴滴(11.5 offer):線上面

8.9投簡歷:

8.27筆試:

9.16一面:80分鐘左右

1.Java集合說一說吧set ,list,map都問了一遍2.TreeSet和HashSet區別紅黑樹區別,有序無序3.hashmap和concurrenthashmap4.線程池用過沒,線程池的參數什麼意思,每個都問了一遍5.拒絕策略說一說6.synchroBlockQueue 到底可以存幾個7.鎖用過沒,叭叭各種鎖,8.鎖的什麼方法你用過tryLockgetHoldCount9.lock和tryLock區別10.lock的公平鎖和非公平鎖的怎麼實現的(源碼級別),不限於概念11.類加載機制,不是類加載幾個過程12.如果多個類加載器加載同一個類,會出現什麼情況13.tomcat的加載過程14.spring的生命週期,不是bean15.AOP16.ASM怎麼實現cglib17.mybatis的插件用過沒,18.項目, 背景:暫存數據,每一次把用戶填寫的數據暫存到數據庫,暫存字段,0暫存,1正式存1.如果實現a用戶暫存數據1,b用戶暫存數據2,實現a下次只能看見數據1,

給car表加一個操作人字段,每次判斷

    2. car表怎麼設計的,

id,車牌號,xxx,xx,暫存標記

    3. car表主鍵是什麼

主鍵id

    4.主鍵id有什麼規則嗎?

自增長

    5.如果一個車牌號重複了,添加的時候怎麼處理的

每次填入的時候,都會在數據庫裏查詢一下,判斷是否有

    6.如果4個人同時填入車牌號爲888的車,怎麼處理這個問題

    7.加鎖爲消化資源,你考慮一下在數據庫進行操作吧

    8.隔離級別是解決什麼問題的啊

併發的時候問題,叭叭髒讀等問題,

    9.隔離級別什麼時候纔出來啊?        19.數據庫索引,索引類別

唯一索引,聚簇索引,非聚簇索引

    20.聚簇索引和非聚簇索引區別    21.二叉樹和B+樹的區別

叭叭半天,沒有get到點上1.B+樹所有數據都在葉子節點,每次查找時間穩定2.葉子節點都有指向下一個葉子節點的指針,範圍查找比較方便

    22.那如果把二叉樹弄成,所有數據都存在葉子節點呢

二叉樹,如果刪除的話,可能會變成線性樹,時間複雜度變高

    23.那如果平衡二叉樹呢

叭叭了,記得好像磁盤存儲是用的b+樹結構,索引是存在磁盤上的,用B+樹會減少IO操作

    24.怎麼減少IO操作的    25.磁盤上所有文件都是B+樹存儲嗎?

文件夾的文件吧

    26.磁盤上怎麼存儲這些數據的    27.你瞭解什麼文件格式

elf,a.out

    28.Linux操作系統瞭解過嗎

Linux不太瞭解過,用過Linux命令,進程同步

    29.Linux命令用過哪些

cd,grep,pwd,mv,管道符,ps

    30.Linux根目錄下有哪些文件夾

etc,bin,我好像記得是,可能記不太清楚了

    31.手撕翻轉樹,遞歸+遞推

    32.手撕最小路徑和

10.17二面:50分鐘左右

1.開源項目瞭解什麼2.SpringBoot如何加載,源碼3.學習源碼如何深入學習的

叭叭叭ArrayList和LinkedList

    4.如果去了解spring的啓動過程,你怎麼去了解    5.tomcat啓動的流程,要加載什麼資源    6.項目中有哪些收穫    7.項目中負責哪些點,技術方向吧    8.爲什麼用mvc架構

面試官:其實這個mvc架構知識點還是很深的,要做好還是很難的

    9.項目裏Spring的事務是怎麼管理的

在方法上加註解

    10.那爲什麼加註解可以實現,這個加載機制是怎麼實現的,源碼級別    11.爲什麼這個註解可以實現事務    12.那這個事務和數據庫的事務有什麼關聯

acid,事務隔離級別

    13.那你們當時項目選技術是怎麼思考,比如mybatis用的什麼連接池

用的c3p0

    14.那你知道有其他的連接池,各自有什麼區別

c3p0、dbcp、druid三大連接池對比 - wawa3338的博客 - CSDN博客 https://blog.csdn.net/wawa3338/article/details/81380662c3p0,dbcp與druid 三大連接池的區別 - 泡麪之家 - CSDN博客 https://blog.csdn.net/qq_34359363/article/details/72763491druid的功能強大、擴展好,

    15.那你感覺連接池的功能都有什麼

1.資源重用2.更快的系統響應速度3.新的資源分配手段4.統一的連接管理,避免數據庫連接泄漏

    16.項目大概幾個人,開發的人,源碼包大小多少    17.juc看過哪些,說AQS的機制    18.Lock如果給線程分配鎖的

叭叭ReentrantLock

    19.公平鎖和非公平鎖的區別,源碼級別

面試官補充:非公平鎖就是搶佔式的嘛

    20.隊列呢,瞭解什麼

ArrayBlockQueue,LinkedBlockQueue

    21.各個隊列使用場景    22.queue裏面都有什麼方法

offer,add,put

    23.各個方法仔細講講,都會出現什麼情況,添加的方法有什麼,都有什麼不同出隊列呢,都有什麼,跟offer對應的    24.jvm看過什麼、jvm常用命令    25.jstat的參數,比如看一個線程的回收情況,怎麼看、其他的命令呢    26.動手去編譯JDK源碼    27.JVM的類加載流程,到解析到字節碼    28.如何去驗證版本的衝突的,比如jdk1.6到jdk1.7    29.初始化去怎麼做的    30.實際運用中,ClassLoader都有了解什麼    31.如何實現一個動態加載、實現哪些方法    32.如何獲取當前的ClassLoader    33.那可以保持建立多個ClassLoader嗎?    34.爲什麼加載器加載出來的類不一樣    35.jvm內存模型    36.多線程如何實現主存同步的

緩存一致性扯一扯,Java內存模型

    37.那通過什麼指令去實現其他工作內存無效的    38.Java裏怎麼實現緩存一致性的

   volatile、synchronized、lock、信號量、wait/notify
面試官補充:信號量也是加鎖實現的

    39.jvm的鎖優化有什麼

說了synchronized,

    40.那還有其他編譯器的鎖優化嗎,比如鎖粗化

鎖消除、、、、、

    41.網絡編程知道嗎    42.創建socket的過程    43.從server端開始說吧,幾個步驟    44.   accept操作之後,然後呢    45.   怎麼解析這個信息呢,輸出到什麼流裏呢

46.互聯網這塊網絡編程用的也挺多的,比如rpc框架什麼的47.    Java裏的IO這塊你瞭解嗎,區別48.BIO、NIO、AIO的對應類實現瞭解嗎49.shell命令50.進程通信方式51.Linux調度方式有什麼52.Linux的緩存有幾級53.jdbc連接mysql的幾個步驟、爲什麼要加載驅動呢,原理是什麼、PreparedStatement和Statement區別、返回結果如何查詢

準備 private static final URL、、、 也可以用properties從文件中讀取。load()、
1、首先註冊驅動啊?怎麼註冊?反射啊,Class.forName("xx.xx.xx.Driver");底層怎麼實現的?靜態代碼,DriverManager.registerDriver?啓動的時候,會自動調用靜態代碼塊的內容。
2、接下來就是獲取連接啊,怎麼連接?遠程連接(三次握手操作),連接放哪裏?作爲資源必須放池子裏。這樣能提高性能。常見的連接池有DBCP,C3P0,傳說中最安全,性能最好的Druid(國產),而且還能監控。
3、你總的有SQL語句吧,之後就是Statement編譯那。這裏會出現SQL注入的安全問題。在語句後面加"1=1"成立。所以我們採用預編譯的方式,PreparedStatement。可以防止這種問題的出現。
4、查完之後獲取結果集。rs.getString().
5、頭疼的來了,釋放資源。各種 if(xx != nu) {try{ xx.close();}catch{}} 不用擔心JDK8 出來一個新特性,可以放在try-withresource中。還有各種異常可以採用通道的形式 XxxException | XxxException
6、各種異常需要你放到一個try{}catch{}中,出問題你也不知道問題在哪裏?麻煩嗎?不用擔心,我們可以封裝成一個工具類,需要的時候調用工具類.getConnection();還是麻煩啊,可以用Spring框架爲我們集成提供了jdbcTemplate,HibernaterTemplate。用模板代碼消除了大量的樣板代碼。

遍歷結果集,叭叭

10.29三面:36分鐘左右

1.說說ArrayList的源碼各種方法吧,add,remove一系列方法2.MySQL的聚簇索引3.知道SQL注入嗎、Java裏怎麼防止的呢4.Redis和數據庫的一致性5.瞭解過什麼開源的東西嗎

Spring

    6.那說說AOP吧

11.1 HR面

11.5 offer

熱文推薦

爲我開發的API添加華麗的外衣

技術人的副業之道

RedisTemplate:我不背鍋,是你用錯了

得虧了它,我才把潛藏那麼深的Bug挖出來

驚訝!緩存剛Put再Get居然獲取不到?

好機會,我要幫女同事解決Maven衝突問題

如有收穫,點個在看,誠摯感謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章