成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大廠面試:一個四年多經驗程序員的BAT面經(字節、阿里、騰訊)

新聞
先說一下個人情況,我是17年畢業的,去年年末開始面試,算起來是四年半的工作經驗,面試的公司大部分是廣州這邊的,有歡聚時代,字節,阿里的Lazada,騰訊,網易等公司,最后拿到了歡聚時代和網易的offer,除了歡聚時代還算順利之外,面試其他的公司都有點磕絆,而且面了不止一次,最后的結果不算很理想吧,但我個人還是挺滿意的,畢竟比起之前的自己,這一次的跳槽也算是一次職業生涯的躍遷。

上次寫了篇歡聚時代的面經,公眾號后臺有些讀者反饋說看得意猶未盡,希望我盡快更新其他大廠的面經,這里先說聲抱歉,不是我太懶,而是項目組剛好有個活動要趕在春節前上線,所以這幾天經常加班,只能工作之余斷斷續續的編寫,如果各位看管覺得本文排版看著有些凌亂的話,還望見諒!

背景

先說一下個人情況,我是17年畢業的,去年年末開始面試,算起來是四年半的工作經驗,面試的公司大部分是廣州這邊的,有歡聚時代,字節,阿里的Lazada,騰訊,網易等公司,最后拿到了歡聚時代和網易的offer,除了歡聚時代還算順利之外,面試其他的公司都有點磕絆,而且面了不止一次,最后的結果不算很理想吧,但我個人還是挺滿意的,畢竟比起之前的自己,這一次的跳槽也算是一次職業生涯的躍遷。

這個過程我也學到了不少經驗,面試之后我都會把記得的問題做記錄和復盤,事后復習彌補自己的不足之處,也使得自己在后面的面試表現中越來越得心應手。所以,別的段位我不敢說,但如果是社招五年內經驗的同學,我相信我的面經對你還是會有幫助的。

說明

下面給大家分享我面試幾間大廠的面經,我打算用真題+經驗之談的結合方式來給大家介紹,這里說明一下,因為社招很多題目都跟項目有關,而且幾面的面試題難免有重復,所以我下面的真實面試題不會寫的那么全,也不建議大家去背這些題的答案,畢竟每個人遇到的題目都不一樣,我們需要做的是了解面試考察的大概方向,然后看看那些地方不足,盡早彌補自己的知識盲區,只有自身夠硬才不怕鋼鐵的錘煉(這話有點中二,但我沒詞了)

字節面經

字節算是我面試最多的公司了,前前后后面了不下四次,實話說,字節的hr小姐姐還是很熱心的,一般面完兩天內就會微信通知你,咨詢問題也是很熱情的解答。

這幾次面試中有兩次我是在技術終面被刷的(吐了呀),一次到了hr面,問的知識范圍也都差不多,全部寫出來沒必要,給大家分享內容有些代表性的面經吧,這是我投遞字節國際化電商部門后端崗位的面試題目。

面試題

自我介紹

  • Redis你比較熟吧,說說它機制為什么快
  • 有幾種數據結構,底層分別是怎么存儲的
  • Redis有幾種持久化方式
  • 多線程情況下如何保證線程安全?
  • 用過volatile嗎?它是如何保證可見性的,原理是什么
  • MySQL的索引結構,聚簇索引和非聚簇索引的區別
  • MySQL有幾種高可用方案,你們用的是哪一種
  • 說說你做過最有挑戰性的項目
  • 你具體負責哪部分的東西,哪些最有挑戰性,說說你做了哪些優化
  • 秒殺采用什么方案,分表怎么做的,redis掛了怎么辦,
  • 分表為什么要停服這種操作,如果不停服可以怎么做
  • 你怎么防止優惠券有人重復刷?
  • redis數據冪等性是怎么保證的(類似于分布式鎖那種,有個key就行了)

設計題:

  1. 如果讓你設計mysql高可用方案的話,你會優先考慮哪些方面
  2. 抖音評論系統怎么設計,如果加入好友關系呢?(考慮到數據讀取的性能,可以采用寫擴散的方式)
  3. 怎么設計一個短鏈地址,要考慮跨機房部署問題

你說要哈希算法生成短鏈,會存在什么問題(哈希沖突),該怎么解決?(可以用布隆過濾器,但是不好控制,而且仍存在hash沖突)

有沒有更好的方案?(自增序列算法,每次接收一個長鏈,就分配一個ID,轉成62進制再拼到短域后面)

存在的問題?(自增id方案如果用雪花算法,可能存在機器時鐘回撥的問題,導致id重復,說到這里,我終于明白那家伙為什么說要考慮跨機房部署問題)

