面试一个两年经验初中级java面试问题
你好,
歡迎來面試,
請坐。
方便的話,
請先做一下自我介紹。
你們公司的主要業務是什么。
你在這家公司一共參與了哪幾個項目,
在這些項目中,
你分別都擔任了什么樣的一個角色。
你參與的這些項目,
都使用了那些技術棧。
你這里提到了MyBatis,
那你知道MyBatis 和Jpa,
有什么樣的區別嗎。
你們團隊為什么最后選擇了使用MyBatis,
而沒有選擇使用Jpa。
在你做過的項目中,
你認為有哪些點,
還可以進行技術上的優化。為什么?
我看你們在項目中使用了消息中間件,
ActiveMQ,
能聊一下,
你對消息中間件的一個理解嗎。
在什么樣的業務場景下,
一般會使用到消息中間件。
在你們的項目中有沒有考慮過,
如果使用消息中間件出現消息丟失的情況下如何去補救。
我看你們在第二個項目中,
使用了Spring,
談談你對Spring的一個理解。
Spring 中 Bean 的,
生命周期是什么樣的。
你認為 Spring 是線程安全的嗎。
如果說我現在要在 Controller 里面,
定義一個全局變量,
還要要求它保持線程安全,
有什么樣的技術方案來保證它。
除了 Spring ,
你們項目中還使用過其他的的什么框架,
這些框架都分別解決了什么樣的問題。
我看你們在第一個項目中,
還是用到了跨域,
如果系統中出現了跨域這種情況,
如何保證用戶狀態的一致性。
除了你們項目中這種解決方案,
還有其他解決方案嗎。
你剛才提到的緩存,
那你知道,
Redis 的緩存淘汰機制是什么嗎。
Redis 和 Memcached 的區別是什么。
第一個電商項目在上線之初,
你們是否進行了壓力測試,
都采用了哪些測試方案,
用了哪些壓測工具,
測試之后得到的 QPS 是多少。
Java 中的重新和覆蓋有什么樣的區別,
這樣設計有什么樣的優勢,
你是否在項目中使用過,
能舉個例子。
Java中的深拷貝和淺拷貝有什么樣的區別,
在 Java 中然后實現深拷貝。
動態變量和實體變量有什么區別,
如此設計,
在使用中會有什么樣的好處。
Hashmap 和 Hashtable 有什么樣的區別,
他們的底層數據結構都是什么樣的。
如果說我想使用一個線程安全的Map,
我應該使用哪個集合。
你會在什么樣的情況下,
使用多線程,
多線程的創建方式都有哪幾種。
什么樣的情況下會出現線程死鎖。
NIO 和 傳統 IO 都有什么樣的區別。
什么是 Spring 中的 IOC,
什么是 Spring 中的控制反轉,
IOC 底層的技術是用什么來實現的,
控制反轉的底層是用什么技術來實現的。
這樣的設計,
對 Spring 框架有什么樣的好處。
有沒有在項目中使用過 Spring Boot,
你覺得,
Spring 和 Spring Boot 都有什么樣的區別。
另外,
Spring Boot 中,
最大的優勢是什么。
如何去自定義一個 Spring Boot Starter。
是否使用過 Spring Cloud,
來搭建微服務。
你覺得,
微服務的最大優勢是什么,
最大缺點是什么。
Spring Cloud 生態最大的優點是什。
你都使用過什么類型的數據庫。
在使用數據庫的時候,
默認會選擇什么樣的數據引擎。
MyISAM 與 InnoDB 都有什么樣的區別。
在數據庫中的左鏈接,
右鏈接,
全鏈接,
分別都是什么。
項目中涉及到分庫分表,
如何通過技術保持數據的一致性。
最后問一個開放性的問題,
當你在瀏覽器中輸入一串地址,
敲完回車,
直到頁面的最終結果展現給用戶,
整個過程中,
用技術描述一下都發送了什么,
說得越詳細越好。
再聊幾個職場上的問題,
業余時間是通過什么方式來學習的。
你看過的最好的一本技術書籍是什么。
未來你對自己的職業規劃是什么樣的。
ok,
你對我們這邊還有什么想要了解的。
關于技術,
或者關于公司都可以向我提問。
ok,
如果沒有什么問題的話,
我們今天的面試就到此為止,
面試結果會在兩周之內,
以郵件的方式通知到你,
最后感謝你來參加面試。
總結
以上是生活随笔為你收集整理的面试一个两年经验初中级java面试问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用chatgpt实现三分钟快速制作自定
- 下一篇: Linux桌面操作系统性能分析学习总结