7家公司拿了5個offer,無非就是問源碼、分布式微服務這些

2021-01-07 網易

  JVM相關面試題

  1.Java中你怎樣喚醒一個阻塞的線程?

  2.在 Java中CycliBarriar和CountdownLatch有什麼區別?

  3.為什麼我們調用start()方法時會執行 run()方法,為什麼我們不能直接調用 run()方法?

  4.垃圾回收與算法、如何確定垃圾、標記清除算法、複製算法、標記整理算法、分代收集算法

  5.GC分代收集算法VS分區收集算法、分代收集算法、分區收集算法

  6.程序計數器(線程私有)、虛擬機棧(線程私有)

  7.JVM類加載機制、驗證、加載、準備、直接引用、類構造器、符號引用......

  

  8.描述一下JVM 加載class文件的原理機制

  9.堆(Heap-線程共享) -運行時數據區

  10.JVM運行時內存、新生代、老年代、永久代

  11.描述一下JVM加載class文件的原理機制?

  12.Java對象創建過程、簡述Java的對象結構、

  13.如何判斷對象可以被回收?

  14.JVM的永久代中會發生垃圾回收麼

  15.垃圾收集算法、GC最基礎的算法有哪幾種?

  
Spring相關面試題

  1.如何理解Spring Boot 中的 Starters?

  2.什麼是spring Framework?

  3.運行Spring Boot有哪幾種方式?

  4.如何使用Spring Boot實現異常處理?

  5.Spring Boot中的監視器是什麼?

  6.列舉spring Framework 的優點

  7.什麼是spring 配置文件?

  8.SpringBoot實現熱部署有哪幾種方式

  9.Spring Boot的核心配置文件有哪幾個?它們的區別是什麼?

  10.服務註冊和發現是什麼意思?Spring Cloud 如何實現?

  11.負載平衡的意義什麼?什麼是Hystrix?它如何實現容錯?

  12.什麼是Spring Cloud Bus?我們需要它嗎?

  13.SpringMvc的控制器是不是單例模式,如果是,有什麼問題,怎麼解決?

  14.如果你也用過 struts2簡單介紹下 springMVC和struts2的區別有哪些?

  15.SpringMVC怎麼樣設定重定向和轉發的?

  16.SpringMvc裡面攔截器是怎麼寫的?

  17.什麼是Spring IOC 容器?

  18.什麼是依賴注入?可以通過多少種方式完成依賴注入?

  19.區分BeanFactory和ApplicationContext

  20.spring bean 容器的生命周期是什麼樣的?

  21.什麼是spring的內部bean?什麼是spring裝配?

  22.@Component, @Controller, @Repository, @Service 有何區別?

  23.@Required註解有什麼用?@Autowired註解有什麼用?

  24.@RequestMapping 註解有什麼用?@Qualifier 註解有什麼用?

  

  25.spring支持哪些ORM 框架?

  26.什麼是Aspect?什麼是切點(JoinPoint)?什麼是通知(Advice)?有哪些類型的通知(Advice)?

  27.描述一下DispatcherServlet的工作流程

  28.介紹一下WebApplicationContext

  
多線程並發相關面試題

  1.Java線程實現/創建方式、Java並發知識庫

  2.繼承Thread類、實現Runnable接口

  3.volatile是什麼?可以保證有序性嗎?

  4.Thread類中的start() 和 run() 方法有什麼區別?

  5.為什麼wait和notify方法要在同步塊中調用?

  6.為什麼wait, notify 和notifyAll這些方法不在thread類裡面?

  7.線程生命周期(狀態)、終止線程的4種方式、使用退出標記退出線程、stop方法終止線程

  

  8.線程喚醒(notify)、線程其他方法、進程、上下文。寄存器、程序計數器、PCB-「切換楨」

  9.什麼是CAS(比較並交換-樂觀鎖機制-鎖自旋)、概念及特性、原子包、ABA問題

  10.同步鎖、死鎖、線程池原理、線程復、線程池的組成

  11.reentrantreadwritelock實現獨佔鎖和共享兩種方式

  12.sleep與wait區別、start與run區別、Java後臺線程

  13.死鎖與活鎖的區別,死鎖與飢餓的區別?

  14.什麼是多線程中的上下文切換?

  15.Java中用到的線程調度算法是什麼?

  16.什麼是線程組,為什麼在 Java 中不推薦使用?

  17.什麼是阻塞隊列?阻塞隊列的實現原理是什麼?如何使用阻塞隊列來實現生產者-消費者模型?

  18.什麼是FutureTask?使用ExecutorService啟動任務

  19.線程同步和互斥有幾種實現方法,都是什麼?

  20.為什麼我們調用start()方法時會執行run()方法,為什麼我們不能直接調用run()方法?

  21.解釋Java堆空間及 GC?

  
MyBatis相關面試題

  1.Mybatis是什麼?

  2.Mybaits的優點?MyBatis 框架的缺點?

  3.MyBatis框架適用場合

  4.MyBatis與Hibernate有哪些不同?

  5.#{}和${}的區別是什麼?

  6.模糊查詢like語句該怎麼寫?

  7.Mybatis是如何進行分頁的?分頁插件的原理是什麼?

  8.為什麼說Mybatis是半自動ORM映射工具?它與全自動的區別在哪裡?

  9.MyBatis實現一對一有幾種方式?具體怎麼操作的?

  10.MyBatis實現一對多有幾種方式,怎麼操作的?

  

  11.Mybatis是否支持延遲加載?如果支持,它的實現原理是什麼?

  12.Mybatis的一級、二級緩存

  13.什麼是MyBatis的接口綁定?有哪些實現方式?

  14.使用MyBatis的 mapper接口調用時有哪些要求?

  15.Mapper編寫有哪幾種方式?

  16.MyBatis實現一對一有幾種方式?具體怎麼操作的 ?

  17.Mybatis是如何進行分頁的?分頁插件的原理是什麼?

  18.一對一、一對多的關聯查詢 ?

  19.簡述Mybatis 的插件運行原理,以及如何編寫一個插件。

  20.為什麼說Mybatis 是半自動 ORM 映射工具?它與全自動的區別在哪裡?

  
微服務相關面試題

  1.前後端分離是如何做的?微服務哪些框架?

  2.說說 RPC的實現原理、說說Dubbo的實現原理

  3.微服務架構有哪些優勢?微服務有哪些特點?

  4.設計微服務的最佳實踐是什麼?

  5.微服務架構如何運作?

  6.微服務架構的優缺點是什麼?

  7.單片,SOA和微服務架構有什麼區別?

  8.SOA和微服務架構之間的主要區別是什麼?

  9.API管理

  10.服務熔(hystrix)、服務跟蹤(starter-sleuth)

  11.什麼是有界上下文?什麼是雙因素身份驗證?什麼是客戶證書?

  12.PACT在微服務架構中的用途是什麼?

  13.什麼是OAuth?康威定律是什麼?什麼是端到端微服務測試?

  14.您對微服務架構中的語義監控有何了解?該如何進行跨功能測試?

  15.什麼是消費者驅動的合同(CDC)?

  
ZooKeeper 相關面試題

  1.ZooKeeper是什麼?

  2.ZooKeeper提供了什麼?

  3.Zookeeper文件系統

  4.四種類型的znode

  5.Zookeeper通知機制

  6.Zookeeper做了什麼?

  7.客戶端註冊Watcher 實現、服務端處理Watcher 實現

  8.客戶端回調Watcher

  9.ACL權限控制機制

  10.Chroot特性

  11.會話管理、伺服器角色

  12.Zookeeper分布式鎖(文件系統、通知機制)

  13.獲取分布式鎖的流程

  14.分布式集群中為什麼會有Master?

  15.zookeeper負載均衡和nginx 負載均衡區別

  16.Zookeeper有哪幾種幾種部署模式?

  

  17.說幾個zookeeper常用的命令

  18.ZAB和Paxos算法的聯繫與區別?

  19.Zookeeper的典型應用場景

  20.chubby是什麼,和zookeeper比你怎麼看?

  21.Zookeeper的 java客戶端都有哪些?

  22.Zookeeper有哪幾種幾種部署模式?

  23.Zookeeper隊列管理(文件系統、通知機制)

  24.zk的命名服務(文件系統)

  25.zk的配置管理(文件系統、通知機制)**

  26.Zookeeper集群管理(文件系統、通知機制)**

  27.Zookeeper的典型應用場景

  28.ZAB和Paxos算法的聯繫與區別?

  
資料庫相關面試題

  1.索引、常見索引原理 、限制索引的數目

  2.mylasm、memory、tokudb、B+樹、概念

  3.排序二叉樹、前綴樹、紅黑樹、位圖

  4.資料庫並發策略、樂觀鎖、悲觀鎖、時間戳

  5.基於Redis分布式鎖、兩階段提交協議、準備階段、提交階段、缺點

  