該怎么解決?(用Redis做自增id生成器,性能高,但要考慮持久性的問題;或者改造雪花算法,通過改造workId解決時鐘回撥的問題)

算法題:

  1. 有一個數組,里面元素非重復,先升序再降序,找出里面最大的值(二分法,要考慮只有一個元素和兩個元素的邊界情況)
  2. 鏈表深拷貝
  3. 統計用戶在線最大峰值和人數,要精確到秒(額滴神啊,秒級這個誰受得了,我的思路只能精確到小時,面試官說沒問題,后面成功寫出來跑過測試用例)

軟實力:

  1. 你怎么評價你自己
  2. 你怎么看電商這塊領域,為什么要選擇電商
  3. 有沒有要問我的

總結:很看重算法和場景設計,而且可能是因為投遞電商部門,對我之前做過的電商項目考察非常細

騰訊面經

我面試騰訊有兩次,兩次都是二面掛掉的,除了第二次的二面(有道很刁鉆的場景題,有空我會單獨寫篇文章分享),其他面試的問題都不算難,實話實說我自認為答得還不錯,第二面就被刷我也是有點納悶,算了,不發牢騷了,大家自己看看吧。

面試題

一面:
  • 說說你做這個電商項目負責了哪些東西
  • 基于什么維度分表,如果搜索商品名稱怎么辦,
  • 為什么不用分區,分區有哪些優缺點
  • Rocket集群有哪些方案?
  • 如果多主無從的情況下,a,b,c同時可寫入,但c掛了,那c的還能訂閱嗎
  • Mysql高可用有幾種方案,分別有什么特點
  • redis分布式鎖你們是怎么用的(redission),原理知道嗎
  • redis的熱key知道嗎?一個熱key導致單臺機訪問流量過高,該怎么辦?
  • 分布多臺redis的話,如果某一臺緩存過期了,流量過大該怎么辦?
  • 如果有10臺機同時失效,那該怎么一次性回源
  • 限流是怎么做的,用阿里云的sentinel,有幾種策略(qps,時間)
  • 有幾種限流算法,各有什么優缺點
二面:
  • 介紹你在項目中的職責和負責模塊
  • 項目的日活量,QPS,壓測結果
  • 項目是基于Http還是rpc訪問,怎么做容災的
  • 用到mq怎么做一致性處理的
  • 怎么防止薅羊毛之類的
  • 現有團隊人數,你在團隊的地位,拋開業務經驗來說,你覺得為什么要找你做這個項目的技術負責人
  • 你目前在研究哪些技術,哪些業務方向
  • 未來兩三年的職業規劃
  • 對go有什么理解,你是基于什么目的去了解go的

總結:問得大多是基于項目和場景,二面的軟實力問題有點多

阿里Lazada

Lazada社招的技術一共就兩輪,這里不是吹牛,是我跟內推人以及面試官確認過的,當時讓朋友內推完隔了半個多月才開始面試,而且是leader先面試第一輪,然后一面的面試官再面試第二輪,過程有點漫長,個人感覺問的還是有點難度的(不過我自認為答得還可以,被刷后郁悶了好一陣,大廠真的不好進啊)

面試題

一面:
  • 說說你做過的項目
  • 有哪些亮點,或者解決過什么問題
  • 你說引入mq對領取優惠券接口做了解耦,我理解領取優惠券接口比較簡單,為什么還需要做解耦這么麻煩,而且異步還會影響用戶體驗?
  • (優惠券流程挺長的,而且一次性領取多張,判斷邏輯較多,訪問壓力大,為了減少rt和訪問壓力,引入mq做異步入庫,并且對用戶體驗不會有影響)
  • 分表為什么要停服?
  • 你們的服務最高多少qps,每臺機器,數據庫能支撐多大訪問量,怎么測出來的?(很麻煩的一個問題)
  • 你說說java線程池吧,怎么運作的,放在隊列里的任務是什么時機執行的
  • 你們項目線程池怎么配置的, 為什么這么配
  • spring bean的生命周期
  • redis為什么快?你說到支持多種數據結構,為什么這個能提高速度(方便調用原生底層的數據結構)
  • 你還在職嗎?(在職,但已申請離職)有其他offer嗎?最快什么時候去入職

有什么問我的嗎?

二面:

自我介紹

  • 說說你最近做的項目,具體業務是怎樣的
  • 你說的那個商城業務是怎樣的,你負責哪塊
  • 有沒有遇到線上問題,怎么解決
  • 你們用springboot是吧,怎么調用微服務的
  • Feign底層原理看過嗎
  • 怎么改負載均衡參數
  • 如果讓你設計負載均衡,你會怎么設計
  • CPU飚高有哪些原因
  • hotkey有檢測過嗎?怎么優化的
  • 做一道算法題吧,兩個非負整數想加,結果以字符串輸出

