程序员(工作2年)立flag,面四家,成三家,最后进了蚂蚁.....
作為一個畢業(yè)2年的coder, 最近一直在尋找一個合適的機(jī)會能夠換一個環(huán)境,一是尋找一個更加寬闊的舞臺不斷的提升自己,二是讓自己走出現(xiàn)在的舒適區(qū)域,迎接更多的挑戰(zhàn)和認(rèn)識更多的人。當(dāng)然還有為了獲得更加好的一份收入。
這一個月,我投遞了4個公司,分別為華為,頭條,招銀網(wǎng)絡(luò)科技和螞蟻金服。頭條筆試完就沒回信(講真,作為一個上班族,壓根沒有刷過算法題,真心不會做,還是自己太菜逼,以后有時間還是定期的了解下算法,算是擴(kuò)展自己的思路)。比較幸運的是,其余3家都拿到了對應(yīng)的offer, 后面也暫時不去面試了,等待最終的選擇,是留在現(xiàn)在的崗位還是出去看看。
下面記錄下面試的經(jīng)驗,一方面用作后期自己回顧知識點,另一方便給正要面試的人一些經(jīng)驗。
華為面試
一面
項目介紹
spring的了解
微服務(wù)拆分依據(jù)
微服務(wù)比較傳統(tǒng)應(yīng)用,單一應(yīng)用的優(yōu)點
分布式調(diào)度系統(tǒng)的性能,支持最大客戶端
分布式調(diào)度項目中,client 和 server的通信方式
線程安全的理解
微服務(wù)應(yīng)該監(jiān)控哪些指標(biāo)
ai用到了哪些算法
SPRING ioc用到了哪些設(shè)計模式
項目架構(gòu)
單利模式的實現(xiàn)
ps: 單例模式很基礎(chǔ),很重要,里面可能會涉及單例安全,如反序列化可能會破壞單例,然后可以問到類的安全加載等深入知識
哪些地方可能出現(xiàn)oom
需要了解在每個區(qū)域出現(xiàn)oom的例子,最好自己能寫出來
二面
華為的二面是技術(shù)leader面試的。 由于當(dāng)時沒有即時的記錄下面試記錄,所以有點忘記了。不過技術(shù)leader的面試主要是圍繞做過的項目,問一些項目的細(xì)節(jié)。然后會問下自己的意向,工作態(tài)度之類的(畢竟華為的加班在業(yè)界是比較出名的)
HR面
HR面試的話主要是考擦職業(yè)規(guī)劃,對工作的態(tài)度,原有職位的一些情況。 感覺HR還是不錯,平易近人,面試的過程比較輕松
總的來說,華為的面試偏向基礎(chǔ)。沒有太多的問及到底層的架構(gòu)。
招銀科技面試
招商銀行也是先筆試,然后是面試。
招商銀行的面試可以說是也是4輪,不過比較好的是4個面試官一起,一次性把所有的問題問完,我覺得這樣很好,非常高效。 不用每輪面試都介紹一下項目。
項目介紹
項目中緩存的設(shè)計
緩存擊穿
緩存雪崩
分布式調(diào)度系統(tǒng)如何調(diào)度?第一輪調(diào)度任務(wù)沒有處理完就第二輪調(diào)度時間到來的處理方式?
緩存的數(shù)據(jù)有哪些?key的設(shè)計原則
HashMap數(shù)據(jù)結(jié)構(gòu)
spring ioc
mysql死鎖
然后就是hr詢問一些常規(guī)的問題,如工作意向,期望薪資之類的。
螞蟻金服面試
一面
項目介紹
項目中如何保證數(shù)據(jù)一致性的
存在的問題
jvm 內(nèi)存
程序計數(shù)器的作用
gc 算法, 垃圾收集器
spring事務(wù),事務(wù)實現(xiàn)的機(jī)制,如何保證事務(wù)的
悲觀鎖,樂觀鎖
HashMap
紅黑樹,B+樹
數(shù)據(jù)庫死鎖,如何防止死鎖
二面
二面開始于5道題目,整體感覺還是比較難的。面試的前一天給我發(fā)的題目,然后晚上下班后(9點左右)我做了5個小時才完成吧。 第二天面試的時候,主要圍繞題目進(jìn)行展開和發(fā)散。
從第一個題目延伸出(轉(zhuǎn)賬):
分布式事務(wù)的保證。具體的解決方案;
接口的冪等性;
如果向某個賬戶轉(zhuǎn)賬在高并發(fā)環(huán)境下,設(shè)計的接口有什么問題(數(shù)據(jù)庫瓶頸)
如何解決上述的問題
如果賬戶表很大,具有億萬級別,如何提高查詢效率(分庫分表)
分庫分表具體操作,什么時候分庫,什么時候分表,各個使用場景
mysql主從
mysql如何保證主從的數(shù)據(jù)一致性
數(shù)據(jù)庫的容災(zāi)
第二個題目: 搶紅包
搶紅包的實現(xiàn)方案;(我給出的解決方案是存下?lián)尲t包的操作,然后樂觀鎖更新金額,保證數(shù)據(jù)的最終一致性)
有沒有優(yōu)化空間;
春晚紅包方案(包括限流,網(wǎng)絡(luò)瞬間抖動,數(shù)據(jù)一致性)這一點聊了很久。。。
對分布式的看法
開源中間件熟悉哪些?(只是做簡單了解)
三面
個人項目介紹
讀書時候的經(jīng)歷? 介紹讀書時候的項目(這個也太不按照常理出牌了,讀書時候發(fā)表的論文,基本忘記了呀!!好吧,只能想到啥隨便說點吧)
項目一(支付營銷系統(tǒng))的具體介紹, 架構(gòu),項目中某個操作的具體流程圖,如何壓測? 性能優(yōu)化? 項目中機(jī)器的臺數(shù),機(jī)器擴(kuò)容標(biāo)準(zhǔn)? 線程池大小?線程數(shù)設(shè)置標(biāo)準(zhǔn)?
平時用到了哪些集合?hashmap的問題?cpu 100%出現(xiàn)的情況(我從來沒遇到過,看過資料其中有一點,讓我說說其他情況, 懵逼)?Treeset的實現(xiàn)?
分布式事務(wù),秒殺系統(tǒng)的要求?秒殺系統(tǒng)的設(shè)計原則?注意事項?項目中遇到的問題?解決放肆?
項目二(分布式調(diào)度系統(tǒng))的具體情況,架構(gòu)?中間某些步驟的具體的設(shè)計思路。(這個挖的很深,而且面試官確實很厲害,幾分鐘能夠了解你整個項目的大致情況,知道你設(shè)計的痛點,然后咨詢你如何解決的)
kafka消息可靠性保證?其他中間件有沒有了解過?平時閱讀什么技術(shù)?
正常的問我有什么問題,介紹了下具體的部門信息,然后就通知讓等hr電話。
HR面試
HR面試主要是問了過往的經(jīng)歷,包括大學(xué),研究生和所做的項目。然后就是個人的職業(yè)規(guī)劃,就職意向等。
個人總結(jié)
通過這4家企業(yè)的應(yīng)聘,發(fā)現(xiàn)自己很多的不足。 比如頭條注重的算法,解決一個實際的問題還是比較欠缺,另外還有就是自己的思路不夠開闊,看待問題不夠深入,比如HashMap出現(xiàn)100%CPU的情況以及原因。我覺得對于知識來源,如果能夠從自己的項目中獲取,那么印象是比較深刻的,比如我曾經(jīng)遇到過的數(shù)據(jù)庫死鎖,堆內(nèi)存溢出等問題,因此對這塊的面試來說,應(yīng)該算是可以勉強(qiáng)的應(yīng)付。但是項目中的坑總是有限的,那么就得自己去不斷的學(xué)習(xí)、總結(jié)。
(Tips: 有需要平時用來學(xué)習(xí)的資料的,可以加一下我的群:? 756584822就可以了)因此在以后的工作學(xué)習(xí)中,一定要適當(dāng)?shù)纳钊?#xff0c;不斷的思考和反思,這樣才能夠遇到問題時候不至于慌亂。
Choose
最后根據(jù)自己的職業(yè)規(guī)劃,選擇了螞蟻, 下一站,加油。
總結(jié)
以上是生活随笔為你收集整理的程序员(工作2年)立flag,面四家,成三家,最后进了蚂蚁.....的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 这三种千万别买!火锅里的丸子究竟是什么做
- 下一篇: 8K技术实拍中国空间站从头顶飞过:网友: