前言
經歷了慘痛的春招與秋招之后,也積攢了一些面經,希望能對大家有所幫助,由于字數限制需要答案的可以關注GZH【程式員空間】 免費領取完整版PDF
其他
- 什什么是冪等?什什么情況下需要考慮冪等?你怎么解決冪等的問題?
Java
-
多個執行緒同時讀寫,讀執行緒的數量量遠遠?大于寫執行緒,你認為應該如何解決
并發的問題?你會選擇加什什么樣的鎖? -
JAVA的AQS是否了了解,它是?干嘛的?
-
除了了synchronized關鍵字之外,你是怎么來保障執行緒安全的?
-
什什么時候需要加volatile關鍵字?它能保證執行緒安全嗎?
-
執行緒池內的執行緒如果全部忙,提交?一個新的任務,會發?生什什么?佇列列全部
塞滿了了之后,還是忙,再提交會發?生什什么? -
Tomcat本身的引數你?一般會怎么調整?
-
synchronized關鍵字鎖住的是什什么東?西?在位元組碼中是怎么表示的?在內
存中的物件上表現為什什么? -
wait/notify/notifyAll?方法需不不需要被包含在synchronized塊中?這是為什什
么? -
ExecutorService你?一般是怎么?用的?是每個service放?一個還是?一個項?目
?里里?面放?一個?有什什么好處?
Spring -
你有沒有?用過Spring的AOP? 是?用來?干嘛的? ?大概會怎么使?用?
-
如果?一個接?口有2個不不同的實作, 那么怎么來Autowire?一個指定的實作?
-
Spring的宣告式事務 @Transaction注解?一般寫在什什么位置? 拋出了了例外
會?自動回滾嗎?有沒有辦法控制不不觸發回滾? -
如果想在某個Bean?生成并裝配完畢后執?行行?自?己的邏輯,可以什什么?方式實
現? -
SpringBoot沒有放到web容器??里里為什什么能跑HTTP服務?
-
SpringBoot中如果你想使?用?自定義的配置?檔案?而不不僅僅是
application.properties,應該怎么弄弄? -
SpringMVC中RequestMapping可以指定GET, POST?方法么?怎么指定?
-
SpringMVC如果希望把輸出的Object(例例如XXResult或者XXResponse)這
種包裝為JSON輸出, 應該怎么處理理? -
怎樣攔截SpringMVC的例外,然后做?自定義的處理理,?比如打?日志或者包裝
成JSON
MySQL
-
如果有很多資料插?入MYSQL 你會選擇什什么?方式?
-
如果查詢很慢,你會想到的第?一個?方式是什什么?索引是?干嘛的?
-
如果建了了?一個單列列索引,查詢的時候查出2列列,會?用到這個單列列索引嗎?
-
如果建了了?一個包含多個列列的索引,查詢的時候只?用了了第?一列列,能不不能?用上
這個索引?查三列列呢? -
接上題,如果where條件后?面帶有?一個 i + 5 < 100 會使?用到這個索引嗎?
-
怎么看是否?用到了了某個索引?
-
like %aaa%會使?用索引嗎? like aaa%呢?
-
drop、 truncate、 delete的區別?
-
平時你們是怎么監控資料庫的? 慢SQL是怎么排查的?
-
你們資料庫是否?支持emoji表情,如果不不?支持,如何操作?
-
你們的資料庫單表資料量量是多少??一般多?大的時候開始出現查詢性能急
劇下降? -
查詢死掉了了,想要找出執?行行的查詢行程?用什什么命令?找出來之后?一般你
會?干嘛? -
讀寫分離是怎么做的?你認為中間件會怎么來操作?這樣操作跟事務有
什什么關系? -
分庫分表有沒有做過?線上的遷移程序是怎么樣的?如何確定資料是正
確的?
JVM
-
你知道哪些或者你們線上使?用什什么GC策略略? 它有什什么優勢,適?用于什什么
場景? -
JAVA類加載器?包括?幾種?它們之間的?父?子關系是怎么樣的?雙親委派機
制是什什么意思?有什什么好處? -
如何?自定義?一個類加載器??你使?用過哪些或者你在什什么場景下需要?一個?自
定義的類加載器?嗎? -
堆記憶體設定的引數是什什么?
-
Perm Space中保存什什么資料? 會引起OutOfMemory嗎?
-
做gc時,?一個物件在記憶體各個Space中被移動的順序是什什么?
-
你有沒有遇到過OutOfMemory問題?你是怎么來處理理這個問題的?處理理
程序中有哪些識訓? -
1.8之后Perm Space有哪些變動? MetaSpace?大?小默認是?無限的么? 還是
你們會通過什什么?方式來指定?大?小? -
Jstack是?干什什么的? Jstat呢? 如果線上程式周期性地出現卡頓,你懷疑可
能是gc導致的,你會怎么來排查這個問題?執行緒?日志?一般你會看其中的什什么
部分? -
StackOverFlow例外有沒有遇到過??一般你猜測會在什什么情況下被觸
發?如何指定?一個執行緒的堆疊?大?小??一般你們寫多少?
Linux命令
0.添加Java學習:1037935907
-
?日志特別?大只想看最后100?行行怎么弄弄? 如果想?一直看?日志的持續輸出,?用
什什么命令? -
如果?日志?一邊輸出,?一邊想實時看到有沒有某個關鍵字應該怎么弄弄?
-
grep如果忽略略?大?小寫應該怎么弄弄? 正則運算式呢?
-
vim往下?一?行行是什什么鍵?往下30?行行呢? 跳到?檔案末尾?一?行行是什什么? 跳回來
是什什么? 向后搜索是什什么? -
如果有個?文本?檔案,按空格作為列列的分隔符,如果想統計第三列列?里里?面的每
個單詞的出現次數應該怎么弄弄? -
如果把上?面的出現次數排個序應該怎么弄弄? 想按照數字本身的順序?而不不是
字串串的順序排列列怎么弄弄? -
Linux環境變數量是以什什么作為分隔符的?環境變數量通過什什么命令設定?
-
給某個?檔案權設定限?比如設定為644 是?用什什么命令?這個6是什什么意思?
-
Linux下?面如果想看某個行程的資源占?用情況是怎么看的?系統load?大概
指的什什么意思?你們線上系統load?一般多少?如果?一個4核機器?,你認為多
少load是?比較正常的? top命令?里里?面按?一下1會發?生什什么? -
top命令?里里?面,有時候所有行程的CPU使?用率加起來超過100%是怎么回
事? -
還有哪些查看系統性能或者供你發現問題的命令?你?一般是看哪個參
數? -
想看某個行程打開了了哪些?網路連接是什什么命令??里里?面連接的狀態你?比較
關?心哪?幾種?
-- 偏題
-
有沒有做過Linux系統引數?方?面的優化,?大概優化過什什么?
-
系統引數?里里?面有個叫做backlog的可以?用來?干什什么?
-
查看?網路連接發現好多TIME_WAIT 可能是什什么原因?對你的應?用會有什什
么影響?你會選擇什什么樣的?方式來減少這些TIME_WAIT -
可否介紹?一下TCP三次握?手的程序,如果現在有個?網路程式,你?用第三?方
的library來發送資料,你懷疑這個library發送的資料有問題,那么怎么來驗
證? tcpdump匯出的?檔案你?一般是怎么分析的? -
KeepAlive是?用來?干什什么的?這樣的好處是什什么?
Redis
-- 開發
-
快取穿透可以介紹?一下么?你認為應該如何解決這個問題
-
你是怎么觸發快取更更新的? (?比如設定超時時間(被動?方式), ?比如更更新的時
候主動update)?如果是被動的?方式如何控制多個?入?口同時觸發某個快取更更
新? -
你們?用Redis來做什什么?為什什么不不?用其他的KV存盤例例如Memcached,
Cassandra等? -
你們?用什什么Redis客戶端? Redis?高性能的原因?大概可以講?一些?
-
你熟悉哪些Redis的資料結構? zset是?干什什么的? 和set有什什么區別?
-
Redis的hash, 存盤和獲取的具體命令叫什什么名字?
-
LPOP和BLPOP的區別?
-
Redis的有?一些包含SCAN關鍵字的命令是?干嘛的? SCAN回傳的資料量量是
固定的嗎? -
Redis中的Lua有沒有使?用過? 可以?用來做什什么? 為什什么可以這么?用?
-
Redis的Pipeline是?用來?干什什么的?
-- 運維
-
Redis持久化?大概有?幾種?方式? aof和rdb的區別是什什么? AOF有什什么優缺
點嗎? -
Redis Replication的?大致流程是什什么? bgsave這個命令的執?行行程序?
-- 偏題 -
如果有很多 KV資料要存盤到Redis, 但是記憶體不不?足, 通過什什么?方式可以縮
減記憶體? 為什什么這樣可以縮?小記憶體? -
Redis中List, HashTable都?用到了了ZipList, 為什什么會選擇它?
監控、穩定性 -
業務?日志是通過什什么?方式來收集的?
-
線上機器?如何監控?采?用什什么開源產品或者?自研的產品?它是分鐘級的還
是秒級的? -
如果讓你來想辦法收集?一個JAVA后端應?用的性能資料,你會在意哪些?方
?面? 你會選擇什什么樣的?工具、思路路來收集? -
?一般你調?用第三?方的時候會不不會監控調?用情況?


轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/186246.html
標籤:其他