個人評價:Lazada問項目方面比較多,而且很看重性能優化,包括參數配置,架構設計之類的,八股文的話沒什么大問題,總體來說這次面試還是很能考察經驗的。

經驗之談

以上就是我面試這幾家公司的大概題目,怎么說呢,不算很難吧,網易問的其實也差不多,就不具體列出來了,而且都算是常規的面經題,我就不一一列出答案了,大家如果有疑問的上網搜一下,或者加我微信咨詢都行。

從我面試這么多輪的情況來看,這幾家公司社招面試考察的范圍重點在于對求職者過往項目和技術場景方面的考察,八股文的話沒有像校招那么全面,只不過每家公司問的知識側重點有會有所不同。

  • 像字節除了項目場景,還很看重算法,以及求職者在系統設計方面的思考;
  • 阿里Lazada比較看重項目方面的架構設計,以及線上故障的排查過程。

騰訊的話問的比較多的是場景方面的思考,比如什么Redis某個key訪問量飆高這種較為極端的情況,還有就是軟實力方面問的也比較多。

下面說說我的心得吧,也算是給分享一下我的個人經驗。

1、首要條件:準備好基礎的八股文

基礎,這點不用多說了,所有的面試都會問到的知識體系,雖然社招方面對基礎的考究沒有那么全面,但基本的八股文還是要盡可能掌握的,這部分八股文包括但不限于:

  • Java基礎語言特性(面向對象、抽象、繼承、多態、反射等)
  • Java集合(HashMap必問、常見如數組轉鏈表過程、1.7和1.8擴容機制區別、為什么線程不安全、hash索引計算這些都必須掌握,還有ConcurrentHashMap的底層結構,跟HashTable的區別類似的也都要熟悉)
  • 并發編程,不用多說,基本也是必問,畢竟線程安全是所有語言開發都會遇到的難題,也是實際項目開發中非常重視的一點(Synchronized升級鎖過程,和AQS的區別、Volatile關鍵字的原理和特性、如何保證線程安全,多線程實現生產者消費者之類的)
  • JVM(不用多說,社招必問,垃圾回收算法,JVM調優,CMS和G1區別都是要了解的)

除了Java語言外,基本的計算機網絡基礎是必須要去重視的領域,務必要掌握這幾塊內容,如

  • 計算機網絡協議及作用
  • TCP和UDP的區別
  • 三次握手和四次揮手過程,順便了解下像為什么不能兩次握手那種稀奇古怪的問題
  • TCP如何保證可靠性,哪幾種機制,以及原理都要清楚
  • HTTPS原理(三次握手,驗簽,加密解密那些)
  • 瀏覽器輸入一個網址執行的全部過程

網絡的話掌握這幾塊也就差不多了,然后操作系統相關的也有必要準備下,不用太復雜,就常見的那些面試題就可以,基本上只要按照上面所說的幾點準備,基礎八股文這塊也就差不多了,當然,不排除有些面試官會問一些刁鉆又冷門的問題,對此我也只能說四個字了,

祝你好運!

2、常用的中間件一定要多做準備

像常用的中間件如Redis、MySQL、MQ這些是基本必問的,我們不僅要會用,對其原理還要有一定的了解,更重要的是,我們面試前要盡可能準備這些中間件異常場景的解決方案,

  • 比如Redis某個key訪問飆高了,緩存出現穿透了怎么做,Redis掛了怎么保證跟MySQL的一致性;
  • MySQL索引失效怎么排查解決,怎么做好sql調優;
  • MQ出現消費異常怎么辦,如何保證從生產者到消費者三端的高可用,消息堆積了怎么辦等等;

這些異常基本都是面試中經常問的,網上很多大佬也都有分享過對應的解決方案,在我眼里,這些知識點都算是八股文,只要事先準備充足,拿個中間件熟練分基本沒什么問題。

3、簡歷上的項目是最需要花精力準備的

項目這方面我就可以吹下牛13了,畢竟被問了這么多次,都快成機械記憶了。

從我個人的經驗上看,面試官對簡歷的考察大概分這么幾個維度,

  • 項目的整體架構,包含分多少個服務,多少個節點,調用鏈是怎樣的
  • 你做過的最有挑戰性的某個模塊功能
  • 這些功能的業務設計,包含數據表有哪些,用了哪些中間件,怎么跟其他服務做數據聯動的
  • 你在項目中做了哪些優化,有沒有什么效果,比如RT減少200ms,壓測數據增加了5倍之類的,有數據支撐的話更有說服力
  • 你遇到過哪些線上問題,怎么排查故障的
  • 項目的QPS相關指標,你覺得還能怎么優化,假設有多加10倍的流量過來,你覺得怎么設計才能支撐得了這么高的訪問量

