1、《從0到1學習Flink》—— Apache Flink 介紹
2、《從0到1學習Flink》—— Mac 上搭建 Flink 1.6.0 環境並構建執行簡單程式入門
3、《從0到1學習Flink》—— Flink 配置檔案詳解
4、《從0到1學習Flink》—— Data Source 介紹
5、《從0到1學習Flink》—— 如何自定義 Data Source ?
6、《從0到1學習Flink》—— Data Sink 介紹
7、《從0到1學習Flink》—— 如何自定義 Data Sink ?
8、《從0到1學習Flink》—— Flink Data transformation(轉換)
9、《從0到1學習Flink》—— 介紹Flink中的Stream Windows
10、《從0到1學習Flink》—— Flink 中的幾種 Time 詳解
11、《從0到1學習Flink》—— Flink 寫入資料到 ElasticSearch
12、《從0到1學習Flink》—— Flink 專案如何執行?
13、《從0到1學習Flink》—— Flink 寫入資料到 Kafka
14、《從0到1學習Flink》—— Flink JobManager 高可用性配置
15、《從0到1學習Flink》—— Flink parallelism 和 Slot 介紹
16、《從0到1學習Flink》—— Flink 讀取 Kafka 資料批量寫入到 MySQL
17、《從0到1學習Flink》—— Flink 讀取 Kafka 資料寫入到 RabbitMQ
18、《從0到1學習Flink》—— 你上傳的 jar 包藏到哪裡去了?
又是金三銀四的時候,我希望這份面試題能夠祝你一臂之力!
自我和專案相關
1、自我介紹
2、你覺得自己的優點是?你覺得自己有啥缺點?
3、你有哪些 offer?
4、你為什麼要離開上家公司?你上家公司在xxx,我們公司在xxx,離這麼遠為什麼要選擇我們這裡?
5、上家公司的同事和領導是怎麼評價你的?
6、介紹下你的上家公司是做哪塊的吧
7、在上家公司你做了哪些專案?
8、你在專案中是什麼角色?
9、這個專案的資料量和併發量多大?
10、這個專案用的什麼技術?
11、專案過程中有遇到什麼很印象深刻的問題嗎?
12、是怎麼解決的這些問題?
13、專案有沒有還可以繼續優化的地方?
14、該怎麼優化?有什麼思路沒?
15、叫你設計一個併發xxx,資料儲存量xxx 量級的系統,你該如何設計?從你知道的點儘可能的多說出些?
Java 基礎
1、Object 物件的方法有哪些?分別有什麼作用?該什麼場景用?
2、Integer 的常量快取池
3、Java 特性?什麼是多型?舉個例子
4、過載重寫的區別?
5、畫下 HashMap 的結構圖?HashMap 、 HashTable 和 ConcurrentHashMap 的區別?使用場景分別是?
6、HashMap 中怎麼解決衝突的?
7、ConcurrentHashMap 和 HashTable 中執行緒安全的區別?為啥建議用 ConcurrentHashMap ?能把 ConcurrentHashMap 裡面的實現詳細的講下嗎?
8、保證執行緒安全的還有其他的方式嗎?
9、講下 Synchronized?
10、講下 ReentrantLock 可重入鎖? 什麼是可重入鎖?為什麼要設計可重入鎖?
11、Synchronized 和 ReentrantLock 有什麼區別?這兩個有沒有深入瞭解原始碼?
12、講下 Volatile 吧?他是怎樣做到同步的?
13、Volatile 為什麼不支援原子性?舉個例子
14、Atomic 怎麼設計的?有用過裡面的類嗎?
15、執行緒安全類和執行緒不安全的類,專案使用的時候你會怎麼選擇?怎麼判斷專案程式碼哪裡會有執行緒不安全問題?
16、Map、List、Set 分別說下你瞭解到它們有的執行緒安全類和執行緒不安全的類?
17、TreeSet 清楚嗎?能詳細說下嗎?
18、ThreadLocal 瞭解嗎?專案有用過嗎?可以說說
19、JUC 裡面你還知道什麼其他的類嗎?比如 CountDownLatch、Condition
20、從原始碼詳細說下 Java 裡面的執行緒池吧,使用執行緒池有什麼要注意的地方?你們公司有規範嗎?
JVM
1、JAVA 類載入器
2、Java 記憶體結構(注:不是 Java 記憶體模型,別搞混)
3、怎麼判斷物件是否可 GC?Java 物件有哪些引用型別?有什麼區別?
4、OOM 出現的有哪些場景?為什麼會發生?
5、Minor GC 和 Full GC 有什麼區別?分析過 GC 日誌嗎?
6、說下你知道的垃圾回收演算法
7、說下你知道的垃圾收集器
8、CMS 和 G1 的區別知道嗎?使用場景分別是?你專案中用的是哪個?
9、你還知道哪些 JVM 調優引數?
10、假如線上服務發生 OOM,有哪些措施可以找到問題?
11、假如線上服務 CPU 很高該怎麼做?有哪些措施可以找到問題?
12、假如線上應用頻繁發生 Full GC,有哪些措施可以找到問題?
13、一般線上環境遇到 JVM 問題,你會使用哪些工具來分析?找到問題後又該如何去解決呢?
Spring
1、說下你對 Spring 生態的瞭解?
2、說下你對 Spring AOP 和 IOC 的理解?看過實現原理嗎?
3、說下 Bean 在 Spring 中的生命週期?
4、講下你知道的 Spring 註解有哪些?該什麼場景使用?
5、Spring 事務知道嗎?有了解過嗎?
6、說下你剛才說的 SpringBoot 吧,你覺得 SpringBoot 有什麼優點?
7、SpringBoot 自動化配置是怎麼做的?有看過實現原始碼嗎?
8、Spring Boot 中最核心的註解 SpringBootApplication 有看過原始碼分析過嗎?
9、你的專案中 SpringBoot 用到了哪些和其他技術棧整合的?
10、使用 Spring 或者 SpringBoot 有遇到過什麼印象深刻的問題嗎?當時是怎麼解決的?
資料庫
1、你的專案使用的是什麼資料庫?
2、你對資料庫瞭解多少?說下資料庫的索引實現和非主鍵的二級索引
3、說下 MySQL 的索引原理
4、講下 InnoDB 和 MyISAM 的區別?使用場景是?
5、有和 ElasticSearch 的索引原理對比過嗎?
6、如何判斷一個查詢 sql 語句是否使用了索引?
7、資料庫事務特性和隔離級別
8、專案資料庫表是你設計的嗎?一般要注意什麼?如何考慮擴充套件性?
9、專案 MySQL 的資料量和併發量有多大?量大後的影響有哪些,有考慮嗎?SQL 調優有哪些技巧?
10、說下你專案裡面關於資料庫印象最深的一個問題?當時是怎麼解決的
其他
1、描述下網頁一個 Http 請求到 www.54tianzhisheng.cn/,到後端的整個請求過程
2、有比較過 Http 和 RPC 嗎?如果叫你設計一個高效能的 Http 或者 RPC,你會從哪些方面考慮?
3、專案中我看使用了 xxx (ElasticSearch、Hbase、Redis、Flink 等),有深入瞭解它們的原理和懂點調優技巧嗎?
4、專案中我看使用了 xxx (ElasticSearch、Hbase、Redis、Mysql 等),有深入瞭解它們資料同步是怎麼做嗎?
5、專案中我看使用了 xxx (ElasticSearch、Hbase、Redis、Mysql 等),有深入瞭解它們常見的監控指標嗎?
6、如果叫你設計一個秒殺系統,你會從哪些方面考慮?
7、如果叫你設計一個電商系統,你會從哪些方面考慮?
8、如果叫你設計一個監控告警系統,你會從哪些方面考慮?
總結
本文的面試題以 HR & 技術官角度常問的面試題,技術方面從 Java 基礎、JVM、Spring、資料庫、擴充題等方面考察你,當然面試官可能還會問些其他的技術點,我一篇文章也難以概全。總的來說,還是得多準備充分,面試時靈活答辯,相信你最後能拿到滿意的 offer!加油,騷年!
關注我
掃描上面二維碼,公眾號裡回覆 面經 可以檢視更多 面經和麵試題 文章!
公眾號裡回覆 ES 可以檢視系列 ElasticSearch 文章!
公眾號裡回覆 Flink 可以檢視系列 Flink 文章!
公眾號裡回覆 Spring 可以檢視系列 Spring & SpringBoot 文章!
公眾號裡回覆 Java 可以檢視系列 Java 文章!
公眾號裡回覆 監控 可以檢視更多 監控 文章!