1. 程式人生 > >[雜談]雜談章1 問幾個JAVA問題

[雜談]雜談章1 問幾個JAVA問題

服務治理 知識 磁盤 內存泄露 pan 性能監控 處理 非對稱加密 訪問者

1.面向對象、面向過程 區別

2.Java 如何實現的平臺無關

3.值傳遞、引用傳遞

4.什麽是序列化與反序列化、為什麽序列化

5.死鎖、死鎖如何排查、如何確保線程安全

6.有哪些虛擬機性能監控與故障處理工具;(ps, jstack, jmap, jstat, jconsole, jinfo, jhat, javap, btrace, TProfiler)

7.了解 23 種設計模式

創建型模式:單例模式、抽象工廠模式、建造者模式、工廠模式、原型模式。

結構型模式:適配器模式、橋接模式、裝飾模式、組合模式、外觀模式、享元模式、代理模式。

行為型模式:模版方法模式、命令模式、叠代器模式、觀察者模式、中介者模式、備忘錄模式、解釋器模式(Interpreter 模式)、狀態模式、策略模式、職責鏈模式(責任鏈模式)、訪問者模式。

→ 會使用常用設計模式
單例的七種寫法:懶漢——線程不安全、懶漢——線程安全、餓漢、餓漢——變種、靜態內部類、枚舉、雙重校驗鎖

8.filter 和 listener

web.xml 中常用配置及作用

9.線上問題分析

→ dump 獲取

線程 Dump、內存 Dump、gc 情況

→ dump 分析
分析死鎖、分析內存泄露

→ dump 分析及獲取工具
jstack、jstat、jmap、jhat、Arthas

10.常見問題解決思路

內存溢出、線程死鎖、類加載沖突

→ 使用工具嘗試解決以下問題,並寫下總結
當一個 Java 程序響應很慢時如何查找問題

當一個 Java 程序頻繁 FullGC 時如何解決問題

如何查看垃圾回收日誌

當一個 Java 應用發生 OutOfMemory 時該如何解決

如何判斷是否出現死鎖

如何判斷是否存在內存泄露

11.Java 的反編譯工具

12.排序算法

13. 海量數據處理

14.大數據知識

15.網絡安全知識

16. 註入攻擊
SQL 註入、XML 註入、CRLF 註入

17.加密與解密

對稱加密、非對稱加密、哈希算法、加鹽哈希算法

MD5,SHA1、DES、AES、RSA、DSA

18.分布式

數據一致性、服務治理、服務降級

19.算法
共識算法、Raft 協議、Paxos 算法與 Raft 算法、

20.微服務

→ Docker & Kubernets
→ Spring Boot
→ Spring Cloud

21.高並發

→ 分庫分表
→ CDN 技術
→ 消息隊列

22.監控

→ 監控什麽

CPU、內存、磁盤 I/O、網絡 I/O 等

監控手段
進程監控、語義監控、機器資源監控、數據波動

→ 監控數據采集
日誌、埋點

23.搜索引擎

Solr、Lucene、Nutch、Elasticsearch

24.區塊鏈

哈希算法、Merkle 樹、公鑰密碼算法、共識算法、

Raft 協議、Paxos 算法與 Raft 算法、拜占庭問題與算法、消息認證碼與數字簽名

25.人工智能

數學基礎、機器學習、人工神經網絡、深度學習、應用場景。

→ 常用框架
TensorFlow、DeepLearning4J

[雜談]雜談章1 問幾個JAVA問題