大概這幾點吧,大家從我上面寫的具體面試題目也可以對應的上,基本上問的東西都包含在這幾個維度里,從項目的全局到某個具體模塊,一些重要的數據指標,以及整個架構的擴展性,還有異常情況的處理等等,這些東西如果你沒有事先做好準備,我敢說不可能在身經百戰的大廠面試官面前胡混過關。

除此之外,項目中很多時候會有場景異常方面的考察,比如什么Redis掛了怎么辦;微服務調用前面的服務調用成功,中間的服務調用失敗,怎么做數據回滾;某臺服務宕機了怎么處理等等,這些類似異常場景也是經常在項目中被問到的,看官們如果有意向面試的話,在這方面可以需要多做點準備,只要結合項目的實際業務做好應急和預防措施,這些異常情況的出現概率是可以有效降低的。

(順便說一句,上次寫的歡聚時代面經里也涉及到異常場景的內容,然后有讀者留言希望我介紹下有哪些解決方案,很樸實的請求,但很可惜,限于篇幅和主題我沒法在這里詳細介紹了,日后針對這些場景方案我會整理出來在其他文章分享的,這里先說聲抱歉)

繼續項目的話題吧,總的來說,項目這塊是最值得大家去花精力準備的,而且從我個人的經歷來看,社招面試項目方面的考核時間比例至少在一半以上,很多的八股文知識點最后都會落實項目中的實際使用場景,比如Lazada的一面面試中,面試官一開始也是從八股文出發,問了一大堆Java線程池的東西,包含基本參數和運行原理那些,但最后目的還是要考察我實際項目中對線程池參數是如何配置的,又是如何考慮拒絕策略的,這些都是需要跟實際業務結合起來才能設計的更加周全,沒有銀彈的方案,畢竟總不可能一個百萬日活的系統和一個一千日活的系統都配置一樣的參數吧。

因此我也很建議大家在美化項目的時候,要盡可能結合業務體量去思考具體的優化點,如果你把體量吹大了10倍,那么也要考慮好支持當前體量的技術方案,從參數配置到服務器節點都需要去預先思考,而且最好要思考與體量相配的一些重要指標如QPS、RT這些,這也是面試官很看重的一些點。沒有完善的技術方案支撐,吹出來的高并發,大體量也只不過是皇帝的新衣罷了。

4、算法和系統設計題也許是你增強競爭力的關鍵點

算法這玩意怎么說呢,很多人談之色變,因為掌握的門檻很高,而且需要持久的刷題,不過也沒辦法,為了進大廠,這玩意我們還真要去下點功夫準備,但也不用太擔心,把常見的題型刷多幾道題就行,我遇到的算法題無非都集中在幾種數據結構,像什么鏈表、二叉樹、數組,其他的暫時沒碰到過,大家把這幾種結構相關的熱門算法題多刷刷就差不多了,如果能針對將要面試的公司去準備會更好,這種面試真題也不難找,牛客網和LeetCode上一大堆,關鍵是要持久多刷,別做二天題放三天假這種操作,沒點時間和毅力算法這玩意是積累不了的。

還有系統設計方面平時大家也可以多積累一下,像什么常見的設計秒殺系統、設計大流量熱榜之類的,基本是涉及到高并發大數據量相關的常見設計題都可以了解一下,一般來說,這種系統設計題不會考察的很詳細,主要是看你的設計思路和對異常場景的應變方案,這兩方面臨時發揮的話很難有說服力,還是很需要平時的積累和思考,大家沒事的時候可以設想下異常場景之類的,然后多跟同行討論下可行性,茶余飯后,也算是有趣的一種交流方式。

5、軟實力方面不難,但也需要準備

軟實力這方面其實沒什么大難度,每個人按照自己的情況回答就差不多了,一般是終面的技術面試官會比較考究,目的上是想了解你工作中的處理能力和未來規劃之類的,至于有沒有作用我就不做評斷了,一般來說,軟實力的題型也不會太刁鉆,面試這么多年無非都是問這么幾個:

  • 你未來三到五年的職業規劃是什么
  • 說說你的優缺點,你跟同齡人比優勢在哪里
  • 你工作中遇到的最大難題是什么,不局限于技術方面,你是怎么協調的
  • 如果你來我們這邊,你想得到哪些收獲