Java 並發編程相關面試題

  1.什麼是多線程中的上下文切換?

  2.死鎖與活鎖的區別,死鎖與飢餓的區別?

  3.Java中用到的線程調度算法是什麼?

  4.什麼是線程組,為什麼在 Java 中不推薦使用?

  5.為什麼使用Executor 框架?

  6.什麼是阻塞隊列?阻塞隊列的實現原理是什麼?如何使用阻塞隊列來實現生產者-消費者模型?

  7.什麼是Callable 和 Future?

  8.什麼是FutureTask?使用 ExecutorService 啟動任務

  9.什麼是並發容器的實現?

  10.多線程同步和互斥有幾種實現方法,都是什麼?

  11.Java中你怎樣喚醒一個阻塞的線程?

  12.在Java中CycliBarriar和CountdownLatch有什麼區別?

  13.什麼是線程組,為什麼在Java中不推薦使用?

  14.LinkedBlockingDeque

  15.什麼是Daemon線程?它有什麼意義?

  16.notify()和 notifyAll()有什麼區別?

  17.如何停止一個正在運行的線程?

  

  最後

考慮篇幅,就著重挑了一些常見的重要的面試題展示出來了。
所有的面試題目都不是一成不變的,上面的面試題只是給大家一個借鑑作用,最主要的是給自己增加知識的儲備,有備無患。

  

