題目
1、做一下自我介紹吧,簡單說一下你的專案?
2、有遇過記憶體洩漏嗎?你們是怎麼解決的?這個前陣子確實遇過一次,還算運氣比較好。
3、java的基本型別有哪幾個? String是不是java的基本型別? String為什麼要是final類型的?
4、反射機制的底層實作是什麼?動態呢?動態的實作原理?
5、HashMap
了解嗎?說一下HashMap
相關的一些東西? HashMap
是線程安全的嗎?為什麼是線程安全的? ConcureentHashMap
了解嗎?他是如何實現線程安全的?你剛才說1.8是基於CAS
? CAS
的ABA問題怎麼解決?
6、說一下JVM的執行緒模型?這些區域都分別是乾啥用的? Java
執行緒模型和JVM
執行緒模型注意區分、總結下,網路上很多文章都是錯的。
7、說一下java類別載入器的工作機制?類別載入在那個區域進行的?
8、說一下java的執行緒模型? violate了解嗎?他的原理是什麼? violate是線程安全的嗎?為什麼不是?
9、確保執行緒安全的解決方法有哪些?說一說讀寫鎖定吧,讀寫鎖的讀
10、資料庫的索引有哪幾種?為什麼要用B 樹來做索引?組合索引和幾個單一的索引有什麼不同?資料庫的大表查詢優化了解嗎? MVCC
機制了解不? MVCC機制有什麼問題?怎麼去解決這個問題? MySQLmysql
慢語句調優做過嗎?說說你是怎麼做的?
11、Redis
了解嗎?你說說怎麼用Redis
實作分散式鎖定?
12、Spring
中Bean的作用域,Spring MVC
的controller
是執行緒安全的嗎?怎麼去確保線程安全呢?
(面經來自於網友:兩年工作經驗、山魯亞爾)
看完上面的這些題目,你覺得自己能回答上來多少?依照100
分制,你給自己多少分?
問題分析
1、做一下自我介紹吧,簡單說一下你的專案?
兩個問題,一是做一個自我介紹,另外就是介紹項目,項目介紹你最熟悉的,或最能拿出手的項目,不一定就是最近在做的項目。
2、有遇過記憶體洩漏嗎?你們是怎麼解決的?這個前陣子確實遇過一次,還算運氣比較好。
這個問題,就是靠平常總結,如果真的沒有遇過,也是可以自己模擬的,然後再用各種指令和工具來排查。在面試時候被問到,就大致說一下排查思路,排查過程中用到的命令和工具就可以了。
3、Java的基本型別有哪幾個? String是不是Java的基本型別? String為什麼要是final類型的?
前面兩個問題都是考察基礎的,第三問就得自己反思了,為什麼要設定成final類型,就得想想final修飾類別的時候,有什麼特性?在這裡起到什麼作用?
4、反射機制的底層實作是什麼?動態呢?動態的實作原理?
這個也算是考察基礎知識是否紮實,重點在動態,以及動態和反射的關係。
5、HashMap
了解嗎?說一下HashMap
相關的一些東西? HashMap是線程安全的嗎?為什麼是線程安全的? ConcurrentHashMap
了解嗎?他是如何實現線程安全的?你剛才說1.8是基於CAS? CAS的ABA問題怎麼解決?
這是幾個問題,
HashMap
的問題
你得說HashMap是什麼, 底層採用什麼資料結構實作的, 最好說一下put的過程 JDK版本各版本中是怎麼樣的。 HashMap為什麼是線程不安全的?
ConcurrentHashMap
問題
ConcurrentHashMap
是什麼?ConcurrentHashMap
底層資料結構是什麼?JDK
版本不同,ConcurrentHashMap
在設計上有些區別
CAS
問題
CAS
是什麼?CAS
存在什麼問題ABA
問題是什麼#ABA
問題如何解決別想看這個題目,很多人都掛在這個題目上。背背面試題,再加上稍微一點點的理解,這些問題都能應付。
6、說一下JVM的執行緒模型?這些區域都分別是乾啥用的? java執行緒模型和jvm執行緒模型注意區分、總結下,網路上很多文章都是錯的。
考察的是JVM記憶體模型,通常也是考察JVM執行時間資料區,注意,這裡千萬別把Java記憶體模型搞進來,Java記憶體模型叫做JMM。
說到JVM執行時期資料區,就會提到執行緒私有和執行緒共享。
尤其是Java虛擬機器堆疊、堆疊、方法區,這三個一定的說清楚。
堆疊和執行緒的關係是什麼?棧中存放的是什麼?為什麼會SOF?
堆和物件記憶體分配有關係,所以一定會聊到物件的生命週期,那就會聊到類別是怎麼被載入到JVM中的? 如何判斷一個物件已經死了? 同時也會聊到垃圾回收演算法有哪些? 垃圾收集器有哪些? 最新的垃圾收集器是什麼? 有什麼特性?
熟悉哪些JVM調優參數?
這個問題,也是很大部分人會掛的,我也在線模擬面試過很多人,聊到JVM這一塊,90%都會掛。
7、說一下Java
類別載入器的工作機制?類別載入在那個區域進行的?
上面問題中說過了,這個類別載入相關的一定會問,表示你對一個類別是怎麼從
.class
檔案到Class物件
,再到實例
的過程,看看你熟悉多少這些問題也可以從側面反饋到,你對你每一行程式碼是怎麼運行,會存在什麼問題是否有所知曉。
8、說一下Java的執行緒模型? volatile了解嗎?他的原理是什麼? violate是線程安全的嗎?為什麼不是?
Java執行緒模型你得熟悉一下,volatile也得了解一下,有什麼特性,可見性、防重排、原子性。這些也得去了解一下。
這個問題理論性比較強,背背面試題,基本上能搞定。
9、確保執行緒安全的解決方法有哪些?說一說讀寫鎖吧,讀寫鎖的讀
這些都是理論性的,背背面試題就能解決,不是一定要使用過。自己下去好好準備一下就可以了
10、資料庫的索引有哪幾種?為什麼要用B 樹來做索引?組合索引和幾個單一的索引有什麼不同?資料庫的大表查詢優化了解嗎? MVCC
機制了解不? MVCC
機制有什麼問題?怎麼去解決這個問題? MySQL
慢語句調優做過嗎?說說你是怎麼做的?
這個相當於
MySQL
資料庫的8連問,8個連續炮你能回答上來幾個?基本上也都是平常多看看面經,背背面試題也能應付。
11、Redis
了解嗎?你說說怎麼用Redis
實作分散式鎖定?
這個問題,其實看起來簡單,回答起來沒那麼簡單的,
這裡社交很多東西,不是簡單的
setnx
,LUA腳本
就能解決的,牽涉到Redis
叢集模式,牽涉到業務逾時等問題。面試官都是幫你安排好的,這個得有些真材實料,背面試題只能應付比較膚淺的面試官,遇上認真點的面試官,那就得用自己的真材實料去回答了。
12、Spring
中Bean
的作用域,Spring MVC
的controller
是線程安全的嗎?怎麼去確保線程安全呢?
這個問題,這裡就沒有再扯了,因為各大公眾號,我的這個公眾號之前也發過類似的文章,所以有空別小看公眾號的重要性。 只是在於積累,平常在車上、地鐵上、工位上休息的時候,可以藉助於一些瑣碎的時間去看一些技術性的公文章,積累自己的認識。
總結
實話實說,上面90%的問題,我們都可以透過背面試題來解決,可能存在個別題目需要自己真的去體會體驗過才可以搞定。
但是個人始終認為:五年以內的工作經驗,面試基本上可以透過背面試題來解決。
以上是美團一面,看看能否回答上來?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Dreamweaver CS6
視覺化網頁開發工具