這些題目沒有固定答案,因人而異,按照自己的想法去表達就可以,但我還是建議大家在面試前可以準備下這方面的話術,不為別的,至少在面試過程能做到表達流暢清晰,能提前準備的點盡量別走到臨時發揮的那一步。

說到這我想吐槽一下,技術性的面試不是不可以問軟實力的東西,但在我看來,這玩意最多算是個輔助考察作用,畢竟沒什么回答門檻,很多人都能答出來,如果不從技術性的問題出發,而是問一大堆這玩意東西篩選人,那對于背景較差的求職者來說,恐怕就沒什么優勢了吧。(個人淺見,不喜勿噴)

6、心態要好

這一點也算是我對大家最樸實的忠告了,就不管遇到什么情況,盡可能保持心態好,現在大環境不好,很多公司招人的標準其實或多或少在變得更高,有可能你費盡心思準備了很久,但面試的過程和結果還是不盡人意,這也是正常的,畢竟是大廠嘛,要是那么好進就不會那么多人心向往之了。

而且不是一次失敗就決定結果了,其實大廠的機會一直都有的,一個崗位沒有通過面試最多就鎖半年到一年的時間,過了這個時間我們還是可以去重新面試的,而且有時候也不用等待那么長,這個部門沒過說不定可以面試其他部門的崗位,只要總結經驗,多次嘗試,最后結果再差也比啥都不爭取強。

最后

淋淋灑灑寫了這么多,用真題結合經驗總結,前后花了一周的時間,我也算是給大家分享了很有價值的面經了,如果看官們覺得寫得還不錯的話,還望能給鄙人三連支持一下,沒有三連,舉手之勞點個贊也行啊,我都受用的,哈哈。

過幾個月就是金三銀四的求職旺季了,如果你也正在找機會,并且也是幾年工作經驗的話,我想我的文章或多或少能給你些許幫助,這里也衷心祝愿想跳槽的各位看官,希望你們都能拿到理想的offer。

作者:鄙人薛某,一個不拘于技術的互聯網人,喜歡用通俗易懂的語言來解構后端技術的知識點,想看更多精彩文章的可以關注我的公眾號,微信搜索【鄙人薛某】即可關注

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2022-01-04 08:47:12

Java 面經 Java 基礎

2015-04-08 10:57:15

程序員程序員四年經歷

2019-07-08 11:21:09

程序員國內阿里

2013-01-08 10:35:05

程序員程序員的成長

2018-03-14 09:50:10

阿里巴巴Java程序員

2020-02-22 21:51:43

程序員Microsoft SServerSQL

2015-08-25 10:00:26

IT 青年北漂感悟

2011-06-02 10:23:33

程序員

2014-01-06 09:33:32

程序員管理

2020-10-05 21:13:37

程序員技能開發者

2012-01-09 17:45:48

Java程序員

2019-10-23 15:09:59

面試算法谷歌

2015-06-16 10:31:36

程序員

2020-07-10 09:55:15

程序員技能開發者

2015-06-08 10:48:39

程序員程序員自白

2011-02-14 13:05:17

PythonWeb

2014-09-01 14:52:21

面試程序員技術問題

2014-03-26 10:06:59

程序員軟件銷售

2021-07-01 07:43:41

項目程序員代碼

2018-07-06 13:58:18

程序員學習互聯網
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品国产一区二区三区 | 日韩人体视频 | 国产一级片 | 日本一区二区视频 | 日本欧美国产 | 久久国产精品视频 | 久久在线视频 | 欧美日韩在线观看一区 | 在线观看亚洲精品视频 | 高清不卡毛片 | 国产日韩欧美 | 9999视频| 国产欧美在线一区二区 | 国产精品99久久久久久宅男 | 欧美八区| 精品久久久久久久久久 | 国产精品免费一区二区三区 | 亚洲国产精品va在线看黑人 | 亚洲激情视频在线 | 91精品久久久久久久久久入口 | 美人の美乳で授乳プレイ | 精品一区二区三区在线观看 | 国产精品一区在线播放 | 国产精品久久久久久福利一牛影视 | 黄色片大全在线观看 | 日韩成人在线看 | 日韩在线观看网站 | 91精品国产综合久久香蕉922 | 人人爽人人爽 | 久久久久久久综合 | 精品欧美乱码久久久久久 | 日韩视频在线一区 | 日韩中文字幕第一页 | 瑟瑟免费视频 | 国产精品久久久久影院色老大 | 理伦毛片 | 一级黄色影片在线观看 | 福利视频一区二区 | 九九精品在线 | 国产成人av免费看 | 成人精品免费 |