1. 程式人生 > >java 高階工程師面試題

java 高階工程師面試題

1、自我介紹 2、介紹你最熟悉的一個專案 3、講下這個 XSS 攻擊 4、HashMap 的結構?HashMap 、 HashTable 和 ConcurrentHashMap 的區別? 5、HashMap 中怎麼解決衝突的?(要我詳細講下) 6、ConcurrentHashMap 和 HashTable 中執行緒安全的區別?為啥建議用 ConcurrentHashMap ?能把 ConcurrentHashMap 裡面的實現詳細的講下嗎? 7、Session 和 Cookie 的區別?
8、你專案中登入是怎樣做的,用的 Cookie 和 Session? 9、講講你對 Spring 中的 IOC 和 AOP 的理解? 10、問了好幾個註解的作用? 11、statement 和 preparedstatement 區別? 12、$ 和 # 的區別?以及這兩個在哪些地方用? 13、前面專案介紹了資料是爬蟲爬取過來的,那你講講你的爬蟲是多執行緒的吧? 14、講講 Python 中的多執行緒和 Java 中的多執行緒區別? 15、自己剛好前幾天在看執行緒池,立馬就把面試官帶到我熟悉的執行緒池,和麵試官講了下 JDK 自帶的四種執行緒池、ThreadPoolExecutor 類中的最重要的構造器裡面的七個引數,然後再講了下執行緒任務進入執行緒池和核心執行緒數、緩衝佇列、最大執行緒數量比較。
16、執行緒同步,你瞭解哪幾種方式? 17、講下 Synchronized? 18、講下 RecentLock 可重入鎖? 什麼是可重入鎖?為什麼要設計可重入鎖? 19、講下 Volatile 吧?他是怎樣做到同步的? 20、Volatile 為什麼不支援原子性?舉個例子 21、Atomic 怎麼設計的?(沒看過原始碼,當時回答錯了,後來才發現裡面全部用 final 修飾的屬性和方法) 22、問幾個前端的標籤吧?(問了一個不會,直接說明我偏後端,前端只是瞭解,後面就不問了)
23、SpringBoot 的瞭解? 24、Linux 常用命令? 25、JVM 裡的幾個問題? 26、事務的特性? 27、隔離級別? 28、網路狀態碼?以 2、3、4、5 開頭的代表什麼意思。 29、併發和並行的區別? 30、你有什麼問題想問我的?
1、先自我介紹 2、什麼是多型?哪裡體現了多型的概念? 3、HashMap 原始碼分析,把裡面的東西問了個遍?最後問是不是執行緒安全?引出 ConcurrentHashMap 4、ConcurrentHashMap 原始碼分析 5、類載入,雙親委託機制 6、Java記憶體模型(一開始說的不是他想要的,主要想問我堆和棧的細節) 7、垃圾回收演算法 8、執行緒池,自己之前看過,所以說的比較多,最後面試官說了句:看你對執行緒池瞭解還是很深了 9、事務的四種特性 10、什麼是死鎖? 11、樂觀鎖和悲觀鎖的策略 12、高可用網站的設計(有什麼技術實現) 13、低耦合高內聚 14、設計模式瞭解不?你用過哪幾種,為什麼用,單例模式幫我們做什麼東西?有什麼好處? 15、你參與什麼專案中成長比較快?學到了什麼東西,以前是沒有學過的? 16、專案中遇到的最大困難是怎樣的?是怎麼解決的?

1.執行緒池的原理 2.jvm模型 3.GC回收 4.synchronized鎖的原來 5.CAS原理 6.tomcat最大連線數之類配置 7.RocketMQ有哪幾類訊息型別,有哪些部分構成,底層資料儲存在哪裡 8.volatile特性並舉例

1、資料庫轉賬,怎麼實現? 2、結合你的專案,說說物件在JVM中的變化 3、CMS回收的好處? 4、輸入url,怎麼訪問到了專案應用? 5、SpringMVC流程? 6、mysql鎖機制? 7、concurrentHashMap原理? 8、ES原理? 9、spring載入過程 10、volatile的用法 11、JVM構成 12、如何避免資料“髒讀” 13、一個請求三個非同步處理互相不耦合怎麼辦? 14、事物和髒讀 15、rpc通訊,thrift和zookeeper怎麼用的,thrift協議 16、專案當中用到的併發策略
1、dubbo框架原理,使用什麼協議,怎麼實現一個dubbo服務 2、rabbitmq基本概念 3、假定你用spring實現一個服務,一個request從客戶端到伺服器,再到最後的返回,經過哪些步驟,具體是怎麼運作的 4、web專案的web.xml配置哪些東西
1、LinkedList和Arraylist區別 2、HashMap的儲存結構和rehash 3、mysql的事務機制 4、覆蓋索引原理 5、nio原理 6、dubbo rpc呼叫原理 7、sprign 的bean的生命週期 8、併發類的使用場景