程序员(工作2年)立flag,面四家,成三家,最后进了蚂蚁.....
作為一個畢業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
最后根據自己的職業規劃,選擇了螞蟻, 下一站,加油。
總結
以上是生活随笔為你收集整理的程序员(工作2年)立flag,面四家,成三家,最后进了蚂蚁.....的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 这三种千万别买!火锅里的丸子究竟是什么做
- 下一篇: 8K技术实拍中国空间站从头顶飞过:网友: