日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【大牛系列教学】靠着这份面试题跟答案

發(fā)布時(shí)間:2023/11/30 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【大牛系列教学】靠着这份面试题跟答案 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

開篇閑扯

打工人,打工魂,我們生而人上人。當(dāng)“資本主義”逐漸禁錮我們?nèi)?#xff08;大)上(韭)人(菜)肉體的時(shí)候,那一刻我才明白那個(gè)日不落帝國(guó)·資本主義收割機(jī)·瑞民族之光幸·瑞幸咖啡是多么的了不起,盡管我不懂咖啡,但還是要說一聲謝謝!說到咖啡,喝完就想上廁所,對(duì)寫bug的我來說太不友好了,畢竟我不(很)喜歡帶薪上廁所。

回歸本次的不正經(jīng)Java文章。上篇文章末尾處已經(jīng)提到了,主要會(huì)把我對(duì)Synchronized的理解進(jìn)行一次全方位的梳理,如果能幫助到大家吊打面試官,萬分榮幸。

一面

一面就做了一道算法題,要求兩小時(shí)內(nèi)完成,給了長(zhǎng)度為N的有重復(fù)元素的數(shù)組,要求輸出第10大的數(shù)。典型的TopK問題,快排算法搞定。

算法題要注意的是合法性校驗(yàn)、邊界條件以及異常的處理。另外,如果要寫測(cè)試用例,一定要保證測(cè)試覆蓋場(chǎng)景盡可能全。加上平時(shí)刷刷算法題,這種考核應(yīng)該沒問題的。