相關焦點

  • 揭秘小公司出身的我是怎樣拿下網際網路大公司offer,滿滿的都是套路
    此外,對各種設計模式也做了一定的研究2、分布式事務、分布式鎖分布式系統是目前大廠面試必問的技術點之一3、常見面試技術問題的梳理和總結Mysql資料庫、網絡、IO、分庫分表、分布式消息隊列等等4、Redis緩存相關技術,以及高並發下的緩存架構設計大廠對於緩存技術也是常問,Redis緩存面試題也是其中的重點
  • SpringCloud:分布式微服務架構
    這些服務圍繞業務能力構建並且可通過全自動部署機制獨立部署,這些服務共用一個最小型的集中式的管理,服務可用不同的語言開發,使用不同的數據存儲技術。特徵每個微服務可獨立運行在自己的進程中。一系列獨立運行的微服務共同構建起整個系統。
  • 淺談集群、分布式、微服務的異同
    分布式存在的主要作用是大幅度的提高效率,緩解伺服器的訪問和存儲壓力。區別分布式的方式是一個業務分拆多個子業務,部署在不同的伺服器上。例如:將一個大的系統劃分為多個業務模塊,業務模塊分別部署到不同的機器上,各個業務模塊之間通過接口進行數據交互。什麼是微服務
  • 華為自爆宇宙級:基於SpringBoot+Cloud微服務分布式架構實戰手冊
    Spring Boot以及Spring Cloud作為現在最火的技術,同時也是面試過程中必然會被問到的點,小編今天開源的這份手冊就是以分布式架構結合微服務實例的方式,介紹Spring Boot+Spring Cloud的基礎知識、架構順序和操作方法。
  • 基於 Spring Boot 和 Spring Cloud 實現微服務架構
    相信很多人都會問一個問題,這是不是就是SOA換了個概念,掛羊頭賣狗肉啊,有說法把Microservice叫成 Lightway SOA。也有很多傳統磚家跳出來說Microservice就是SOA。其實Martin也沒否認SOA和Microservice的關係。
  • 迷茫期後面試阿里奮發圖強8個月,如願拿到offer,定級阿里P7
    運氣暫且不談,就拿心態來說,千萬 不要因為面試失敗而氣餒或者說懷疑自己的能力,面試失敗之後多總結一下失敗的原因,後面你就會發現自己會越來越強大。本人也是經歷了大半年的準備才拿到了阿里的offer個人經歷普通專科畢業,12年轉行進入軟體開發行業。
  • 美團T9都說太「強」了,以微服務分布式的實戰詳解SpringCloud
    隨著微服務架構的興起,國內的IT企業特別是網際網路公司近年來都逐步引入了微服務技術並使其在實踐中落地,實施微服務架構最流行的方案非SpringCloud莫屬。從企業的真實需求出發,理論結合實際,深入講解SpringCloud微服務和分布式系統的知識。
  • Java 微服務從源碼實戰開始|Gitee 項目推薦
    但是,我們依然可以從微服務的理念和技術中學到很多東西,希望大家能夠喜歡這一期的 Java 微服務項目。如果大家有好的微服務開源項目,也可以託管到 Gitee.com 上,我們會及時給予推薦。最後,如果你很喜歡以下提到的項目,別忘了分享給其他人哦!
  • 面試都在問的微服務,一文帶你徹底搞懂!
    在座的各位都寫過單體程序,給大家舉個慄子,剛開始寫代碼你寫helloworld 程序就是單體程序,一個程序包含所有功能,雖然helloworld 功能很簡單。單體應用程式的優點  開發簡潔,功能都在單個程序內部,便於軟體設計和開發規劃。  容易部署,程序單一不存在分布式集群的複雜部署環境,降低了部署難度。
  • 我的天,你們公司的「微服務」簡直就是反人類……
    按照微服務的定義:微服務架構就是將一個龐大的業務系統按照業務模塊拆分成若干個獨立的子系統,每個子系統都是一個獨立的應用,它是一種將應用構建成一系列按業務領域劃分模塊的,小的自治服務的軟體架構方式,倡導將複雜的單體應用拆分成若干個功能單一、松偶合的服務,這樣可以降低開發難度、增強擴展性、便于敏捷開發,及持續集成與交付活動。
  • NutzWk 5.2.6 發布,Java 微服務分布式開發框架
    項目介紹:NutzWk 是有五年多歷史的Java Web開源開發框架,其5.x
  • 輕量級微服務架構及最佳部署
    此外,還有一些架構師認為,架構只是技術層面上的問題,自己設計的架構應該用到市面上最為流行的新技術,比如別人公司在用微服務,那麼自己公司也要用起來。如果將架構工作脫離於業務需求,我們認為這不是做架構,而是玩技術。脫離業務來設計架構是對架構的不尊重。微服務是一種應用系統架構,需要架構師圍繞業務進行設計。但是,我們絕不要為了微服務而去微服務。
  • 3分鐘讀懂何為分布式、微服務和集群!
    TT貓把所有功能模塊分布部署在不同的地方,最終完成了用戶一系列的請求,這大概就是一個分布式系統吧。二、微服務博主認為微服務是一種架構,也是在分布式範疇之內的。在分布式系統中,微服務更加強調單一職責、輕量級通信(HTTP)、獨立性並且進程隔離。好了,沒什麼好說的了,實踐出真知,建議大家多多了解 Spring-Cloud相關微服務組件。TT貓,每年都會搞一些活動,比如女生最愛的光棍節(雙11),夜深人靜的時候會瞬間湧入大量用戶,指不定就會把某個服務打趴下。這時候,問題來了用戶下單超時,或者直接500錯誤,如何去解決?
  • DotNet.CAP,或是.NET唯一靠譜的開源分布式框架!
    .NET5、容器化、K8S、分布式、微服務、DevOps、雲原生,熱門的技術名詞很多,然而無論概念如何包裝,落地的底層邏輯是不變的
  • 6年拉力經驗,學了P8架構師的7+1+1落地項目,跳槽阿里年薪40W+
    做過的項目大綱需要這些項目擴充自己的技術棧的朋友點讚+收藏後私信【學習】或者【架構】來諮詢這些項目該如何獲取。目前在阿里,給我的薪資已經是P6的最高水平了。為什麼定位還是P6,我也很絕望呀!5: zookeeper6: mysql調優課程7:算法(核心)8:網絡(netty網遊後端項目),應屆生工程項目經驗為基本為0,這個項目被視為加分項目,所以被死磕Java。
  • 4面字節跳動拿到2-2Offer,入職就是30K16薪,全靠這份PDF
    前言當你開始開始去跳槽面試的時候,明明只是一份15K的工作,卻問你會不會多線程,懂不懂高並發,火箭造得讓你猝及不防,結果就是涼涼;現如今市場,多線程、高並發編程、分布式、負載均衡、集群等可以說是現在高級後端開發求職的必備技能。
  • 三面螞蟻被虐得「體無完膚」,15天讀完這份pdf,拿下百度崗offer
    今年的金三銀四本是想好好拼一把,奈何受到疫情影響,只能將自己的計劃縮減又縮減,所以第一家選擇去面試的字節跳動,奈何三面被虐得「體無完膚」,好在自己並未氣餒,複習15天後去面試了百度,最終4面拿下了offer。
  • 每天兩小時學多線程、高並發、分布式、Redis,拿到騰訊T3 offer
    今日一問:你什麼時候發現自己技術弱到爆?沒錯,就是面試的時候。它為什麼不能在分布式環境下使用?Redis 是如何實現分布式鎖?可能會遇到什麼問題?分布式鎖使用超時的話會有什麼問題?如何解決?…………面試中,十個公司有八個公司會像字節跳動一樣,拿著一個技術點不斷的追問。如果你平時只注重項目可以運行,不注重底層技術的原理及細節問題,面對這些面試題,你肯定會一頭霧水,80%拿不到offer。
  • 微服務 SpringCloud Alibaba Seata處理分布式事務
    一、分布式事務問題什麼是分布式事務?一次業務操作需要跨多個數據源或需要跨多個系統進行遠程調用,就會產生分布式事務問題。例如,在微服務分布式架構中,一次網上購買操作涉及到,訂單系統,支付系統,積分系統,庫存系統,物流系統。一個業務邏輯,分別對應不同的系統,不同的數據源,其中一環出現問題,需要全部回退,這就是分布式事務要解決的問題。