<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          苦修月余,斬獲bigo、騰訊offer,面經(jīng)奉上!

          共 3285字,需瀏覽 7分鐘

           ·

          2021-01-22 09:35

          2020年已經(jīng)接近尾聲了,跳槽的季節(jié)又來(lái)了,剛好,最近有好幾個(gè)讀者拿到了騰訊、阿里大廠的offer,在我厚顏無(wú)恥的追問(wèn)之下,他們終于給我透露出了面試題的細(xì)節(jié),這份熱乎乎、滾滾燙的面經(jīng)分享給大家,希望對(duì)大家有所幫助。


          bigo面試

          第一位讀者經(jīng)過(guò)1個(gè)多月的刷題、看書(shū),成功拿下bigo和騰訊的offer,這位讀者之前也是985高材生,但是一直在小公司,之前和我聊了聊,透露出想去大廠的想法,這不,還是挺簡(jiǎn)單的嘛,一把就過(guò)了,成功斬獲bigo、騰訊offer。

          bigo一面

          第一面的話,我覺(jué)得比較基礎(chǔ),都是針對(duì)Java、SQL基礎(chǔ)的一些問(wèn)題,然后擴(kuò)展了一下對(duì)JVM對(duì)應(yīng)到生產(chǎn)上的使用、調(diào)優(yōu)經(jīng)驗(yàn),看是不是真的做過(guò)、解決過(guò)問(wèn)題,要有思路。

          內(nèi)存泄露怎么分析?怎么知道整條內(nèi)存泄露的鏈路?

          一般方法,jmap dump出轉(zhuǎn)儲(chǔ)文件,然后通過(guò)MAT等一些工具來(lái)做具體的分析。

          用的什么垃圾收集器?GC一次多久?線上多久一次Full GC?

          垃圾收集器比較簡(jiǎn)單,背背書(shū)就可以了,然后GC的頻率這個(gè)就是根據(jù)現(xiàn)在公司的場(chǎng)景舉例子說(shuō)明。

          怎么進(jìn)行JVM調(diào)優(yōu)?

          說(shuō)了一點(diǎn)JVM調(diào)優(yōu)的參數(shù),使用之類(lèi),然后結(jié)合線上的一次問(wèn)題回答了怎么發(fā)現(xiàn)問(wèn)題,最終調(diào)整JVM參數(shù)解決問(wèn)題的過(guò)程。

          項(xiàng)目里有用過(guò)ConcurrentHashMap嗎?ConcurrentHashMap底層結(jié)構(gòu)有了解嗎?

          這個(gè)八股文看書(shū)就行了,分段鎖到CAS+synchronized改變,get、put、resize過(guò)程。

          你知道JDK7和8之間的區(qū)別嗎

          說(shuō)了下Stream API使用、lambda表達(dá)式,HashMap頭插尾插的改變,ConcurrentHashMap實(shí)現(xiàn)方式的變化。

          用過(guò)Stream嗎,講講

          就根據(jù)平時(shí)使用說(shuō)就好了,比較簡(jiǎn)單。

          sql優(yōu)化的經(jīng)歷

          也比較簡(jiǎn)單,平時(shí)用到的一些慢SQL優(yōu)化的經(jīng)歷說(shuō)下就行了,但是平時(shí)要有總結(jié),不然的話就會(huì)東一棒槌西一棒槌。

          算法,鏈表相加

          通用答案,用刷題大法。

          bigo二面

          二面會(huì)偏中間件一點(diǎn),考察了項(xiàng)目的細(xì)節(jié),會(huì)被問(wèn)的很細(xì),然后其他的問(wèn)題都是看看書(shū)就知道了,雖然都不難,但是還是要多看書(shū)、多總結(jié)才行。

          深挖項(xiàng)目

          項(xiàng)目一定要準(zhǔn)備好,每個(gè)細(xì)節(jié)的點(diǎn),有問(wèn)題的地方要自己多思考,不然被問(wèn)到了回答不了就很尷尬。

          講講ES,ES文檔數(shù)據(jù)太多了怎么辦?

          基本上把ES的所有點(diǎn)都講了一遍,就差不多OK了,因?yàn)槲易龅乃阉鳂I(yè)務(wù),所以這塊的問(wèn)題比較多。

          RocketMQ集群的原理,消息堆積怎么辦,推拉模式優(yōu)劣?

          也是看書(shū)就行的,堆積的解決方案可以看我的MQ文章系列。

          說(shuō)下Raft協(xié)議?

          也就說(shuō)說(shuō)主要工作原理,Leader選舉、日志復(fù)制這些。

          分布式ID的設(shè)計(jì)方案?

          很多,雪花算法,國(guó)內(nèi)美團(tuán)、滴滴、百度開(kāi)源的記得一兩個(gè)就可以了,然后找一個(gè)說(shuō)說(shuō)實(shí)現(xiàn)的原理。

          比較簡(jiǎn)單的一個(gè)算法題,印象不是很清晰了,但是依稀記得是考并發(fā)工具包的設(shè)計(jì)

          bigo三面

          三面一上來(lái)其實(shí)還是問(wèn)項(xiàng)目,扣細(xì)節(jié),這一面是技術(shù)的終面了,可能是老板面,所以沒(méi)有很多的技術(shù)上的難題,針對(duì)的還是個(gè)人思維方式,平時(shí)解決問(wèn)題的想法和思路。

          Redis集群的特性,分布式鎖的設(shè)計(jì)?

          這個(gè)一般也沒(méi)什么好說(shuō)的,該背書(shū)就背書(shū),分布式鎖也是老生常談的問(wèn)題了。

          問(wèn)了項(xiàng)目架構(gòu),項(xiàng)目難點(diǎn)

          再次被扣細(xì)節(jié),平時(shí)要理解深刻。

          算法是二分法的一個(gè)變形題,也不算難

          bigo面試總結(jié)

          面試難度總體來(lái)說(shuō)一般,都是在網(wǎng)上能看得到的問(wèn)題,但是必須都要會(huì),比較順利的拿下offer。


          騰訊面試

          因?yàn)樽x者已經(jīng)先拿了bigo的offer,接下來(lái)騰訊的面試也算是更有信心了,至少有一個(gè)offer打底。不過(guò)騰訊一面問(wèn)的非常廣泛,提問(wèn)速度也很快,如果講的明白的話,立刻就開(kāi)始下一個(gè)問(wèn)題... ...

          騰訊一面

          HTTP/HTTPS,網(wǎng)絡(luò)安全問(wèn)題?

          說(shuō)了說(shuō)他們的區(qū)別,Https通信的機(jī)制,證書(shū)、密鑰保證安全一些東西。

          volatile和synchronize的區(qū)別?

          八股文,背!

          JAVA內(nèi)存模型?

          JMM一套規(guī)則,工作內(nèi)存、主內(nèi)存,原子性、可見(jiàn)性、有序性,happens-before等等都說(shuō)了。

          Redis分布式鎖?

          這個(gè)挺簡(jiǎn)單的,大家都會(huì)的,另外還要說(shuō)下和zookeeper實(shí)現(xiàn)方式的一些區(qū)別,實(shí)際應(yīng)用的過(guò)程。

          Innodb講講?

          把知道的都說(shuō)出來(lái)就好了,行鎖啊,MVCC,外鍵,一致性讀一些東西。

          ZAB講講?

          就說(shuō)整個(gè)ZAB協(xié)議的過(guò)程,選舉、發(fā)現(xiàn)、同步、廣播的流程。

          怎么分庫(kù)分表?

          這個(gè)其實(shí)還是需要點(diǎn)經(jīng)驗(yàn)的,沒(méi)有對(duì)應(yīng)到數(shù)量級(jí)的項(xiàng)目的話可能還是靠背書(shū)了,參考我的分庫(kù)分表文章。

          怎么自己實(shí)現(xiàn)IOC?

          如果自己看過(guò)實(shí)現(xiàn),這個(gè)就比較簡(jiǎn)單。

          用過(guò)哪些設(shè)計(jì)模式,講講?

          舉例一些常見(jiàn)的模式,平時(shí)怎么使用的說(shuō)說(shuō)就行了。

          怎么判斷一個(gè)鏈表是不是有環(huán)?

          刷題就好了。

          一面的內(nèi)容非常多,后面Kafka,Redis,Zookeeper,ES,計(jì)算機(jī)網(wǎng)絡(luò)都有被問(wèn)到,有一些回答的不是很好,不過(guò)還是過(guò)了。

          騰訊二面

          這一面比上一面還是好一點(diǎn)吧,沒(méi)有那么多問(wèn)題,感覺(jué)上比一面還稍微容易一點(diǎn),還有一些簡(jiǎn)單的問(wèn)題有點(diǎn)回憶不上了,項(xiàng)目的問(wèn)題,我已經(jīng)很熟了。

          自我介紹?

          自我介紹要準(zhǔn)備好,不要太長(zhǎng)也不要太短,幾句話說(shuō)明自己的職業(yè)生涯的情況,重點(diǎn)的項(xiàng)目,用到的技能點(diǎn)概括進(jìn)去就行。

          深挖項(xiàng)目,問(wèn)了下商品表的設(shè)計(jì),項(xiàng)目有什么亮點(diǎn),或者認(rèn)為有什么缺陷,怎么改進(jìn),并發(fā)有多少等等?

          還是項(xiàng)目,深挖,沒(méi)什么好說(shuō)的了。

          ES講了個(gè)遍,包括基礎(chǔ)原理和優(yōu)化?

          又重新說(shuō)了一遍。

          分布式ID的生成方式?

          還是老問(wèn)題。

          再次聊了下項(xiàng)目,還有分布式事務(wù)相關(guān)知識(shí),保證數(shù)據(jù)一致性?

          也是老生常談?lì)},面試必問(wèn)。兩階段、三階段提交,TCC方案,還有強(qiáng)一致性、最終一致性等等。

          為什么要用框架做分布式,沒(méi)有行不行?

          這種開(kāi)放性的問(wèn)題,說(shuō)自己的思路就行了。舉例子說(shuō)明比如Dubbo這種框架解決了什么問(wèn)題,如服務(wù)治理、服務(wù)編排、降級(jí)等。

          騰訊總結(jié)

          騰訊的面試相比bigo更加全面,更多的考察的是中間件的原理和使用,還有就是分布式系統(tǒng)下的一些常規(guī)的解決方案,平時(shí)這些知識(shí)點(diǎn)都碰到過(guò),但是要多總結(jié)。感覺(jué)下來(lái),整體難度也是一般。

          附贈(zèng)快手

          讀者非常優(yōu)秀,臨到采訪結(jié)束之際,還要附送我一輪快手面試,只能勉為其難收入囊中。

          數(shù)據(jù)庫(kù)連接不上了,怎么排查?

          還是看思路的問(wèn)題,思考比如網(wǎng)絡(luò)是否正常,數(shù)據(jù)庫(kù)服務(wù)是否正常、權(quán)限等因素。

          雙親委派模型,有什么好處?

          說(shuō)下原理,好處說(shuō)了下安全、避免重復(fù)加載之類(lèi)。

          ThreadLocal講講?

          看過(guò)知道就能說(shuō)上來(lái)。

          一次接口調(diào)用,在日志文件里打印”kuaishou ”+耗時(shí),比如“kuaishou 20ms”,"kuaishou 50ms", "kuaishou 100ms",有十萬(wàn)條,用linux的命令怎么查出來(lái)耗時(shí)最短的十條?

          這個(gè)不知道,然后面試官還一直硬要我手寫(xiě)出來(lái)... ...

          安裝了一個(gè)軟件,怎么在linux找到他的路徑?

          我說(shuō)了whereis。

          怎么查看jvm里線程狀態(tài)?

          jstack進(jìn)程ID就可以了。

          CountDownLatch和CyclicBarrier有什么區(qū)別?

          這個(gè)看過(guò)就知道了,具體可以看我的文章有寫(xiě)道。

          jps -m ,jps -l 用過(guò)嗎?

          -m可以輸出主函數(shù)的傳參,-l可以輸出完整包名。

          講一下Spring事務(wù)底層是怎么實(shí)現(xiàn)的?

          這個(gè)問(wèn)題也要看過(guò)源碼,AOP動(dòng)態(tài)代理實(shí)現(xiàn)。

          算法題:樹(shù)的鏡像,不能用遞歸寫(xiě)。

          還是那句話,刷題完事兒。

          快手總結(jié)

          快手的問(wèn)題,嗯... 比較奇怪,然后沒(méi)有什么太大問(wèn)題...一輪游了。

          總結(jié)

          總結(jié)下來(lái),也基本都是常考的知識(shí)點(diǎn),知道的話基本都沒(méi)有太大的問(wèn)題,還要有生產(chǎn)中實(shí)際解決的經(jīng)驗(yàn),考慮解決問(wèn)題的思路,這位讀者bigo和騰訊的基本都全部回答上了,就是最后快手的這個(gè)fail-fast了。

          如果快手一面你來(lái),會(huì)不會(huì)掛?


          有道無(wú)術(shù),術(shù)可成;有術(shù)無(wú)道,止于術(shù)

          歡迎大家關(guān)注Java之道公眾號(hào)


          好文章,我在看??

          瀏覽 56
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费观看精品视频久久 | 就去大香蕉久久 | 操逼操欧美 | 亚洲成人黄色网址 | 免费国产A片 |