1. 程式人生 > >JAVA高級工程師-面試題

JAVA高級工程師-面試題

nat col 共享 解答 原理 ges mark img 分布式

一:框架方面問題
1、Spring 事務的隔離性,並說說每個隔離性的區別
解答:Spring事務詳解

2、Spring事務的傳播行為,並說說每個傳播行為的區別
解答:Spring事務詳解

3、hibernate跟Mybatis/ ibatis 的區別,為什麽選擇?
解答:Hibernate與Mybatis的比較

4、Struts跟Spring mvc的優缺點,讓你選會如何選
解答:Spring MVC 與 Struts的區別

5、簡單說說Spring 事務機制
解答:Spring事務機制

6、Spring 4.0新特性
解答:Spring4新特性

二:負載均衡、集群相關
1、weblogic 負載均衡的原理和集群的配置

解答:a、WEBLOGIC負載均衡原理 b、負載均衡和集群的配置(參考)

2、Nginx+Tomcat+Redis實現負載均衡、資源分離、session共享
解答:配置參考

3、nginx配置文件詳解——nginx.conf
解答:Nginx配置文件詳細說明

三:項目優化相關
1、web如何項目優化
解答:這個我整理過一次,web項目性能優化(整理)

2、單例模式有幾種? 如何優化?
解答:單例模式的7中用法

3、簡單說說線程池的原理和實現
解答:線程原理及實現

四:並發和安全方面
1、項目並發如何處理?(我們是web項目)
解答:高並發量網站解決方案,另外,還有數據庫樂觀鎖,數據庫讀寫分離、使用消息隊列、多用存儲過程等等

2、簡單說說功能權限存在的水平權限漏洞和垂直權限漏洞的場景和解決辦法(因為我們目前權限級別就是功能權限)
解答:
A、水平權限漏洞,如下圖
技術分享圖片
假設機構有 用戶A和用戶B 兩個用戶,其中A有1、2和3權限 , 用戶B有 2 和3 的權限,這時候假設用戶B 知道1,並給自己添加1的權限,這時候就是水平權限漏洞。
目前解決辦法:1、限制入口,讓用戶B無法編輯自己的權限 2、對用戶B無法進行向上擴展。最根本的解決辦法是深入到數據權限
解答:水平權限漏洞和解決辦法

B、垂直權限漏洞
解答:垂直權限漏洞案例和解決方案

3、平臺上的圖片如何防盜鏈
解答:http下載防盜鏈原理:http協議的字段referer記錄來實現

4、如何區分上傳的圖片是不是×××?
解答:1、看上傳的圖片後綴 2、如何後綴是篡改的,那麽每個文件有個魔術數字 文件上傳-魔術數字

5、消息隊列的原理和實現
解答:1、消息隊列原理 2、深入淺出 消息隊列 ActiveMQ

五:數據庫方面
1、mysql查詢字段區不區分大小寫?
解答:不區分,哪怕值也不區分(我當時還反問了,區不區分大小的應用含義有哪些,面試官沒說得出來)

2、簡單說說數據庫集群和負載均衡、分布式(我不懂這塊)
解答:數據庫負載均衡和集群參考 ,參考2

3、存儲過程的結構和優點
解答:大概結構
存儲過程的優缺點

JAVA高級工程師-面試題