前言
本人 20 年畢業于一所普通本科,實習的時候也就想著混一張畢業證,也沒做什么實際專案,再加上去年就業形式嚴峻,行業內卷,索性就選擇了一家小企業公司,直到后來來才知道是屬于外包,(也太慘了!耳邊回想起老師說的話:千萬別去外包)

想想算了,誰讓自己菜,還是先好好學點技術吧,但是作業起來就是日復一日的 CRUD,沒有 996 的工資,同樣逃不過 996 的命,這時候聯系了一個同畢業的同學,大概意思就是:哎,自己過得也不好,雖然在華為工資高,但是天天趕專案,妥妥的凡爾賽!
也許是被刺激到了,想著今年金九銀十一定要跳槽,進大廠!然后就聯系了之前一起打籃球玩的比較好的學長,他現在在京東技術開發崗位,給我一份之前面試整理的筆記,并在不久前,成功拿到了京東的 offer,內容涵蓋:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技術堆疊,
由于整個筆記比較全面,內容相當的多 ,這里僅展示面經中的面試真題,如有需要獲取文中提到的 java面經 請看評論區 獲取
文章目錄
-
前言
-
MyBatis 面試題
-
ZooKeeper 面試題
-
Dubbo 面試題
-
Elasticsearch 面試題
-
Memcached 面試題
-
Redis 面試題
-
MySQL 面試題
-
Java 并發編程(一)
-
Java 并發編程(二)
-
Java 面試題(一)
-
Java 面試題(二)
-
Spring 面試題(一)①一般問題②依賴注入(Ioc)③Beans④注解⑤資料訪問⑥AOP⑦MVC
-
Spring 面試題(二)①依賴注入②Spring Beans③Spring 注解④Spring 資料訪問⑤Spring 面向切面編程(AOP)⑥Spring 的 MVC
-
微服務 面試題
-
Linux 面試題
-
Spring Boot 面試題
-
Spring Cloud 面試題
-
RabbitMQ 面試題
-
kafka 面試題
-
寫在最后
MyBatis 面試題
-
什么是 Mybatis?
-
Mybaits 的優點:
-
MyBatis 框架的缺點:
-
MyBatis 框架適用場合:
-
MyBatis 與 Hibernate 有哪些不同?
-
#{}和 ${}的區別是什么?
-
當物體類中的屬性名和表中的欄位名不一樣 ,怎么辦 ?
-
模糊查詢 like 陳述句該怎么寫?
-
通常一個 Xml 映射檔案,都會寫一個 Dao 介面與之對應,請問,這個 Dao 介面的作業原理是什么?Dao 介面里的方法,引數不同時,方法能多載嗎?
-
Mybatis 是如何進行分頁的?分頁插件的原理是什么?

Dubbo 面試題
-
為什么要用 Dubbo?
-
Dubbo 的整體架構設計有哪些分層?
-
默認使用的是什么通信框架,還有別的選擇嗎?
-
服務呼叫是阻塞的嗎?
-
一般使用什么注冊中心?還有別的選擇嗎?
-
默認使用什么序列化框架,你知道的還有哪些?
-
服務提供者能實作失效踢出是什么原理?
-
服務上線怎么不影響舊版本?
-
如何解決服務呼叫鏈過長的問題?
-
說說核心的配置有哪些?

Elasticsearch 面試題
-
elasticsearch 了解多少,說說你們公司 es 的集群架構,索引資料大小,分片有多少,以及一些調優手段 ,
-
elasticsearch 的倒排索引是什么
-
elasticsearch 索引資料多了怎么辦,如何調優,部署
-
elasticsearch 是如何實作 master 選舉的
-
詳細描述一下 Elasticsearch 索引檔案的程序
-
詳細描述一下 Elasticsearch 搜索的程序?
-
Elasticsearch 在部署時,對 Linux 的設定有哪些優化方法
-
lucence 內部結構是什么?
-
Elasticsearch 是如何實作 Master 選舉的?
-
Elasticsearch 中的節點(比如共 20 個),其中的 10 個選了一個 master,另外 10 個選了另一個 master,怎么辦?

Memcached 面試題
-
Memcached 是什么,有什么作用?
-
Memcached 服務分布式集群如何實作?
-
Memcached 服務特點及作業原理是什么?
-
簡述 Memcached 記憶體管理機制原理?
-
memcached 是怎么作業的?
-
memcached 最大的優勢是什么?
-
memcached 和 MySQL 的 query
-
memcached 和服務器的 local cache(比如 PHP 的 APC、mmap 檔案等)相比,有什么優缺點?
-
memcached 的 cache 機制是怎樣的?
-
memcached 如何實作冗余機制?

