
作為一個畢業2年的coder, 最近一直在尋找一個合適的機會能夠換一個環境,一是尋找一個更加寬闊的舞臺不斷的提升自己,二是讓自己走出現在的舒適區域,迎接更多的挑戰和認識更多的人,當然還有為了獲得更加好的一份收入,
這一個月,我投遞了4個公司,分別為華為,頭條,招銀網路科技和螞蟻金服,頭條筆試完就沒回信(講真,作為一個上班族,壓根沒有刷過演算法題,真心不會做,還是自己太菜逼,以后有時間還是定期的了解下演算法,算是擴展自己的思路),比較幸運的是,其余3家都拿到了對應的offer, 后面也暫時不去面試了,等待最終的選擇,是留在現在的崗位還是出去看看,
下面記錄下面試的經驗,一方面用作后期自己回顧知識點,另一方便給正要面試的人一些經驗,
華為面試
一面
專案介紹
spring的了解
微服務拆分依據
微服務比較傳統應用,單一應用的優點
分布式調度系統的性能,支持最大客戶端
分布式調度專案中,client 和 server的通信方式
執行緒安全的理解
微服務應該監控哪些指標
ai用到了哪些演算法
SPRING ioc用到了哪些設計模式
專案架構
單利模式的實作
ps: 單例模式很基礎,很重要,里面可能會涉及單例安全,如反序列化可能會破壞單例,然后可以問到類的安全加載等深入知識
哪些地方可能出現oom
需要了解在每個區域出現oom的例子,最好自己能寫出來
二面
華為的二面是技術leader面試的, 由于當時沒有即時的記錄下面試記錄,所以有點忘記了,不過技術leader的面試主要是圍繞做過的專案,問一些專案的細節,然后會問下自己的意向,作業態度之類的(畢竟華為的加班在業界是比較出名的)
HR面
HR面試的話主要是考擦職業規劃,對作業的態度,原有職位的一些情況, 感覺HR還是不錯,平易近人,面試的程序比較輕松
總的來說,華為的面試偏向基礎,沒有太多的問及到底層的架構,
招銀科技面試
招商銀行也是先筆試,然后是面試,
招商銀行的面試可以說是也是4輪,不過比較好的是4個面試官一起,一次性把所有的問題問完,我覺得這樣很好,非常高效, 不用每輪面試都介紹一下專案,
專案介紹
專案中快取的設計
快取擊穿
快取雪崩
分布式調度系統如何調度?第一輪調度任務沒有處理完就第二輪調度時間到來的處理方式?
快取的資料有哪些?key的設計原則
HashMap資料結構
spring ioc
mysql死鎖
然后就是hr詢問一些常規的問題,如作業意向,期望薪資之類的,
螞蟻金服面試
一面
專案介紹
專案中如何保證資料一致性的
存在的問題
jvm 記憶體
程式計數器的作用
gc 演算法, 垃圾收集器
spring事務,事務實作的機制,如何保證事務的
悲觀鎖,樂觀鎖
HashMap
紅黑樹,B+樹
資料庫死鎖,如何防止死鎖
二面
二面開始于5道題目,整體感徑訓是比較難的,面試的前一天給我發的題目,然后晚上下班后(9點左右)我做了5個小時才完成吧, 第二天面試的時候,主要圍繞題目進行展開和發散,
從第一個題目延伸出(轉賬):
分布式事務的保證,具體的解決方案;
介面的冪等性;
如果向某個賬戶轉賬在高并發環境下,設計的介面有什么問題(資料庫瓶頸)
如何解決上述的問題
如果賬戶表很大,具有億萬級別,如何提高查詢效率(分庫分表)
分庫分表具體操作,什么時候分庫,什么時候分表,各個使用場景
mysql主從
mysql如何保證主從的資料一致性
資料庫的容災
第二個題目: 搶紅包
搶紅包的實作方案;(我給出的解決方案是存下搶紅包的操作,然后樂觀鎖更新金額,保證資料的最終一致性)
有沒有優化空間;
春晚紅包方案(包括限流,網路瞬間抖動,資料一致性)這一點聊了很久,,,
對分布式的看法
開源中間件熟悉哪些?(只是做簡單了解)
三面
個人專案介紹
讀書時候的經歷? 介紹讀書時候的專案(這個也太不按照常理出牌了,讀書時候發表的論文,基本忘記了呀!!好吧,只能想到啥隨便說點吧)
專案一(支付營銷系統)的具體介紹, 架構,專案中某個操作的具體流程圖,如何壓測? 性能優化? 專案中機器的臺數,機器擴容標準? 執行緒池大小?執行緒數設定標準?
平時用到了哪些集合?hashmap的問題?cpu 100%出現的情況(我從來沒遇到過,看過資料其中有一點,讓我說說其他情況, 懵逼)?Treeset的實作?
分布式事務,秒殺系統的要求?秒殺系統的設計原則?注意事項?專案中遇到的問題?解決放肆?
專案二(分布式調度系統)的具體情況,架構?中間某些步驟的具體的設計思路,(這個挖的很深,而且面試官確實很厲害,幾分鐘能夠了解你整個專案的大致情況,知道你設計的痛點,然后咨詢你如何解決的)
kafka訊息可靠性保證?其他中間件有沒有了解過?平時閱讀什么技術?
正常的問我有什么問題,介紹了下具體的部門資訊,然后就通知讓等hr電話,
HR面試
HR面試主要是問了過往的經歷,包括大學,研究生和所做的專案,然后就是個人的職業規劃,就職意向等,
個人總結
通過這4家企業的應聘,發現自己很多的不足, 比如頭條注重的演算法,解決一個實際的問題還是比較欠缺,另外還有就是自己的思路不夠開闊,看待問題不夠深入,比如HashMap出現100%CPU的情況以及原因,我覺得對于知識來源,如果能夠從自己的專案中獲取,那么印象是比較深刻的,比如我曾經遇到過的資料庫死鎖,堆記憶體溢位等問題,因此對這塊的面試來說,應該算是可以勉強的應付,但是專案中的坑總是有限的,那么就得自己去不斷的學習、總結,
(Tips: 有需要平時用來學習的資料的,可以加一下我的群: 756584822就可以了)因此在以后的作業學習中,一定要適當的深入,不斷的思考和反思,這樣才能夠遇到問題時候不至于慌亂,
Choose
最后根據自己的職業規劃,選擇了螞蟻, 下一站,加油,
]
最新2020整理收集的一些高頻面試題(都整理成檔案),有很多干貨,包含mysql,netty,spring,執行緒,spring cloud、jvm、原始碼、演算法等詳細講解,也有詳細的學習規劃圖,面試題整理等,需要獲取這些內容的朋友請加QQ群:
756584822
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/235464.html
標籤:其他
上一篇:Kubernetes 的外部訪問方式,NodePort,LoadBalancer,Ingress
下一篇:淺談mybatis-Cache
