想要入職大廠可謂是千軍萬馬過獨木橋。要通過層層考驗,刷題 肯定是必不可少的。
作為國內互聯網技術的典型代表,阿里巴巴的技術一直備受著大家的關注。能進入阿里工作,是很多開發者們的目標與夢想,為幫助開發者們提升面試技能、高效通關一線互聯網公司的面試,小編把有關這四個方面的面試題提煉總結,一次整體放出送給大家。
JVM面試題
1、內存模型以及分區,需要詳細到每個區放什麼?
2、堆裡面的分區:Eden,survival (from+ to),老年代,各自的特點?、
3、對象創建方法,對象的內存分配,對象的訪問定位?
4、GC 的兩種判定方法?
5、SafePoint 是什麼?
6、GC 的三種收集方法:標記清除、標記整理、複製算法的原理與特點,分別用在什麼地方,如果讓你優化收集方法,有什麼思路?
7、GC 收集器有哪些?CMS 收集器與 G1 收集器的特點?
8、Minor GC 與 Full GC 分別在什麼時候發生?
9、幾種常用的內存調試工具:jmap、jstack、jconsole、jhat?
10、類加載的幾個過程?
11、JVM 內存分哪幾個區,每個區的作用是什麼?
12、如和判斷一個對象是否存活?(或者 GC 對象的判定方法)
13、簡述 java 垃圾回收機制?
14、java 中垃圾收集的方法有哪些?
15、java 內存模型?
16、java 類加載過程?
17、簡述 java 類加載機制?
18、類加載器雙親委派模型機制?
19、什麼是類加載器,類加載器有哪些?
20、簡述 java 內存分配與回收策率以及 Minor GC 和Major GC
由於題目過多,所以只列舉了部分題目,小編已經把全部的面試題和答案整理成了pdf文檔,有想要獲取的朋友可以先關注我幫忙轉發一下文章,後臺私信【面試資料】即可免費獲取
微服務面試題
SpringBoot
- 什麼是Spring Boot?
- Spring Boot有哪些優點?
- 什麼是JavaConfig?
- 如何重新加載Spring Boot上的更改,而無需重新啟動服務器?
- Spring Boot中的監視器是什麼?
- 如何在Spring Boot中禁用Actuator端點安全性?
- 如何在自定義端口上運行Spring Boot應用程序?
- 什麼是YAML?
- 如何實現Spring Boot應用程序的安全性?
- 如何集成Spring Boot和ActiveMQ?
- 如何使用Spring Boot實現分頁和排序?
- 什麼是Swagger?你用Spring Boot實現了它嗎?
- 什麼是Spring Profiles?
- 什麼是Spring Batch?
- 什麼是FreeMarker模板?
- 如何使用Spring Boot實現異常處理?
- 您使用了哪些starter maven依賴項?
- 什麼是CSRF攻擊?
- 什麼是WebSockets?
- 什麼是AOP?
- 什麼是Apache Kafka?
- 我們如何監視所有Spring Boot微服務?
SpringCloud
- 什麼是Spring Cloud?
- 使用Spring Cloud有什麼優勢?
- 服務註冊和發現是什麼意思?Spring Cloud如何實現?
- 負載平衡的意義什麼?
- 什麼是Hystrix?它如何實現容錯?
- 什麼是Hystrix斷路器?我們需要它嗎?
- 什麼是Netflix Feign?它的優點是什麼?
- 什麼是Spring Cloud Bus?我們需要它嗎?
Dubbo
- Dubbo中zookeeper做註冊中心,如果註冊中心集群都掛掉,發佈者和訂閱者之間還能通信麼?
- dubbo服務負載均衡策略?
- Dubbo在安全機制方面是如何解決的
- dubbo連接註冊中心和直連的區別
- dubbo服務集群配置(集群容錯模式)
- dubbo通信協議dubbo協議為什麼要消費者比提供者個數多
- dubbo通信協議dubbo協議為什麼不能傳大包
- dubbo通信協議dubbo協議為什麼採用異步單一長連接
- dubbo通信協議dubbo協議適用範圍和適用場景
- RMI協議
- Hessian協議
- http
- Webservice
- Thrif
MySQL面試題
- MySQL 有哪些存儲引擎啊?都有什麼區別?
- Float、Decimal 存儲金額的區別?
- Datetime、Timestamp 存儲時間的區別?
- Char、Varchar、Varbinary 存儲字符的區別?
- 什麼是索引?
- 對比一下B+樹索引和 Hash索引?
- MySQL索引類型有?
- 如何管理 MySQL索引?
- 對Explain參數及重要參數的理解?
- 索引利弊是什麼及索引分類?
- 二叉樹的轉置是什麼?
- 聚簇索引和非聚簇索引的區別?
- B+tree 如何進行優化?索引遵循哪些原則?存儲引擎會進行哪些自動優化?到底何時索引會失效?
- 索引與鎖有什麼關係?
- 還有什麼其他的索引類型,各自索引有哪些優缺點?
- MySQL事務和鎖有關問題
- 談談對Innodb事務的理解?
- 說說數據庫事務特點及潛在問題?
- 什麼是MySQL隔離級別?
- 有多少種事務失效的場景,如何解決?
- 一致性非鎖定讀和一致性鎖定讀是什麼?
- Innodb如何解決幻讀?
- 講講Innodb行鎖?
- 死鎖及監控是什麼?
- 自增長與鎖 ,鎖的算法,鎖問題,鎖升級是什麼?
- 樂觀鎖的線程如何做失敗補償?
- 高併發場景(領紅包)如何防止死鎖,保證數據一致性?
- 談談MySQL的鎖併發?
- MySQL性能優化有關問題
- 回表和集群因子是什麼?
- 講講表與表之間的關係?
- 瞭解查詢優化器模塊;
- 查詢優化的基本思路是什麼?
- 說說MySQL讀寫分離、分庫分表?
- Query語句對數據庫性能有什麼影響?
- Schema設計對系統性能有什麼影響?
- 硬件環境對數據庫的性能有什麼影響?
- 表結構對性能有什麼影響?
- 淺談索引優化?
- JOIN的原理是什麼?
- 說說Sql優化的幾點原則?
- MySQL表設計及規範?
- 說說MySQL幾種存儲引擎應用場景?
- MySQL常用優化方式有哪些?
- MySQL常用監控?
- MySQL瓶頸分析?
Redis面試題
1、什麼是Redis?
2、Redis相比memcached有哪些優勢?
3、Redis支持哪幾種數據類型?
4、Redis主要消耗什麼物理資源?
5、Redis的全稱是什麼?
6、Redis有哪幾種數據淘汰策略?
7、Redis官方為什麼不提供Windows版本?
8、一個字符串類型的值能存儲最大容量是多少?
9、為什麼Redis需要把所有數據放到內存中?
10、Redis集群方案應該怎麼做?都有哪些方案?
11、Redis集群方案什麼情況下會導致整個集群不可用?
12、MySQL裡有2000w數據,redis中只存20w的數據,如何保證redis中的數據都是熱點數據?
13、Redis有哪些適合的場景?
14、Redis支持的Java客戶端都有哪些?官方推薦用哪個?
15、Redis和Redisson有什麼關係?
16、Jedis與Redisson對比有什麼優缺點?
17、Redis如何設置密碼及驗證密碼?
18、說說Redis哈希槽的概念?
19、Redis集群的主從複製模型是怎樣的?
20、Redis集群會有寫操作丟失嗎?為什麼?
21、Redis集群之間是如何複製的?
22、Redis集群最大節點個數是多少?
23、Redis集群如何選擇數據庫?
24、怎麼測試Redis的連通性?
25、Redis中的管道有什麼用?
26、怎麼理解Redis事務?
27、Redis事務相關的命令有哪幾個?
28、Redis key的過期時間和永久有效分別怎麼設置?
29、Redis如何做內存優化?
30、Redis回收進程如何工作的?
31、Redis回收使用的是什麼算法?
32、Redis如何做大量數據插入?
33、為什麼要做Redis分區?
34、你知道有哪些Redis分區實現方案?
35、Redis分區有什麼缺點?
36、Redis持久化數據和緩存怎麼做擴容?
37、分佈式Redis是前期做還是後期規模上來了再做好?為什麼?
38、Twemproxy是什麼?
39、支持一致性哈希的客戶端有哪些?
40、Redis與其他key-value存儲有什麼不同?
41、Redis的內存佔用情況怎麼樣?
42、都有哪些辦法可以降低Redis的內存使用情況呢?
43、查看Redis使用情況及狀態信息用什麼命令?
44、Redis的內存用完了會發生什麼?
45、Redis是單線程的,如何提高多核CPU的利用率?
46、一個Redis實例最多能存放多少的keys?List、Set、Sorted Set他們最多能存放多少元素?
47、Redis常見性能問題和解決方案?
48、Redis提供了哪幾種持久化方式?
49、如何選擇合適的持久化方式?
50、修改配置不重啟Redis會實時生效嗎?
由於題目過多,小編已經把全部的面試題和答案整理成了pdf文檔,有想要獲取的朋友可以先關注我幫忙轉發一下文章,後臺私信【面試資料】即可免費獲取
閱讀更多 Java高級架構師 的文章