
背景:
在老東家五年了,總共作業整八年,經歷兩家公司,2020-10-31日離職,公司規模較小,專案壓力不大,非985/211畢業,統招本科,計算機專業,目標:中大型公司,最好是大廠,嘿嘿,不過不抱希望,畢竟背景不太好,
準備:
撰寫簡歷,每天下班回家 7-12點看視頻,刷博客,看面試題,學習內容:《某某課堂》學習視頻,準備內容:Java 基礎,集合,執行緒池,鎖,MySQL索引,事務,Spring等,
2020-10.31
提了離職已經有二十多天了,今天老板簽了字,辦了離職手續,《某某直聘》上傳簡歷,重繪簡歷,《某東供應鏈部門》打電話問了問我的學歷是否統招本科,約我明天下午去面試,不過他也算是大廠吧,沒有面試經驗咋辦,心里很忐忑,沒關系,開始加油吧!咦,有條訊息,我一看是我同學給我發的截圖,原來他刷到我的簡歷了,他說幫我內推,內心還是挺激動的,內推公司:《打車》
2020-11-01
早上五點半爬起來了,開始看視頻,刷資料,準備面試,一直到12:00,沒吃飯,公司太遠了,在亦莊,要兩個小時才能到,出了地鐵口,映入眼簾的便是他們的大樓,找到部門,給了張面試題,
- HashMap,HashTable,ConcurrentHashMap的共同點和區別?
- Spring的 init-method,destroy-method的實作方式?
- 說幾種實作冪等的方式?
- 說幾種分布式鎖的實作方式?
- 有一個List集合,多執行緒計算總和,說出你的思路和使用到的框架,
- 一個開放題目,數三角形的
做完題目,感徑訓比較OK,來了一個面試官,大概三十多左右,
- 自我介紹
- 介紹一下專案
- JVM記憶體模型
- MySQL事務隔離的底層實作?
- MySQL索引介紹一下?
- 命中索引要注意什么?
- List去重,手寫代碼,考察基礎