二面

  • 自我介紹下唄
  • 開源項(xiàng)目貢獻(xiàn)過代碼么?(Dubbo提過一個(gè)打印accesslog的bug算么)
  • 目前在部門做什么,業(yè)務(wù)簡(jiǎn)單介紹下,內(nèi)部有哪些系統(tǒng),作用和交互過程說下
  • Dubbo踩過哪些坑,分別是怎么解決的?(說了異常處理時(shí)業(yè)務(wù)異常捕獲的問題,自定義了一個(gè)異常攔截器)
  • 開始進(jìn)入正題,說下你對(duì)線程安全的理解(多線程訪問同一個(gè)對(duì)象,如果不需要考慮額外的同步,調(diào)用對(duì)象的行為就可以獲得正確的結(jié)果就是線程安全)
  • 事務(wù)有哪些特性?(ACID)
  • 怎么理解原子性?(同一個(gè)事務(wù)下,多個(gè)操作要么成功要么失敗,不存在部分成功或者部分失敗的情況)
  • 樂觀鎖和悲觀鎖的區(qū)別?(悲觀鎖假定會(huì)發(fā)生沖突,訪問的時(shí)候都要先獲得鎖,保證同一個(gè)時(shí)刻只有線程獲得鎖,讀讀也會(huì)阻塞;樂觀鎖假設(shè)不會(huì)發(fā)生沖突,只有在提交操作的時(shí)候檢查是否有沖突)這兩種鎖在Java和MySQL分別是怎么實(shí)現(xiàn)的?(Java樂觀鎖通過CAS實(shí)現(xiàn),悲觀鎖通過synchronize實(shí)現(xiàn)。mysql樂觀鎖通過MVCC,也就是版本實(shí)現(xiàn),悲觀鎖可以通過select… for update加上排它鎖)
  • HashMap為什么不是線程安全的?(多線程操作無并發(fā)控制,順便說了在擴(kuò)容的時(shí)候多線程訪問時(shí)會(huì)造成死鎖,會(huì)形成一個(gè)環(huán),不過擴(kuò)容時(shí)多線程操作形成環(huán)的問題再JDK1.8已經(jīng)解決,但多線程下使用HashMap還會(huì)有一些其他問題比如數(shù)據(jù)丟失,所以多線程下不應(yīng)該使用HashMap,而應(yīng)該使用ConcurrentHashMap)怎么讓HashMap變得線程安全?(Collections的synchronize方法包裝一個(gè)線程安全的Map,或者直接用ConcurrentHashMap)兩者的區(qū)別是什么?(前者直接在put和get方法加了synchronize同步,后者采用了分段鎖以及CAS支持更高的并發(fā))
  • jdk1.8對(duì)ConcurrentHashMap做了哪些優(yōu)化?(插入的時(shí)候如果數(shù)組元素使用了紅黑樹,取消了分段鎖設(shè)計(jì),synchronize替代了Lock鎖)為什么這樣優(yōu)化?(避免沖突嚴(yán)重時(shí)鏈表多長(zhǎng),提高查詢效率,時(shí)間復(fù)雜度從O(N)提高到O(logN))
  • redis主從機(jī)制了解么?怎么實(shí)現(xiàn)的?
  • 有過GC調(diào)優(yōu)的經(jīng)歷么?(有點(diǎn)虛,答得不是很好)
  • 有什么想問的么?
  • 三面

  • 簡(jiǎn)單自我介紹下
  • 監(jiān)控系統(tǒng)怎么做的,分為哪些模塊,模塊之間怎么交互的?用的什么數(shù)據(jù)庫?(MySQL)使用什么存儲(chǔ)引擎,為什么使用InnnoDB?(支持事務(wù)、聚簇索引、MVCC)
  • 訂單表有做拆分么,怎么拆的?(垂直拆分和水平拆分)
  • 水平拆分后查詢過程描述下
  • 如果落到某個(gè)分片的數(shù)據(jù)很大怎么辦?(按照某種規(guī)則,比如哈希取模、range,將單張表拆分為多張表)
  • 哈希取模會(huì)有什么問題么?(有的,數(shù)據(jù)分布不均,擴(kuò)容縮容相對(duì)復(fù)雜 )
  • 分庫分表后怎么解決讀寫壓力?(一主多從、多主多從)
  • 拆分后主鍵怎么保證惟一?(UUID、Snowflake算法)
  • Snowflake生成的ID是全局遞增唯一么?(不是,只是全局唯一,單機(jī)遞增)
  • 怎么實(shí)現(xiàn)全局遞增的唯一ID?(講了TDDL的一次取一批ID,然后再本地慢慢分配的做法)
  • Mysql的索引結(jié)構(gòu)說下(說了B+樹,B+樹可以對(duì)葉子結(jié)點(diǎn)順序查找,因?yàn)槿~子結(jié)點(diǎn)存放了數(shù)據(jù)結(jié)點(diǎn)且有序)
  • 主鍵索引和普通索引的區(qū)別(主鍵索引的葉子結(jié)點(diǎn)存放了整行記錄,普通索引的葉子結(jié)點(diǎn)存放了主鍵ID,查詢的時(shí)候需要做一次回表查詢)一定要回表查詢么?(不一定,當(dāng)查詢的字段剛好是索引的字段或者索引的一部分,就可以不用回表,這也是索引覆蓋的原理)
  • 你們系統(tǒng)目前的瓶頸在哪里?
  • 你打算怎么優(yōu)化?簡(jiǎn)要說下你的優(yōu)化思路
  • 有什么想問我么?
  • 四面

  • 介紹下自己
  • 為什么要做逆向?
  • 怎么理解微服務(wù)?
  • 服務(wù)治理怎么實(shí)現(xiàn)的?(說了限流、壓測(cè)、監(jiān)控等模塊的實(shí)現(xiàn))
  • 這個(gè)不是中間件做的事么,為什么你們部門做?(當(dāng)時(shí)沒有單獨(dú)的中間件團(tuán)隊(duì),微服務(wù)剛搞不久,需要進(jìn)行監(jiān)控和性能優(yōu)化)
  • 說說Spring的生命周期吧
  • 說說GC的過程(說了young gc和full gc的觸發(fā)條件和回收過程以及對(duì)象創(chuàng)建的過程)
  • CMS GC有什么問題?(并發(fā)清除算法,浮動(dòng)垃圾,短暫停頓)
  • 怎么避免產(chǎn)生浮動(dòng)垃圾?(記得有個(gè)VM參數(shù)設(shè)置可以讓掃描新生代之前進(jìn)行一次young gc,但是因?yàn)間c是虛擬機(jī)自動(dòng)調(diào)度的,所以不保證一定執(zhí)行。但是還有參數(shù)可以讓虛擬機(jī)強(qiáng)制執(zhí)行一次young gc)
  • 強(qiáng)制young gc會(huì)有什么問題?(STW停頓時(shí)間變長(zhǎng))
  • 知道G1么?(了解一點(diǎn) )
  • 回收過程是怎么樣的?(young gc、并發(fā)階段、混合階段、full gc,說了Remember Set)
  • 你提到的Remember Set底層是怎么實(shí)現(xiàn)的?
  • 有什么想問的么?
  • 五面

    五面是HRBP面的,和我提前預(yù)約了時(shí)間,主要聊了之前在螞蟻的實(shí)習(xí)經(jīng)歷、部門在做的事情、職業(yè)發(fā)展、福利待遇等。阿里面試官確實(shí)是具有一票否決權(quán)的,很看重你的價(jià)值觀是否match,一般都比較喜歡皮實(shí)的候選人。HR面一定要誠(chéng)實(shí),不要說謊,只要你說謊HR都會(huì)去證實(shí),直接cut了。

  • 之前螞蟻實(shí)習(xí)三個(gè)月怎么不留下來?
  • 實(shí)習(xí)的時(shí)候主管是誰?
  • 實(shí)習(xí)做了哪些事情?(尼瑪這種也問?)
  • 你對(duì)技術(shù)怎么看?平時(shí)使用什么技術(shù)棧?(阿里HR真的是既當(dāng)?shù)之?dāng)媽,)
  • 最近有在研究什么東西么
  • 你對(duì)SRE怎么看
  • 對(duì)待遇有什么預(yù)期么
  • 總結(jié)

    談到面試,其實(shí)說白了就是刷題刷題刷題,天天作死的刷。。。。。

    為了準(zhǔn)備這個(gè)“金三銀四”的春招,狂刷一個(gè)月的題,狂補(bǔ)超多的漏洞知識(shí),像這次美團(tuán)面試問的算法、數(shù)據(jù)庫、Redis、設(shè)計(jì)模式等這些題目都是我刷到過的

    并且我也將自己刷的題全部整理成了PDF或者Word文檔(含詳細(xì)答案解析),有需要的朋友可以戳這里即可免費(fèi)領(lǐng)取

    66個(gè)Java面試知識(shí)點(diǎn)

    架構(gòu)專題(MySQL,Java,Redis,線程,并發(fā),設(shè)計(jì)模式,Nginx,Linux,框架,微服務(wù)等)+大廠面試題詳解(百度,阿里,騰訊,華為,迅雷,網(wǎng)易,中興,北京中軟等)

    算法刷題(PDF)

    面試題詳解(百度,阿里,騰訊,華為,迅雷,網(wǎng)易,中興,北京中軟等)**

    [外鏈圖片轉(zhuǎn)存中…(img-5JAR76gP-1623850583781)]

    算法刷題(PDF)

    總結(jié)

    以上是生活随笔為你收集整理的【大牛系列教学】靠着这份面试题跟答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。