前言:
現(xiàn)在IT界跳槽已成常態(tài),跳槽,可能有以下原因:一,技術(shù)達(dá)到瓶頸,無(wú)法在此公司有好的提升,前幾年我感覺基本不會(huì)出現(xiàn),至少我現(xiàn)在沒出現(xiàn)。二,實(shí)力與薪資不匹配。三,和同事 領(lǐng)導(dǎo)不和,如果你在幾家公司都這樣,要自我檢討一下是不是自己的問題。僅個(gè)人觀點(diǎn),其他諸如地域 情感 興趣等個(gè)人原因不做討論。
這也導(dǎo)致很多企業(yè)在用人時(shí)會(huì)比較在意員工的穩(wěn)定性一般外包公司都會(huì)比較忙,相對(duì)來(lái)說,成長(zhǎng)應(yīng)該是比較快的,而你的工作性質(zhì)偏業(yè)務(wù),那么你要想清楚一個(gè)問題,以后你的發(fā)展軌跡是怎樣的?是在技術(shù)方向越走越遠(yuǎn)呢,還是在管理方向發(fā)展呢?
一、 微服務(wù)架構(gòu)專題(思維導(dǎo)圖)
1、服務(wù)的前世今生
2、基于分布式思想下的RPC解決方案
3、dubbo應(yīng)用及源碼解讀面試題
(1)Dubbo telnet 命令能做什么?
(2)Dubbo必須依賴的包有哪些?
(3)Dubbo的管理控制臺(tái)能做什么?
(4)說說 Dubbo 服務(wù)暴露的過程。
(5)Dubbo 和 Dubbox 有什么區(qū)別?
(6)你還了解別的分布式框架嗎?
(7)Dubbo 能集成 Spring Boot 嗎?
(8)在使用過程中都遇到了些什么問題?
(9)你讀過 Dubbo 的源碼嗎?
(10)你覺得用 Dubbo 好還是 Spring Cloud 好?
4、springboot面試題
(1)如何重新加載Spring Boot上的更改,而無(wú)需重新啟動(dòng)服務(wù)器?
(2)Spring Boot中的監(jiān)視器是什么?
(3)如何在Spring Boot中禁用Actuator端點(diǎn)安全性?
(4)如何在自定義端口上運(yùn)行Spring Boot應(yīng)用程序?
(5)如何實(shí)現(xiàn)Spring Boot應(yīng)用程序的安全性?
(6)如何集成Spring Boot和ActiveMQ?
(7)如何使用Spring Boot實(shí)現(xiàn)分頁(yè)和排序?
(8)什么是Swagger?你用Spring Boot實(shí)現(xiàn)了它嗎?
( 9 )如何使用Spring Boot實(shí)現(xiàn)異常處理?
( 10 )您使用了哪些starter maven依賴項(xiàng)?
5、docker虛擬化技術(shù)面試題
(1)如何批量刪除或者停止運(yùn)行的容器?
(2)如何查看鏡像支持的環(huán)境變量?
(3)本地的鏡像文件都存放在哪里
(4)構(gòu)建Docker鏡像應(yīng)該遵循哪些原則?
(5)容器退出后,通過docker ps 命令查看不到,數(shù)據(jù)會(huì)丟失么?
(6)如何臨時(shí)退出一個(gè)正在交互的容器的終端,而不終止它?
(7)很多應(yīng)用容器都是默認(rèn)后臺(tái)運(yùn)行的,怎么查看它們的輸出和日志信息?
(8)使用docker port 命令映射容器的端口時(shí),系統(tǒng)報(bào)錯(cuò)Error: No public port ‘80’ published for …,是什么意思?
(9)可以在一個(gè)容器中同時(shí)運(yùn)行多個(gè)應(yīng)用進(jìn)程嗎?
(10)如何控制容器占用系統(tǒng)資源(CPU,內(nèi)存)的份額?
6、springcloud應(yīng)用及源碼解讀面試題
(1)springcloud如何實(shí)現(xiàn)服務(wù)的注冊(cè)和發(fā)現(xiàn)
(2)SpringCloud和Dubbo有什么區(qū)別?
(3)springcloud斷路器的作用
(4)Spring Cloud 有了解多少?
(5)什么是Spring Cloud Bus?我們需要它嗎?
(6)使用Spring Cloud有什么優(yōu)勢(shì)?
(7)springcloud你是什么?
二、微服務(wù)(Microservice)架構(gòu)快速指南(面試題含答案)
1.微服務(wù)技術(shù)棧有哪些?
2.什么是微服務(wù)架構(gòu)?
微服務(wù)是指開發(fā)一個(gè)單個(gè) 小型的但有業(yè)務(wù)功能的服務(wù),每個(gè)服務(wù)都有自己的處理和輕量通訊機(jī)制,可以部署在單個(gè)或多個(gè)服務(wù)器上。
微服務(wù)也指一種種松耦合的、有一定的有界上下文的面向服務(wù)架構(gòu)。也就是說,如果每個(gè)服務(wù)都要同時(shí)修改,那么它們就不是微服務(wù),因?yàn)樗鼈兙o耦合在一起;如果你需要掌握一個(gè)服務(wù)太多的上下文場(chǎng)景使用條件,那么它就是一個(gè)有上下文邊界的服務(wù),這個(gè)定義來(lái)自DDD領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)。
3. 微服務(wù)優(yōu)點(diǎn)是什么?
每個(gè)微服務(wù)都很小,這樣能聚焦一個(gè)指定的業(yè)務(wù)功能或業(yè)務(wù)需求。
微服務(wù)能夠被小團(tuán)隊(duì)單獨(dú)開發(fā),這個(gè)小團(tuán)隊(duì)是2到5人的開發(fā)人員組成。
微服務(wù)是松耦合的,是有功能意義的服務(wù),無(wú)論是在開發(fā)階段或部署階段都是獨(dú)立的。
微服務(wù)能使用不同的語(yǔ)言開發(fā)。
微服務(wù)允許容易且靈活的方式集成自動(dòng)部署,通過持續(xù)集成工具,如Jenkins, Hudson, bamboo 。
一個(gè)團(tuán)隊(duì)的新成員能夠更快投入生產(chǎn)。
微服務(wù)易于被一個(gè)開發(fā)人員理解,修改和維護(hù),這樣小團(tuán)隊(duì)能夠更關(guān)注自己的工作成果。無(wú)需通過合作才能體現(xiàn)價(jià)值。
微服務(wù)允許你利用融合最新技術(shù)。
微服務(wù)只是業(yè)務(wù)邏輯的代碼,不會(huì)和HTML,CSS 或其他界面組件混合。
微服務(wù)能夠即時(shí)被要求擴(kuò)展。
微服務(wù)能部署中低端配置的服務(wù)器上。
易于和第三方集成。
每個(gè)微服務(wù)都有自己的存儲(chǔ)能力,可以有自己的數(shù)據(jù)庫(kù)。也可以有統(tǒng)一數(shù)據(jù)庫(kù)。
4. 微服務(wù)架構(gòu)的缺點(diǎn)是什么?
微服務(wù)架構(gòu)可能帶來(lái)過多的操作。
需要DevOps技巧
可能雙倍的努力。
分布式系統(tǒng)可能復(fù)雜難以管理。
因?yàn)榉植疾渴鸶檰栴}難。
當(dāng)服務(wù)數(shù)量增加,管理復(fù)雜性增加。
5. 微服務(wù)適合哪種情況?
當(dāng)你需要支持桌面 web 移動(dòng) 智能電視 可穿戴時(shí)都是可以的,甚至將來(lái)你可能不知道但需要支持的某種環(huán)境。
6. 哪個(gè)公司或產(chǎn)品使用微服務(wù)架構(gòu)?
大部分大型網(wǎng)站系統(tǒng)如Twitter, Netflix, Amazon 和 eBay都已經(jīng)從傳統(tǒng)整體型架構(gòu)monolithic architecture遷移到微服務(wù)架構(gòu)
7. 微服務(wù)之間是如何獨(dú)立通訊的?
這依賴需求,通過使用HTTP/REST,數(shù)據(jù)格式使用JSON 或 Protobuf(Binary protocol),通訊協(xié)議是自由的。
8. 為什么現(xiàn)在每個(gè)人都在談?wù)撐⒎?wù)?
自從SOA面試15年來(lái),隨著RESTful web服務(wù)和JSON數(shù)據(jù)交換格式流行,簡(jiǎn)單快速建立一個(gè)可連接的服務(wù)已經(jīng)越來(lái)越方便了。
小結(jié)
自己小結(jié)了一下微服務(wù)架構(gòu)專題的面試問題,面試時(shí)十有八九都會(huì)問到的技術(shù)關(guān)注我點(diǎn)擊+號(hào),私信發(fā)送【面試資料】,獲取答案”,另外自己也總結(jié)了一下,分布式架構(gòu)、高可擴(kuò)展、高性能、高并 發(fā)、Jvm性能調(diào)優(yōu)、MyBatis,Nginx源碼分析,Redis、Netty、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多個(gè)知識(shí)的資料!