假如我是面試官,我會這樣虐你

一、《從0到1學習Flink》—— Apache Flink 介紹面試

二、《從0到1學習Flink》—— Mac 上搭建 Flink 1.6.0 環境並構建運行簡單程序入門算法

三、《從0到1學習Flink》—— Flink 配置文件詳解sql

四、《從0到1學習Flink》—— Data Source 介紹數據庫

五、《從0到1學習Flink》—— 如何自定義 Data Source ?後端

六、《從0到1學習Flink》—— Data Sink 介紹緩存

七、《從0到1學習Flink》—— 如何自定義 Data Sink ?安全

八、《從0到1學習Flink》—— Flink Data transformation(轉換)markdown

九、《從0到1學習Flink》—— 介紹Flink中的Stream Windows併發

十、《從0到1學習Flink》—— Flink 中的幾種 Time 詳解工具

十一、《從0到1學習Flink》—— Flink 寫入數據到 ElasticSearch

十二、《從0到1學習Flink》—— Flink 項目如何運行?

1三、《從0到1學習Flink》—— Flink 寫入數據到 Kafka

1四、《從0到1學習Flink》—— Flink JobManager 高可用性配置

1五、《從0到1學習Flink》—— Flink parallelism 和 Slot 介紹

1六、《從0到1學習Flink》—— Flink 讀取 Kafka 數據批量寫入到 MySQL

1七、《從0到1學習Flink》—— Flink 讀取 Kafka 數據寫入到 RabbitMQ

1八、《從0到1學習Flink》—— 你上傳的 jar 包藏到哪裏去了?

又是金三銀四的時候,我但願這份面試題可以祝你一臂之力!

自我和項目相關

一、自我介紹

二、你以爲本身的優勢是?你以爲本身有啥缺點?

三、你有哪些 offer?

四、你爲何要離開上家公司?你上家公司在xxx,咱們公司在xxx,離這麼遠爲何要選擇咱們這裏?

五、上家公司的同事和領導是怎麼評價你的?

六、介紹下你的上家公司是作哪塊的吧

七、在上家公司你作了哪些項目?

八、你在項目中是什麼角色?

九、這個項目的數據量和併發量多大?

十、這個項目用的什麼技術?

十一、項目過程當中有遇到什麼很印象深入的問題嗎?

十二、是怎麼解決的這些問題?

1三、項目有沒有還能夠繼續優化的地方?

1四、該怎麼優化?有什麼思路沒?

1五、叫你設計一個併發xxx,數據存儲量xxx 量級的系統,你該如何設計?從你知道的點儘量的多說出些?

Java 基礎

一、Object 對象的方法有哪些?分別有什麼做用?該什麼場景用?

二、Integer 的常量緩存池

三、Java 特性?什麼是多態?舉個例子

四、重載重寫的區別?

五、畫下 HashMap 的結構圖?HashMap 、 HashTable 和 ConcurrentHashMap 的區別?使用場景分別是?

六、HashMap 中怎麼解決衝突的?

七、ConcurrentHashMap 和 HashTable 中線程安全的區別?爲啥建議用 ConcurrentHashMap ?能把 ConcurrentHashMap 裏面的實現詳細的講下嗎?

八、保證線程安全的還有其餘的方式嗎?

九、講下 Synchronized?

十、講下 ReentrantLock 可重入鎖? 什麼是可重入鎖?爲何要設計可重入鎖?

十一、Synchronized 和 ReentrantLock 有什麼區別?這兩個有沒有深刻了解源碼?

十二、講下 Volatile 吧?他是怎樣作到同步的?

1三、Volatile 爲何不支持原子性?舉個例子

1四、Atomic 怎麼設計的?有用過裏面的類嗎?

1五、線程安全類和線程不安全的類,項目使用的時候你會怎麼選擇?怎麼判斷項目代碼哪裏會有線程不安全問題?

1六、Map、List、Set 分別說下你瞭解到它們有的線程安全類和線程不安全的類?

1七、TreeSet 清楚嗎?能詳細說下嗎?

1八、ThreadLocal 瞭解嗎?項目有用過嗎?能夠說說

1九、JUC 裏面你還知道什麼其餘的類嗎?好比 CountDownLatch、Condition

20、從源碼詳細說下 Java 裏面的線程池吧,使用線程池有什麼要注意的地方?大家公司有規範嗎?

JVM

一、JAVA 類加載器

