前言

正逢金三銀四,很多人面試之前,可能沒有在互聯網公司作業過或者說作業過但年頭較短,不知道互聯網公司技術面試都會問哪些問題? 再加上可能自己準備也不充分,去面試沒幾個回合就被面試官幾個問題打蒙了,最后以慘敗收場,針對大家的這些問題,我整理了jvm+開源框架+netty+spring+MySQL+dubbo+netty+mybatis的大廠真題和解答,看完之后希望對你有一定的幫助,

所有的資料都整理一個檔案里面了,文中沒有將所有答案都列舉出來,需要資料私信小編:【架構資料】
JVM:
- 記憶體模型以及磁區,需要詳細到每個區放什么,
- 堆里面的磁區:Eden,survival (from+ to),老年代,各自的特點,
- 物件創建方法,物件的記憶體分配,物件的訪問定位,
- GC 的兩種判定方法:
- SafePoint 是什么
- GC 的三種收集方法:標記清除、標記整理、復制演算法的原理與特點,分別用 在什么地方,如果讓你優化收集方法,有什么思路?
- GC 收集器有哪些?CMS 收集器與 G1 收集器的特點,
- Minor GC 與 Full GC 分別在什么時候發生?
- 幾種常用的記憶體除錯工具:jmap、jstack、jconsole、jhat
- 類加載的幾個程序:
- JVM 記憶體分哪幾個區,每個區的作用是什么?
- 如和判斷一個物件是否存活?(或者 GC 物件的判定方法)
- 簡述 java 垃圾回識訓制?
- java 中垃圾收集的方法有哪些?
- java 記憶體模型
- java 類加載程序?
- 簡述 java 類加載機制?
- 類加載器雙親委派模型機制?
- 什么是類加載器,類加載器有哪些?
- 簡述 java 記憶體分配與回收策率以及 Minor GC 和 Major GC
開源框架:
- BeanFactory 和 ApplicationContext 有什么區別
- Spring Bean 的生命周期
- Spring IOC 如何實作
- 說說 Spring AOP
- Spring AOP 實作原理
- 動態代理(cglib 與 JDK)
- Spring 事務實作方式
- Spring 事務底層原理
- 如何自定義注解實作功能
- Spring MVC 運行流程
- Spring MVC 啟動流程
- Spring 的單例實作原理
- Spring 框架中用到了哪些設計模式
Netty
- 為什么選擇 Netty
- 說說業務中,Netty 的使用場景
- 原生的 NIO 在 JDK 1.7 版本存在 epoll bug
- 什么是 TCP 粘包/拆包
- TCP 粘包/拆包的解決辦法
- Netty 執行緒模型
- 說說 Netty 的零拷貝
- Netty 內部執行流程
spring
- 什么是 Spring 框架?Spring 框架有哪些主要模塊?
- 使用 Spring 框架能帶來哪些好處?
- 什么是控制反轉(IOC)?什么是依賴注入?
- 請解釋下 Spring 框架中的 IoC?
- BeanFactory 和 ApplicationContext 有什么區別?
- Spring 有幾種配置方式?
- 如何用基于 XML 配置的方式配置 Spring?
- 如何用基于 Java 配置的方式配置 Spring?
- 怎樣用注解的方式配置 Spring?
- 請解釋 Spring Bean 的生命周期?
- Spring Bean 的作用域之間有什么區別?
- 什么是 Spring inner beans?
- Spring 框架中的單例 Beans 是執行緒安全的么?
- 請舉例說明如何在 Spring 中注入一個 Java Collection?
- 如何向 Spring Bean 中注入一個 Java.util.Properties?
- 請解釋 Spring Bean 的自動裝配?
- 請解釋自動裝配模式的區別?
- 如何開啟基于注解的自動裝配?
- 請舉例解釋@Required 注解?
- 請舉例解釋@Autowired 注解?
- 請舉例說明@Qualifier 注解?
- 構造方法注入和設值注入有什么區別?
- FileSystemResource 和 ClassPathResource 有何區別?
- Spring 框架中都用到了哪些設計模式?
mysql
- 一張表,里面有 ID 自增主鍵,當 insert 了 17 條記錄之后,洗掉了第 15,16,17 條記錄, 再把 Mysql 重啟,再 insert 一條記錄,這條記錄的 ID 是 18 還是 15 ?
- Mysql 的技術特點是什么?
- Heap 表是什么?
- Mysql 服務器默認埠是什么?
- 與 Oracle 相比,Mysql 有什么優勢?
- 如何區分 FLOAT 和 DOUBLE?
- 區分 CHAR_LENGTH 和 LENGTH?
- 請簡潔描述 Mysql 中 InnoDB 支持的四種事務隔離級別名稱,以及逐級之間的區別?
- 在 Mysql 中 ENUM 的用法是什么?
- 如何定義 REGEXP?
- CHAR 和 VARCHAR 的區別?
- 列的字串型別可以是什么?
- 如何獲取當前的 Mysql 版本?
- Mysql 中使用什么存盤引擎?
- Mysql 驅動程式是什么?
- TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 資料型別上做什么?
- 主鍵和候選鍵有什么區別?
- 如何使用 Unix shell 登錄 Mysql?
- myisamchk 是用來做什么的?
- MYSQL 資料庫服務器性能分析的方法命令有哪些?
Dubbo
- Dubbo 支持哪些協議,每種協議的應用場景,優缺點?
- Dubbo 超時時間怎樣設定?
- Dubbo 有些哪些注冊中心?
- Dubbo 集群的負載均衡有哪些策略
- Dubbo 是什么?
- Dubbo 的主要應用場景?
- Dubbo 的核心功能?
- Dubbo 的核心組件?
- Dubbo 服務注冊與發現的流程?
- Dubbo 的架構設計?
- Dubbo 支持哪些協議,每種協議的應用場景,優缺點?
- Dubbo 有些哪些注冊中心?
- Dubbo 默認采用注冊中心?
- 為什么需要服務治理?
netty
- BIO、NIO 和 AIO 的區別?
- NIO 的組成?
- Netty 的特點?
- Netty 的執行緒模型?
- TCP 粘包/拆包的原因及解決方法?
- 了解哪幾種序列化協議?
- 如何選擇序列化協議?
- Netty 的零拷貝實作?
- Netty 的高性能表現在哪些方面?
- NIOEventLoopGroup 原始碼?
mybatis
- 什么是 MyBatis?
- 講下 MyBatis 的快取
- Mybatis 是如何進行分頁的?分頁插件的原理是什么?
- 簡述 Mybatis 的插件運行原理,以及如何撰寫一個插件?
- Mybatis 動態 sql 是做什么的?都有哪些動態 sql?能簡述一下動態 sql 的執行原理不?
- #{}和${}的區別是什么?
- 為什么說 Mybatis 是半自動 ORM 映射工具?它與全自動的區別在哪里?
- Mybatis 是否支持延遲加載?如果支持,它的實作原理是什么?
- MyBatis 與 Hibernate 有哪些不同?
- MyBatis 的好處是什么?
- 簡述 Mybatis 的 Xml 映射檔案和 Mybatis 內部資料結構之間的映射關系?
- 什么是 MyBatis 的介面系結,有什么好處?
- 介面系結有幾種實作方式,分別是怎么實作的?
- 什么情況下用注解系結,什么情況下用 xml 系結?
- MyBatis 實作一對一有幾種方式?具體怎么操作的?
- Mybatis 能執行一對一、一對多的關聯查詢嗎?都有哪些實作方式,以及它們之間的區別?
- MyBatis 里面的動態 Sql 是怎么設定的?用什么語法?
- Mybatis 是如何將 sql 執行結果封裝為目標物件并回傳的?都有哪些映射形式?
- Xml 映射檔案中,除了常見的 select|insert|updae|delete 標簽之外,還有哪些標簽?
- 當物體類中的屬性名和表中的欄位名不一樣,如果將查詢的結果封裝到指定 pojo?
- 模糊查詢 like 陳述句該怎么寫
- 通常一個 Xml 映射檔案,都會寫一個 Dao 介面與之對應, Dao 的作業原理,是否可以多載?
- Mybatis 映射檔案中,如果 A 標簽通過 include 參考了 B 標簽的內容,請問,B 標簽能否定義在 A 標簽的后面,還是說必須定義在 A 標簽的前面?
- Mybatis 的 Xml 映射檔案中,不同的 Xml 映射檔案,id 是否可以重復?
- Mybatis 中如何執行批處理?
- Mybatis 都有哪些 Executor 執行器?它們之間的區別是什么?
- Mybatis 中如何指定使用哪一種 Executor 執行器?
- Mybatis 執行批量插入,能回傳資料庫主鍵串列嗎?
- Mybatis 是否可以映射 Enum 列舉類?
- 如何獲取自動生成的(主)鍵值?
- 在mapper中如何傳遞多個引數?
- Java核心知識點整理;


除去這些還有很多面試真題還有視頻資料,學習筆記,電子書籍都不在這里一一給大家列舉出來了,需要的小伙伴可以私信【架構資料】加群獲取 所有的資料,



轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/179139.html
標籤:其他
