1. 程式人生 > 其它 >RocketMQ生產部署架構設計,工作三年的Java程式設計師面試題

RocketMQ生產部署架構設計,工作三年的Java程式設計師面試題

二、回顧整理阿里面試題

基本就這樣了,還有一些零星的問題想不起來了,答案也整理出來了。

  • 自我介紹
  • JVM如何載入一個類的過程,雙親委派模型中有哪些方法?
  • HashMap如何實現的?
  • HashMap和ConcurrentHashMap區別, Concurrent HashMap 執行緒安全hashtable嗎, ConcurrentHashMap如何保證 執行緒安全?
  • HashMap和HashTable 區別,HashTable執行緒安全嗎?
  • 程序間通訊有哪幾種方式
  • JVM分為哪些區,每一個區幹嗎的?
  • JVM如何GC,新生代,老年代大物件,永久代,都儲存哪些東西?
  • GC用的引用可達性分析演算法中,哪些物件可作為GC?Roots物件?
  • 快速排序,過程,複雜度 ?
  • 什麼是二叉平衡樹,如何插入節點,刪除節點,說出關鍵步驟。
  • TCP如何保證可靠傳輸?三次握手過程
  • TCP 和 UDP 的區別
  • 滑動視窗演算法?
  • Linux下你常用的命令有哪些?
  • 作業系統什麼情況下會死鎖?
  • 常用的hash演算法有哪些?
  • 什麼是一致性雜湊?
  • 如何理解分散式鎖?
  • 資料庫中的正規化有哪些?
  • 資料庫中的索引的結構?什麼情況下適合建索引?
  • Java中的NIO,BIO,AIO分別是什麼?
  • 用什麼工具除錯程式?JConsole,用過嗎?
  • 現在有一個程序掛起了,如何用工具查出原因?
  • 執行緒同步與阻塞的關係?同步一定阻塞嗎?阻塞一定同步嗎?
  • 同步和非同步有什麼區別?
  • 執行緒池用過嗎?
  • 如何建立單例模式?說了雙重檢查,他說不是執行緒安全的。如何高效的建立的一個高效的單例?
  • concurrent包下面,都用過什麼?
  • 常用的資料庫有哪些?redis用過嗎?
  • 瞭解hadoop嗎?說說hadoop的元件有哪些?hdfs,hive,hbase,zookeeper。說下mapreduce程式設計模型。
  • 你知道的開源協議有哪些?
  • 你知道的開源軟體有哪些?
  • 你最近在看的書有哪些?
  • 你有什麼問題要問我嗎?

啃完這份超全的面試寶典,終獲螞蟻金服offer!

自從進入阿里工作後,我才感覺到了自己從事這份職業所在的意義,我也慶幸自己沒有在受挫的時候放棄這個職業。

寶典大概分為這幾塊:

  • Java基礎
  • 資料庫
  • Java 虛擬機器
  • JSP&Servlet
  • spring&Hibernate
  • 作業系統
  • Linux
  • 計算機網路
  • 演算法

Java基礎

1、面對物件和麵向過程的區別?用面向過程可以實現面向物件嗎?那是不是不能面向物件?

2、static和final的區別和用途

3、HashMap和Concurrent HashMap區別,Concurrent HashMap執行緒安全嗎,Concurrent HashMap如何保證執行緒安全?

4、因為別人知道原始碼怎實現的,故意構造相同的hash的字串進行攻擊,怎麼處理,那jdk7怎麼辦?

5、Java序列化,如何實現序列化和反序列化,常見的序列化協議有哪些

6、Java實現多執行緒的方式及三種方式的區別

7、執行緒安全

8、多執行緒如何進行資訊互動

9、Java是否有記憶體洩露和記憶體溢位

資料庫

1、常見的資料庫型別有哪些?redis用過嗎

2、資料庫中的正規化有哪些?

3、資料庫中的索引的結構?什麼情況下適合建索引?

4、髒讀、不可重複讀和幻讀

6、MyISA和InnDB引擎的區別

7、資料庫ACID

8、事務隔離級別

9、資料庫中的分頁查詢語句怎麼寫?

Java虛擬機器

1、JVM垃圾處理方法(標記清除、複製、標記整理)

2、JVM如何GC,新生代,老年代,持久代,都儲存哪些東西,以及各個區的作用?

3、GC用的引用可達性分析演算法中,哪些物件可作為GC Roots物件?

4、什麼時候進行MinGC,FulilGc

5、各個垃圾收集器是怎麼工作的

6、Java虛擬機器記憶體的劃分,每個區域的功能

7、用什麼工具可以查出記憶體洩露

8、JVM如何載入一個類的過程,雙親委派模型中有哪些方法有沒有可能父類載入器,載入同一個類?如果載入同一個類,該使用哪一個類?

9、Java是如何進行物件例項化的

JSP&Servlet

1、Servlet的生命週期

2、Jsp和Servlet的區別

3、儲存會話狀態,有哪些方式、區別如何

4、cookie和session的區別

spring&Hibernate

1、spring ioc、AOP的理解以及實現的原理

2、IOC容器的載入過程

3、動態代理與cglib實現的區別

4、代理的實現原理

5、Hlbernate一級快取與二級快取之間的區別

6、spring mvc的原理

7、簡述Hibernate常見優化策略

作業系統

1、作業系統下生命情況會死鎖?

2、如何理解分散式鎖

3、程序間通訊有哪幾種方式?

4、執行緒同步與阻塞的關係?同步一定要阻塞嗎?阻塞一定要同步嗎?

5、作業系統如何進行分頁排程?

Linux

1、linux下如何進行程序排程的?

2、linux下你常用的命令有哪些?

計算機網路

1、Http和https的區別

2、TCP如何保證可靠傳輸?三次握手過程?

3、為什麼TCP連線需要三次握手,兩次不可以嗎,為什麼

4、如果客戶端不斷的發生請求連線會怎麼樣?

5、GET和POST的區別?

6、TCP和UDP區別?如何改進TCP

7、從輸入網址到獲得頁面的過程

演算法

1、如何判斷一個單鏈表是否有環?

2、快速排序,過程,複雜度?什麼情況下適用,什麼情況下不適用?

3、什麼是二叉平衡樹,如何插入節點,刪除節點

5、二分搜尋的過程

6、歸併排序的過程?時間複雜度?空間複雜度?

7、給你一萬個數,如何找出裡面所有重複的數?用所有你能想到的辦法,時間複雜度和空間複雜度分別是多少?

8、給你一個數組,如何裡面找到和為k的兩個數

9、100000個數找出最小或最大的10個?

三、難道這樣就夠了嗎?不,遠遠不夠!

提前多熟悉阿里往年的面試題肯定是對面試有很大的幫助的,但是作為技術性職業,手裡有實打實的技術才是你面對面試官最有用的利器,這是從內在散發出來的自信。

備戰阿里時我花的最多的時間就是在學習技術上,佔了我所有學習計劃中的百分之70,這是一些我學習期間覺得還是很不錯的一些學習筆記,以及學習視訊都是可以分享給大家的!

最後

這份《“java高分面試指南”-25分類227頁1000+題50w+字解析》同樣可分享給有需要的朋友,感興趣的夥伴們可挑戰一下自我,在不看答案解析的情況,測試測試自己的解題水平,這樣也能達到事半功倍的效果!(好東西要大家一起看才香)

本文已被CODING開源專案:【一線大廠Java面試題解析+核心總結學習筆記+最新講解視訊+實戰專案原始碼】收錄