面試題總結——JAVA高階工程師
近期考慮換工作的問題,於是投簡歷面試,面試5家公司的高階Java工程師,有4家給了我offer,想著總結一下面試經驗,方便最近正在尋求機會的你們
一、無筆試題
不知道是不是職位原因還是沒遇到,面試時,都不需要做筆試題,而是填張個人資訊表格,或者直接面試
二、三大框架方面問題
1、Spring 事務的隔離性,並說說每個隔離性的區別
解答:ofollow,noindex">Spring事務詳解
2、Spring事務的傳播行為,並說說每個傳播行為的區別
解答:Spring事務詳解
3、hibernate跟Mybatis/ ibatis 的區別,為什麼選擇?
解答:Hibernate與Mybatis的比較
4、Struts跟Spring mvc的優缺點,讓你選會如何選
解答:Spring MVC 與 Struts的區別
5、簡單說說Spring 事務機制
解答:pingnanlee/article/details/11488695" target="_blank" rel="nofollow,noindex">Spring事務機制
6、Spring 4.0新特性
解答:Spring4新特性
三、負載均衡、叢集相關
1、weblogic 負載均衡的原理和叢集的配置
解答:a、WEBLOGIC負載均衡原理 b、負載均衡和叢集的配置(參考)
2、Nginx+Tomcat+Redis實現負載均衡、資源分離、session共享
解答:配置參考
3、nginx配置檔案詳解——nginx.conf
四、專案優化相關
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、儲存過程的結構和優點
解答:3GqyZyVvtK33KXijtTUHfv9rVtis3vkVs3z42gRGjgQrhhuNlu4pxYjCp7Mfzr9GkpLEKn-rqGc1qs-0Cq" target="_blank" rel="nofollow,noindex">大概結構
4、觸發器的原理和作用
解答:參考
大體就這些,還有一些忘了,等記起來再補充,或者其他兄弟姐妹們遇到了,也可以私聊或者回復給我,希望能幫助到大家~
歡迎工作一到五年的Java工程師朋友們加入Java架構開發:828545509
群內提供免費的Java架構學習資料
(裡面有高可用、高併發、高效能及分散式、Jvm效能調優、Spring原始碼,MyBatis,Netty,Redis,Kafka
,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己
每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!