1. 程式人生 > >面試題總結 —— JAVA高階工程師

面試題總結 —— JAVA高階工程師

面試題總結——JAVA高階工程師

近期考慮換工作的問題,於是投簡歷面試,面試5家公司的高階Java工程師,有4家給了我offer,想著總結一下面試經驗,方便最近正在尋求機會的你們

一、無筆試題

不知道是不是職位原因還是沒遇到,面試時,都不需要做筆試題,而是填張個人資訊表格,或者直接面試

二、三大框架方面問題

1、Spring 事務的隔離性,並說說每個隔離性的區別

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

3、hibernate跟Mybatis/ ibatis 的區別,為什麼選擇?

4、Struts跟Spring mvc的優缺點,讓你選會如何選

5、簡單說說Spring 事務機制

6、Spring 4.0新特性

三、負載均衡、叢集相關

1、weblogic 負載均衡的原理和叢集的配置

2、Nginx+Tomcat+Redis實現負載均衡、資源分離、session共享 

解答:配置參考

 

3、nginx配置檔案詳解——nginx.conf

四、專案優化相關

1、web如何專案優化

2、單例模式有幾種? 如何優化?

3、簡單說說執行緒池的原理和實現

五、併發和安全方面

1、專案併發如何處理?(我們是web專案)

解答:高併發量網站解決方案

,另外,還有資料庫樂觀鎖,資料庫讀寫分離、使用訊息佇列、多用儲存過程等等

 

2、簡單說說功能許可權存在的水平許可權漏洞和垂直許可權漏洞的場景和解決辦法(因為我們目前許可權級別就是功能許可權)

解答:
A、水平許可權漏洞,如下圖




假設機構有 使用者A和使用者B 兩個使用者,其中A有1、2和3許可權 ,  使用者B有 2 和3 的許可權,這時候假設使用者B 知道1,並給自己新增1的許可權,這時候就是水平許可權漏洞。
目前解決辦法:1、限制入口,讓使用者B無法編輯自己的許可權   2、對使用者B無法進行向上擴充套件。最根本的解決辦法是深入到資料許可權
解答:水平許可權漏洞和解決辦法


B、垂直許可權漏洞
解答:

垂直許可權漏洞案例和解決方案

 

3、平臺上的圖片如何防盜鏈

4、如何區分上傳的圖片是不是木馬?

解答:1、看上傳的圖片字尾  2、如何字尾是篡改的,那麼每個檔案有個魔術數字  檔案上傳-魔術數字

 

5、訊息佇列的原理和實現

六、資料庫方面

1、mysql查詢欄位區不區分大小寫?

解答:不區分,哪怕值也不區分(我當時還反問了,區不區分大小的應用含義有哪些,面試官沒說得出來)

 

2、簡單說說資料庫叢集和負載均衡、分散式(我不懂這塊)

3、儲存過程的結構和優點

4、觸發器的原理和作用

解答:參考