Redis 面試題
-
什么是 Redis?
-
Redis 的資料型別?
-
使用 Redis 有哪些好處?
-
Redis 相比 Memcached 有哪些優勢?
-
Memcache 與 Redis 的區別都有哪些?
-
Redis 是單行程單執行緒的?
-
一個字串型別的值能存盤最大容量是多少?
-
Redis 的持久化機制是什么?各自的優缺點?
-
Redis 常見性能問題和解決方案:
-
redis 過期鍵的洗掉策略?

MySQL 面試題
-
MySQL 中有哪幾種鎖?
-
MySQL 中有哪些不同的表格?
-
簡述在 MySQL 資料庫中 MyISAM 和 InnoDB 的區別
-
MySQL 中 InnoDB 支持的四種事務隔離級別名稱,以及逐級之間的區別?
-
CHAR 和 VARCHAR 的區別?
-
主鍵和候選鍵有什么區別?
-
myisamchk 是用來做什么的?
-
如果一個表有一列定義為 TIMESTAMP,將發生什么?
-
你怎么看到為表格定義的所有索引?
-
LIKE 宣告中的%和_是什么意思?

Java 并發編程(一)
-
在 java 中守護執行緒和本地執行緒區別?
-
執行緒與行程的區別?
-
什么是多執行緒中的背景關系切換?
-
死鎖與活鎖的區別,死鎖與饑餓的區別?
-
Java 中用到的執行緒調度演算法是什么?
-
什么是執行緒組,為什么在 Java 中不推薦使用?
-
為什么使用 Executor 框架?
-
在 Java 中 Executor 和 Executors 的區別?
-
如何在 Windows 和 Linux 上查找哪個執行緒使用的 CPU 時間最長?
-
什么是原子操作?在 Java Concurrency API 中有哪些原子類(atomic classes)?

Java 并發編程(二)
-
并發編程三要素?
-
實作可見性的方法有哪些?
-
多執行緒的價值?
-
創建執行緒的有哪些方式?
-
創建執行緒的三種方式的對比?
-
執行緒的狀態流轉圖
-
Java 執行緒具有五中基本狀態
-
什么是執行緒池?有哪幾種創建方式?
-
四種執行緒池的創建:
-
執行緒池的優點?

Java 面試題(一)
-
面向物件的特征有哪些方面?
-
訪問修飾符 public,private,protected,以及不寫(默認)時的區別?
-
String 是最基本的資料型別嗎?
-
float f=3.4;是否正確?
-
short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1;有錯嗎?
-
Java 有沒有 goto?
-
int 和 Integer 有什么區別?
-
&和 &&的區別?
-
解釋記憶體中的堆疊(stack)、堆(heap)和方法區(method area)的用法,
-
Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
-
switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?
-
用最有效率的方法計算 2 乘以 8?
-
陣列有沒有 length()方法?String 有沒有 length()方法?
-
在 Java 中,如何跳出當前的多重嵌套回圈?
-
構造器(constructor)是否可被重寫(override)?
-
兩個物件值相同(x.equals(y) == true),但卻可有不同的 hash code,這句話對不對?
-
是否可以繼承 String 類?
-
當一個物件被當作引數傳遞到一個方法后,此方法可改變這個物件的屬性,并可回傳變化后的結果,那么這里到底是值傳遞還是參考傳遞?

Java 面試題(二)
下面列出這份 Java 面試問題串列包含的主題
-
多執行緒,并發及執行緒基礎
-
資料型別轉換的基本原則
-
垃圾回收(GC)
-
Java 集合框架
-
陣列
-
字串
-
GOF 設計模式
-
SOLID
-
抽象類與介面
-
Java 基礎,如 equals 和 hashcode
-
泛型與列舉
-
Java IO 與 NIO
-
常用網路協議
-
Java 中的資料結構和演算法
-
正則運算式
-
JVM 底層
-
Java 最佳實踐
-
JDBC
-
Date, Time 與 Calendar
-
Java 處理 XML
-
JUnit
-
編程
總計 133 個問題,由于篇幅問題就不把問題一一列出來了,這里就展示一些截圖,


Spring 面試題(一)
①一般問題
-
不同版本的 Spring Framework 有哪些主要功能?
-
什么是 Spring Framework?
-
列舉 Spring Framework 的優點,
-
Spring Framework 有哪些不同的功能?
-
Spring Framework 中有多少個模塊,它們分別是什么?
-
什么是 Spring 組態檔?
-
Spring 應用程式有哪些不同組件?
-
使用 Spring 有哪些方式?

寫在最后
我們程式員的技術一直在更新迭代,如果一直固步自封的話,是很難跟上技術的潮流的,所以一定要不斷的學習,
如果你想在未來能夠自我突破,圓夢大廠,那或許以上這份 Java 程式員面經” 也能幫的上你!有需要的朋友看評論區
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/355267.html
標籤:其他