二面:部門負責人
- 簡單聊聊,介紹團隊業務,有什么要問的嗎?等待通知,(說好的《打車》內推呢,咋還不給我打電話呀,算了,可能簡歷沒過,)
總結:MySQL事務隔離底層實作細節還要多補充一下,JVM細節在多看看,
接到《某某租房》公司面試邀約,下周一下午面,正好周六日在準備準備,
2020-11-04
坐地鐵輾轉到了公司大樓,你好,來面試的,領到一份面試題,來到三樓休息室,一大堆人跟菜市場似的,我擦,競爭壓力這么大啊,看了一眼面試題,好多不會的,算了,不做了,走吧,來都來了,試試唄,開始做題,
- String new String 的關系 ==,equals
- 兩個鏈表相交,求交點
- 三個執行緒順序列印ABC
- 如果aab,aba相等,給兩個字串,判斷是否相等
- 畫一下RPC的架構圖
一面:一位說話比較輕柔的技術官,
- 自我介紹
- String ,new String 這道題為什么這么選?原因?
- 說一下專案
- 手寫一個單例
- JVM記憶體模型,JAVA 堆疊能分配物件嗎?
- 說一下類加載程序,雙親委派模型原始碼看過嗎?介紹一下
- 什么情況下堆疊會溢位?
- 堆疊幀介紹一下?
- MySQL索引了解嗎?畫一下?
- 從業務角度出發,如何設計MySQL資料庫?有哪些優化點?
- 垃圾回收了解嗎?介紹一下?
- 講一下AOP的原理?Cglib能代理final方法嗎?
面試官對我說:我覺得還OK,你等一下,我們領導開會,讓HR通知你改天二面吧,:好的,啟程回家,
同學微信:我們HR給你打電話了嗎?:沒有,那我讓他約你,
HR:你好,為了不耽誤時間,約您電話面試,(同學介入)
HR:你好,周五直接來公司面試,,,
2020-11-05
相安無事,幫表弟的朋友扣了我的駕照9分,,,下午去某公司面試,結果面試官沒有接到電話,保安也不讓我去問,算了,走人吧,
2020-11-06
《某某租房》復試,面試官很年輕,比我大兩歲,人家已經是研發經理了,看看我,哎,,,,
- 專案為什么不用RPC框架?
- 了解RPC嗎?,畫一下流程圖?
- RPC和HTTP協議有什么區別?
- 長連接是物理真實存在的嗎?
- 介紹一下專案?
- MQ 訊息丟了怎么辦?發訊息是原子操作嗎?
三面:研發總監
- 鎖介紹一下?有哪些?
- 執行緒阻塞從作業系統的角度介紹一下?
- 其他的記不清了
下午四面:技術總監
- HTTPS的流程
- 你認為你還欠缺什么?
- 如何學習的?
- 瞎扯淡,行了,簽字,錄用了
HR談offer,回家嘍,
2020-11-07
《某某優鮮》下午兩點,找大樓找了半天,公司好幾層,我擦,沒見過這陣仗,上樓等一會,沒有面試題,
一面:
- 你的專案如何拆分的?為什么這么拆?
- 如何保證服務高可用?
- MySQL掛了怎么辦?(掛就掛了,很慚愧,公司沒實作資料庫高可用,,,,)
- 專案經歷有點差啊,就不問你互聯網專案問題了
- 說一下 WebSocket協議
- 說一下HTTPS協議
二面:
- SpringBoot了解嗎?和Spring的區別?
- 如果想做定制化開發,怎么做?
- @Conditional 說一下
- 事務的傳播機制?
- 說說MySQL索引?
- 可重入鎖的原理?(state ,AQS)
- 拆分服務,服務治理有了解嗎?
HR:簡單聊了一下,為什么五年不離職?你這樣的很少見啊,還有一輪部門老大面試,你先回去吧,電話面,
晚上收到通知,周五6點電話面試,
2020-11-08
該來的終于來了,要面對最終BOSS了,不過還好不用坐地鐵了,上午看了幾個視頻,準備了一下,中午12點,洗個澡,收拾收拾,騎車出發,心情很忐忑,騎車到了地方,公司LOGO映入眼簾,兩座大樓,給HR打電話,接待,上樓,等了一會,一個年輕的面試官過來了,
- 設計一個秒殺系統,講一下你的思路,(我擦!!!)
- 如何設計限流?
- 庫存怎么扣減? decrby 可以嗎?
- 庫存扣減失敗怎么辦?
- 畫一下專案結構?
- a,b,c 聯合索引, a=1,b=1,c>1 能命中索引嗎? a=1,b>1,c=1能命中索引嗎?
- JVM 堆說一下?觸發Full GC 的場景有哪些?
- 說說G1垃圾回收器?老年代,年輕代如何分配?
- Redis 鎖出錯怎么辦?
- Redis 扣減庫存有問題怎么辦?
- 設計一個轉賬系統? A->B轉100塊,有沒有思路?
- Redis 有哪些持久化方式?
- Redis 資料會存放到磁盤嗎?
- Redis為什么這么快?
- Linux 統計top10 IP訪問日志,用到哪些命令?(不會)
- Linux 自己用過哪些命令呢?
- 如何查看Dump日志?怎么產生的?命令有哪些?
- 一個執行緒池 ,10個核心,100個最大執行緒數,100個佇列,10000個請求打過來,描述一下執行緒池如何運行? 拒絕了怎么辦?
- 考察一下基礎知識吧,String new String 的區別? (== equals )
二面:(和一面問了好幾個重復的問題,害的我又講了一遍)
- 專案你認為有哪些難點?(活動報名超員,聯想到秒殺)
- 秒殺場景如何處理?
- 可以用Redis decrby 做庫存扣減嗎?如何做?(可以用 lua保證原子性)
- lua太重,有別的方案嗎?
- 庫存如何恢復?
- 防止超賣還不行,未支付的訂單如何處理?
- 用戶名密碼如何防止被盜?(js加密,不行,還是能破解,哦,https,,,,)
- 說說https的流程?
- 有了解過哪些非對稱加密演算法?對稱加密演算法呢?
- c,b,a 索引問題,c=1,b=1,a=1 能命中索引嗎? c>1,b=1,c=1 能命中索引嗎?為什么?
- 評論業務如何區分模塊的? (bizId)
- 某個業務打爆資料庫了怎么辦?(分庫,拆分服務,單獨部署,還有呢?MQ)
- 了解限流嗎?降級?算了,你也沒接觸過,不問了,(ORZ)
- Linux 統計top10 IP訪問日志,用到哪些命令?(不會)
- 說一說你對HashMap的結構理解,如果Key相同怎么辦,鏈表是前插還是后插?紅黑樹呢?
- 用過哪些Linux命令?(mkdir,ll,等,,,,linux確實是我的弱項,以后要惡補了,)
- 1 2 2 3 3 4 4 5,如何確定3的索引位置? (計數統計,O(N) O(N),還有更好的方法嗎?回圈吧,(正確答案二分法,我提到了,但是思路卻錯了,被批了一頓)
- GIT 團隊開發如何去做?如果有個 feature 不用上線怎么辦呢?
- maven 如果包沖突,不解決會有什么問題?如何解決包沖突問題?
- 設計一下Dubbo的執行緒池? 每次請求50ms 200 QPS,客戶端500ms超時,如何設計? 直接打入200個請求呢?佇列多大?執行緒池多大?(回答的不好)
- Integer a1=10000 Integer a2=10000,他倆 == 結果? 怎么才能相等呢?(equals,== 比較的參考地址,考察Integer 快取)
- Integer a1=100 Integer a2=100 呢? 引數可以設定嗎?如何設定?
部門老大面:
- 你是某某同學吧?(舍友)
- 說一下以后的打算?
- 技術成長?業務方面有哪些選擇?
- 不能光看技術,要熟悉業務
- 如果DB要掛了,用哪些方式去解決?(說了一些我認為的方案,但是明顯不是,,畢竟沒接觸過,所以只能自己理解)
- 如何統計QPS?有沒有了解市面上的框架?如何實作,原理呢?
- 他們該問的都問了,聊聊非技術的吧
- 等一下,我讓HR找你,
HR面:
- 離職原因?
- 五年怎么離職了呢?
- 期望薪資?
- 周一等訊息吧,
和同學簡單聊了聊,同學說我的回答還可以,只不過經驗少一些,(哎,小公司業務量小,確實吃虧),慢慢來!我說,有這次面試機會我已經知足了!!!要不然我的簡歷肯定是過不了的,

總結:
面試之前確實要多做準備,不過有實戰經驗的話更佳,怪不得大廠跳大廠較為容易一些,小公司也不要氣餒,一些公司不看專案,看你對高并發專案的理解,哪怕自己沒做過,有自己的方案也可以,基礎必須扎實,不要只背理論,深入了解,了解的越深越好,雖說面試造火箭,作業擰螺絲,你有造火箭的能力還怕擰不好螺絲嗎?
面了整整一周,總共四家公司,最終結果自己還是可以接受的, JVM,MySQL必須掌握,其他基礎知識要牢固,并且要用到實戰上,要不然學再多也是理論,Linux作業系統要惡補一下,由于自己高并發場景經驗較少,這個只能在業務量較大的公司才能學到,
? 另外,市場上的資料,不管是付費的還是非付費的確實對面試很有幫助,但是如果自己有個好專案搭配的話,更好一些,要不然面試官都沒法問,
? 別問我為什么五年不離職,我也不知道,是好事還是壞事?
? 整體面下來,感覺自己準備的勉強及格了,但還是不夠好,應該能回答的更好的,讓我想起了一句話,你本來可以做的更好,所以,告誡自己不要再浪費時間,多學習,多總結,
感謝閱讀
看到最后肯定是有彩蛋的!經歷了這次面試我整理了一份全面的學習資料:包含完整面試題及答案(都整理成檔案),有很多干貨,包含mysql,netty,spring,執行緒,spring cloud、JVM、原始碼、演算法、還有詳細的學習規劃圖,需要的朋友加v:a13142089174 獲取!
(求關注,別白嫖我)三連支持一下 謝謝!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/281255.html
標籤:其他
上一篇:(二)排序演算法總結(內排序)