二、Java 內存結構(注:不是 Java 內存模型,別搞混)

三、怎麼判斷對象是否可 GC?Java 對象有哪些引用類型?有什麼區別?

四、OOM 出現的有哪些場景?爲何會發生?

五、Minor GC 和 Full GC 有什麼區別?分析過 GC 日誌嗎?

六、說下你知道的垃圾回收算法

七、說下你知道的垃圾收集器

八、CMS 和 G1 的區別知道嗎?使用場景分別是?你項目中用的是哪一個?

九、你還知道哪些 JVM 調優參數?

十、假如線上服務發生 OOM,有哪些措施能夠找到問題?

十一、假如線上服務 CPU 很高該怎麼作?有哪些措施能夠找到問題?

十二、假如線上應用頻繁發生 Full GC,有哪些措施能夠找到問題?

1三、通常線上環境遇到 JVM 問題,你會使用哪些工具來分析?找到問題後又該如何去解決呢?

Spring

一、說下你對 Spring 生態的瞭解?

二、說下你對 Spring AOP 和 IOC 的理解?看過實現原理嗎?

三、說下 Bean 在 Spring 中的生命週期?

四、講下你知道的 Spring 註解有哪些?該什麼場景使用?

五、Spring 事務知道嗎?有了解過嗎?

六、說下你剛纔說的 SpringBoot 吧,你以爲 SpringBoot 有什麼優勢?

七、SpringBoot 自動化配置是怎麼作的?有看過實現源碼嗎?

八、Spring Boot 中最核心的註解 SpringBootApplication 有看過源碼分析過嗎?

九、你的項目中 SpringBoot 用到了哪些和其餘技術棧整合的?

十、使用 Spring 或者 SpringBoot 有遇到過什麼印象深入的問題嗎?當時是怎麼解決的?

數據庫

一、你的項目使用的是什麼數據庫?

二、你對數據庫瞭解多少?說下數據庫的索引實現和非主鍵的二級索引

三、說下 MySQL 的索引原理

四、講下 InnoDB 和 MyISAM 的區別?使用場景是?

五、有和 ElasticSearch 的索引原理對比過嗎?

六、如何判斷一個查詢 sql 語句是否使用了索引?

七、數據庫事務特性和隔離級別

八、項目數據庫表是你設計的嗎?通常要注意什麼?如何考慮擴展性?

九、項目 MySQL 的數據量和併發量有多大?量大後的影響有哪些,有考慮嗎?SQL 調優有哪些技巧?

十、說下你項目裏面關於數據庫印象最深的一個問題?當時是怎麼解決的

其餘

一、描述下網頁一個 Http 請求到 www.54tianzhisheng.cn/,到後端的整個請求過程

二、有比較過 Http 和 RPC 嗎?若是叫你設計一個高性能的 Http 或者 RPC,你會從哪些方面考慮?

三、項目中我看使用了 xxx (ElasticSearch、Hbase、Redis、Flink 等),有深刻了解它們的原理和懂點調優技巧嗎?

四、項目中我看使用了 xxx (ElasticSearch、Hbase、Redis、Mysql 等),有深刻了解它們數據同步是怎麼作嗎?

五、項目中我看使用了 xxx (ElasticSearch、Hbase、Redis、Mysql 等),有深刻了解它們常見的監控指標嗎?

六、若是叫你設計一個秒殺系統,你會從哪些方面考慮?

七、若是叫你設計一個電商系統,你會從哪些方面考慮?

八、若是叫你設計一個監控告警系統,你會從哪些方面考慮?

總結

本文的面試題以 HR & 技術官角度常問的面試題,技術方面從 Java 基礎、JVM、Spring、數據庫、拓展題等方面考察你,固然面試官可能還會問些其餘的技術點,我一篇文章也難以概全。總的來講,仍是得多準備充分,面試時靈活答辯,相信你最後能拿到滿意的 offer!加油,騷年!

關注我

掃描上面二維碼,公衆號裏回覆 面經 能夠查看更多 面經和麪試題 文章!

公衆號裏回覆 ES 能夠查看系列 ElasticSearch 文章!

公衆號裏回覆 Flink 能夠查看系列 Flink 文章!

公衆號裏回覆 Spring 能夠查看系列 Spring & SpringBoot 文章!

公衆號裏回覆 Java 能夠查看系列 Java 文章!

公衆號裏回覆 監控 能夠查看更多 監控 文章!

相關文章
相關標籤/搜索