<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>

          面試官的連環(huán)炮,你又能撐多少?(中)

          共 3822字,需瀏覽 8分鐘

           ·

          2020-10-15 11:10

          本內(nèi)容來(lái)源于 16 年畢業(yè)的學(xué)長(zhǎng),先在 58,后阿里,如今準(zhǔn)備跳槽了,以下內(nèi)容為他的最近面試經(jīng)歷,連載分為(上)(中)(下),關(guān)注公眾號(hào)看后續(xù)內(nèi)容。

          一篇面試連環(huán)炮整體講述了面試官會(huì)問(wèn)的java基礎(chǔ)和高級(jí)相關(guān)的知識(shí)點(diǎn)以及一些數(shù)據(jù)庫(kù)和緩存相關(guān)的理論和實(shí)踐,包括消息隊(duì)列。發(fā)到各個(gè)技術(shù)群里引起了廣泛的討論,也支持我去繼續(xù)寫剩下的兩篇文章。本篇將從項(xiàng)目實(shí)戰(zhàn)的角度去看面試官會(huì)從哪些方面去考察應(yīng)聘者的知識(shí)深度和廣度。

          一、業(yè)務(wù)中間件&組件連環(huán)炮

          Tomcat

          1. 項(xiàng)目部署用的是什么容器啟動(dòng)的?
          2. 說(shuō)一下tomcat的架構(gòu)模型?
          3. 說(shuō)一下Tomcat的線程模型?底層原理是什么?
          4. 跟Netty的線程模型相比有什么區(qū)別?
          5. 做過(guò)Tomcat的調(diào)優(yōu)嗎?
          6. 你們服務(wù)部署的時(shí)候Tomcat的線程數(shù)怎么設(shè)置的?
          7. 依據(jù)是什么?假如要做分布式的session管理的話怎么配置tomcat的參數(shù)?
          8. tomcat的分布式session實(shí)現(xiàn)方案有什么缺點(diǎn)?你了解其他分布式session的方案嗎?

          Netty

          1. Netty了解嗎?用在什么地方?說(shuō)一下
          2. Netty的線程模型?
          3. 說(shuō)一下Netty NIO 相對(duì)于jdk NIO有什么優(yōu)勢(shì)?
          4. 解決了JDK NIO的什么問(wèn)題呢?
          5. Netty是如何解決粘包和拆包的問(wèn)題的??什么是零拷貝技術(shù)?
          6. Netty中的零拷貝技術(shù)怎么實(shí)現(xiàn)的?
          7. Netty是如何管理堆外內(nèi)存的?
          8. 遇到過(guò)netty堆外內(nèi)存泄漏的問(wèn)題嗎?怎么排查并解決的?
          9. 說(shuō)一下Linux中的IO模型有哪些?
          10. IO 多路復(fù)用是怎么實(shí)現(xiàn)的?
          11. 畫一下Linux底層中關(guān)于零拷貝技術(shù)的流程圖?

          單點(diǎn)登錄系統(tǒng)

          1. 什么是單點(diǎn)登錄系統(tǒng)?
          2. 畫一下你維護(hù)的這個(gè)單點(diǎn)登錄的系統(tǒng)架構(gòu)圖?
          3. 講講登錄流程,如何設(shè)置cookie和獲取Token的?
          4. 這個(gè)是分布式的嗎?支持跨域嗎?不支持的話需要怎么解決呢?了解過(guò)市面上標(biāo)準(zhǔn)的CAS單點(diǎn)登錄方案嗎?

          elasticsearch

          1. es有用過(guò)嗎?說(shuō)一下es的索引原理?
          2. 說(shuō)一下es的查詢數(shù)據(jù)的過(guò)程?
          3. 假如es數(shù)據(jù)量越來(lái)越多,有些分頁(yè)查詢的場(chǎng)景越來(lái)越慢怎么解決?
          4. mysql到es的數(shù)據(jù)同步怎么做的?
          5. 通過(guò)binlog的方式有什么優(yōu)缺點(diǎn)?還有別的方式嗎?

          zookeeper

          1. zk用過(guò)嗎?
          2. 說(shuō)一下你用zk的一些場(chǎng)景?
          3. 了解zk的原理嗎?
          4. zk有哪些節(jié)點(diǎn)類型?
          5. zk的分布式鎖怎么實(shí)現(xiàn)的?
          6. 假如要實(shí)現(xiàn)公平鎖怎么做?假如master掛了,此時(shí)需要選舉,說(shuō)一下zk的選舉過(guò)程,涉及到哪些角色的轉(zhuǎn)換?選舉為master的依賴條件是什么?
          7. 說(shuō)一下zk新加節(jié)點(diǎn)和減少節(jié)點(diǎn)的過(guò)程?是否會(huì)影響zk服務(wù)的可用性?
          8. zk在CAP模型中滿足了哪兩個(gè)特性?為什么?

          nacos

          1. 分布式配置服務(wù)用過(guò)哪些?怎么用的?灰度發(fā)
          2. 布的同時(shí)去發(fā)布配置是否有問(wèn)題?
          3. 客戶端如何感知配置服務(wù)發(fā)生變化的?
          4. 配置數(shù)據(jù)是怎么存的?
          5. 說(shuō)說(shuō)diamond的架構(gòu)設(shè)計(jì)?
          6. 說(shuō)說(shuō)diamond的多級(jí)緩存機(jī)制?
          7. diamond是如何保證客戶端獲取數(shù)據(jù)的一致性的?
          8. 假如我配置要發(fā)布到多個(gè)物理單元中diamond的數(shù)據(jù)庫(kù)設(shè)計(jì)怎么是怎么弄?數(shù)據(jù)同步是怎么做的?
          9. 說(shuō)說(shuō)你為什么不用eruake或者consule去做服務(wù)發(fā)現(xiàn)和配置管理呢
          10. ?nacos有什么優(yōu)勢(shì)?nacos源碼看過(guò)嗎?有沒(méi)有學(xué)到些什么?

          mongodb

          1. mongodb用過(guò)嗎?特點(diǎn)是什么?
          2. 跟MySQL比有什么特點(diǎn)?適用場(chǎng)景是什么?

          Mybatis

          1. 項(xiàng)目中有用到Mybatis嗎
          2. ?說(shuō)一下Mybatis的啟動(dòng)過(guò)程?
          3. 說(shuō)一下Mybatis是怎么集成spring的?
          4. 說(shuō)一下Mybatis集成spring的時(shí)候提供了哪些基于spring的功能?
          5. 說(shuō)一下Mybatis中你比較熟悉的幾個(gè)類?這些類的源碼看過(guò)嗎?
          6. Mybatis源碼中有沒(méi)有哪些源碼的實(shí)現(xiàn)令你印象深刻?
          7. 假如我項(xiàng)目中通過(guò)service層調(diào)用了mybatis的方法,這個(gè)調(diào)用過(guò)程了解嗎?
          8. Mybatis的動(dòng)態(tài)sql用過(guò)嗎?怎么用的?
          9. Mybatis的分頁(yè)插件用過(guò)嗎?實(shí)現(xiàn)原理是什么?

          二、spring 全家桶連環(huán)炮

          spring 核心

          spring DI & IOC :

          1. 項(xiàng)目中用到spring框架了嗎?
          2. 說(shuō)說(shuō)你對(duì)依賴注入和控制反轉(zhuǎn)的理解?spring中的依賴注入有哪些方式?
          3. 哪種方式能避免循環(huán)依賴?為什么?如果出現(xiàn)循環(huán)依賴了你怎么解決?

          spring AOP:

          1. spring aop有用過(guò)嗎?
          2. spring aop有哪些核心內(nèi)容?
          3. 你使用aop實(shí)現(xiàn)了什么功能呢?
          4. aop的原理知道嗎?
          5. 假如我要使用aop去實(shí)現(xiàn)統(tǒng)計(jì)方法的執(zhí)行時(shí)間的功能?你用哪種通知方式?
          6. 說(shuō)一下執(zhí)行時(shí)間的計(jì)算過(guò)程?有什么問(wèn)題?
          7. 說(shuō)一下spring aop中攔截器的原理?
          8. spring中的代理機(jī)制是怎么實(shí)現(xiàn)的?有哪些代理方式?
          9. 說(shuō)一下JDK動(dòng)態(tài)代理和Cglib動(dòng)態(tài)代理的區(qū)別?
          10. Cglib只能對(duì)類進(jìn)行代理嗎?final修飾的類能代理嗎?

          spring Bean:

          1. 說(shuō)一下spring bean的注入過(guò)程?
          2. 說(shuō)一下spring的啟動(dòng)過(guò)程?spring bean銷毀的時(shí)候會(huì)做哪些操作,調(diào)用哪些方法?
          3. 說(shuō)一下我配置的bean在spring中是怎么存的?
          4. 說(shuō)一下bean的作用域有哪些?分別有哪些使用場(chǎng)景?

          spring 源碼&設(shè)計(jì)模式:

          1. spring源碼閱讀過(guò)嗎?
          2. 說(shuō)一下spring有哪些核心模塊?
          3. 說(shuō)一下spring mvc的整個(gè)處理流程?
          4. spring的controller類是線程安全的嗎?
          5. 如何保證線程安全呢?
          6. 說(shuō)一下spring的事務(wù)傳播屬性有哪些?
          7. 說(shuō)一下spring中有哪些設(shè)計(jì)模式?這么做的好處是什么?
          8. 說(shuō)一下spring的啟動(dòng)過(guò)程中事件監(jiān)聽是怎么做的?

          springboot

          1. springboot有用過(guò)嗎?
          2. 說(shuō)一下springboot的啟動(dòng)流程?
          3. 做過(guò)自定義的springboot starter嗎?
          4. 什么是自動(dòng)裝配?原理是啥?
          5. 什么是SPI?跟java中的SPI有什么區(qū)別?項(xiàng)目中大量使用SPI有什么缺點(diǎn)?
          6. springboot項(xiàng)目有哪些運(yùn)行方式?
          7. springboot跟mybatis集成使用需要配置什么?

          springcloud 組件

          1. spring eruake:eruake的服務(wù)發(fā)現(xiàn)是怎么做的?
          2. eruake的源碼讀過(guò)嗎?如果服務(wù)提供方下線了客戶端如何感知?
          3. eruake在CAP模型中滿足了哪兩個(gè)特性?
          4. 跟zk比有什么區(qū)別?跟nacos相比呢?
          5. spring hystrix:hystrix用過(guò)嗎?說(shuō)一下hystrix的斷路器的原理?
          6. sentinel跟hystrix有什么區(qū)別?

          三、分布式連環(huán)炮

          分布式CAP理論

          1. 分布式CAP理論了解嗎?
          2. 說(shuō)一下CAP分別代表什么意思?
          3. zk滿足了哪兩項(xiàng)?為什么?
          4. redis呢?
          5. 有哪些組件或者中間件滿足AP/CP?

          分布式鎖

          1. 分布式鎖有哪幾種實(shí)現(xiàn)方案?
          2. Mysql的悲觀鎖怎么實(shí)現(xiàn)的?
          3. 樂(lè)觀鎖和悲觀鎖的區(qū)別?
          4. zk實(shí)現(xiàn)的分布式鎖有什么缺點(diǎn)?
          5. 假如使用redis實(shí)現(xiàn)分布式鎖的話怎么解決超時(shí)問(wèn)題?有哪些方案?
          6. Redisson用過(guò)嗎?

          分布式事務(wù)

          1. 分布式事務(wù)有用過(guò)嗎?
          2. 如何保證事務(wù)數(shù)據(jù)一致性的?有哪些方案?
          3. 假如事務(wù)過(guò)程中出現(xiàn)了不一致的情況怎么處理?
          4. 假如我有一個(gè)履約場(chǎng)景,發(fā)送發(fā)貨通知,然后調(diào)用庫(kù)存服務(wù)扣減庫(kù)存,然后寫訂單數(shù)據(jù)到自己的業(yè)務(wù)db中,現(xiàn)在有個(gè)問(wèn)題就是第二步失敗了,第一步成功了,請(qǐng)問(wèn)怎么解決?

          分布式RPC框架原理

          1. 項(xiàng)目中用到RPC框架了嗎?什么框架?
          2. dubbo用過(guò)嗎?畫一下dubbo的架構(gòu)流程?
          3. dubbo中注冊(cè)中心如何感知服務(wù)下線的?
          4. dubbo注冊(cè)中心掛了會(huì)影響服務(wù)間的調(diào)用嗎?為什么?
          5. RPC的原理是什么?畫一下RPC服務(wù)調(diào)用的過(guò)程?
          6. RPC的序列化協(xié)議有哪些?你用過(guò)的這些RPC框架有哪些令你感到不爽的地方呢?
          7. 假如要實(shí)現(xiàn)一個(gè)RPC框架你如何支持異步調(diào)用的特性?
          8. RPC框架中的工作線程和Netty線程中怎么去分工的?

          分布式微服務(wù)理論&領(lǐng)域模型

          1. 分布式系統(tǒng)有過(guò)實(shí)踐經(jīng)驗(yàn)嗎?
          2. 你如何理解分布式和集群的?
          3. 你認(rèn)為什么是微服務(wù)?
          4. 說(shuō)說(shuō)你最熟悉的項(xiàng)目是怎么用微服務(wù)的方式搭建起來(lái)的?
          5. 畫一下這個(gè)項(xiàng)目的業(yè)務(wù)架構(gòu)圖?說(shuō)一下項(xiàng)目里面有哪些核心業(yè)務(wù)模型?
          6. 畫一下這些業(yè)務(wù)模型之間的關(guān)系?有哪些業(yè)務(wù)流程?
          7. DDD了解嗎?這些系統(tǒng)的邊界在哪?有哪些上下文?實(shí)體和值模型的區(qū)別是什么?

          分布式任務(wù)調(diào)度

          1. 項(xiàng)目中分布式定時(shí)任務(wù)怎么用的?
          2. 如何確保只有一臺(tái)機(jī)器去執(zhí)行?假如任務(wù)執(zhí)行時(shí)間較長(zhǎng),超過(guò)了鎖的時(shí)間怎么解決?
          3. 有個(gè)場(chǎng)景:有4個(gè)運(yùn)動(dòng)員,需要同時(shí)開始跑并跑到終點(diǎn),另外有2個(gè)裁判分別在起點(diǎn)和終點(diǎn),在起點(diǎn)的裁判負(fù)責(zé)發(fā)起開始跑的指令,在終點(diǎn)的裁判負(fù)責(zé)記錄每位運(yùn)動(dòng)員到終點(diǎn)的時(shí)間,然后需要計(jì)算4位運(yùn)動(dòng)員的耗時(shí)排名。有以下三個(gè)問(wèn)題:
            1. 如何設(shè)計(jì)這個(gè)業(yè)務(wù)場(chǎng)景的業(yè)務(wù)模型?
            2. java 多線程中如何去模擬并計(jì)算這4個(gè)運(yùn)動(dòng)員的耗時(shí),并得出排名?
            3. 假如在分布式的情況下如何計(jì)算這4個(gè)運(yùn)動(dòng)員的耗時(shí),并得出排名?擴(kuò)展:
            4. 分布式調(diào)度了解嗎?假如我有一批任務(wù)要執(zhí)行,我現(xiàn)在有很多集群,每個(gè)集群的機(jī)器數(shù)量和狀態(tài)都不一樣?你該怎么去調(diào)度這些機(jī)器去盡快完成這些任務(wù)?在上述任務(wù)調(diào)度過(guò)
            5. 程中假如有任務(wù)執(zhí)行耗時(shí)比較長(zhǎng),請(qǐng)問(wèn)有哪些排查思路?


          ? ? ? ?
          ???
          一圖了解 Google 工具棧
          RESTful API 最佳實(shí)踐
          你編寫的Java代碼是咋跑起來(lái)的?

          覺(jué)得不錯(cuò),點(diǎn)個(gè)在看~

          瀏覽 58
          點(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>
                  大鸡吧视频在线免费观看 | 视频在线精品 | gav在线 | 秋霞AV一区二区三区 | 午夜AV在线 |