更新時間:2020-03-24 10:26:53 來源:動力節點 瀏覽2382次
JVM結構原理、GC工作機制詳解
答:說到GC,記住兩點:1、GC是負責回收所有無任何引用對象的內存空間。注意:垃圾回收回收的是無任何引用的對象占據的內存空間而不是對象本身,2、GC回收機制的兩種算法,a、引用計數法b、可達性分析算法(這里的可達性,大家可以看基礎2Java對象的什么周期),至于更詳細的GC算法介紹
Java對象的生命周期
答:創建階段、應用階段、不可見階段、不可達階段、收集階段、終結階段、對象空間重新分配階段等
Map或者HashMap的存儲原理
答:HashMap是由數組+鏈表的一個結構組成
當數據表中A、B字段做了組合索引,那么單獨使用A或單獨使用B會有索引效果嗎?(使用like查詢如何有索引效果)
答:看A、B兩字段做組合索引的時候,誰在前面,誰在后面,如果A在前,那么單獨使用A會有索引效果,單獨使用B則沒有,反之亦然。同理,使用like模糊查詢時,如果只是使用前面%,那么有索引效果,如果使用雙%號匹配,那么則無索引效果
數據庫存儲日期格式時,如何考慮時區轉換問題?
答:使用TimeStamp
一條sql執行過長的時間,你如何優化,從哪些方面?
答:1、查看sql是否涉及多表的聯表或者子查詢,如果有,看是否能進行業務拆分,相關字段冗余或者合并成臨時表(業務和算法的優化)
2、涉及鏈表的查詢,是否能進行分表查詢,單表查詢之后的結果進行字段整合
3、如果以上兩種都不能操作,非要鏈表查詢,那么考慮對相對應的查詢條件做索引。加快查詢速度
4、針對數量大的表進行歷史表分離(如交易流水表)
5、數據庫主從分離,讀寫分離,降低讀寫針對同一表同時的壓力,至于主從同步,mysql有自帶的binlog實現主從同步
6、explain分析sql語句,查看執行計劃,分析索引是否用上,分析掃描行數等等
7、查看mysql執行日志,看看是否有其他方面的問題
個人理解:從根本上來說,查詢慢是占用mysql內存比較多,那么可以從這方面去酌手考慮
設計方案相關
面試還會問到一些關于設計方案相關的問題,比如
1、你的接口服務數據被人截包了,你如何防止數據惡意提交?
答:我們可以在接口傳輸參數里面設置一個業務編號,這個編號用來區分是否重復提交。這樣即使數據被抓包了,對方也無法區分每個字段你的含義,這時,這個業務編號的作用就來了
以上就是動力節點Java培訓機構小編介紹的“最新高級java工程師面試題”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習