SSM是指Spring、Spring MVC和MyBatis三個框架的組合。它們分別負責不同的功能,一起構(gòu)建一個完整的Java Web應(yīng)用。
Spring:負責依賴注入(DI)和控制反轉(zhuǎn)(IoC),實現(xiàn)各個組件之間的松耦合。
Spring MVC:負責處理用戶請求,實現(xiàn)Model-View-Controller(MVC)模式的Web應(yīng)用開發(fā)。
MyBatis:負責數(shù)據(jù)持久層的操作,實現(xiàn)對象關(guān)系映射(ORM),簡化數(shù)據(jù)庫操作。
通過SSM框架組合,可以快速地構(gòu)建一個可擴展、高性能、易維護的Java Web應(yīng)用。
中國聯(lián)通java工程師面試題
請簡要介紹一下你的Java項目經(jīng)驗。
應(yīng)聘者:在校期間,我參與了一個基于SSM框架的倉庫管理系統(tǒng)項目,負責后端開發(fā)。
面試官:談?wù)勀銓ava多態(tài)的理解。
應(yīng)聘者:Java多態(tài)指的是不同對象對同一方法的不同實現(xiàn),它包括編譯時多態(tài)和運行時多態(tài)。多態(tài)實現(xiàn)了代碼的可擴展性和復(fù)用性。
面試強度比較大,題目比較簡單。和互聯(lián)網(wǎng)差不多。因為應(yīng)屆的身份,多為八股。
這是我最開始面的一個,經(jīng)驗不足,敬請諒解(現(xiàn)在已經(jīng)倒背如流了)
中國聯(lián)通java軟件開發(fā)工程師面試題
說一下什么是反射?
沒說出來,忘了
Java中的數(shù)據(jù)結(jié)構(gòu)
給他說了一下集合里的 單列集合 List :Arraylist LinkList Vector Stack Set : Hashset Treest 雙列集合Map:Hashtable Hashmap TreeMap
arraylist 是動態(tài)擴容的嗎
是的,而且當前元素個數(shù)達到容量極限的時候會擴容至原來的 1.5 倍
hashmap 可以 put null進去嗎
可以 ,但是put進去的null值是被視為不相等的(面完發(fā)現(xiàn)記錯了,mysql里是不相等的,Java里是相等的)。現(xiàn)在意識到他想讓我說二義性。
hashMap是線程安全嗎
不是 安全的話要用concurrenthashmap
線程的生命周期
詳細說了那四個階段(新建-可運行-阻塞、等待、限時等待-死亡)
如何預(yù)防死鎖
說了一下形成死鎖的必要條件,然后解決:破壞不可搶占條件 破壞循環(huán)等待條件
Mysql中的鎖介紹一下
說了latch: mutex rwlock lock:共享鎖排他鎖意向鎖 record lock gaplock nextkeylock
隔離級別
說了四個隔離級別
springboot有哪些依賴注入方式?
我不會(只知道概念)
bean的生命周期
創(chuàng)建、使用、銷毀,細分 實例化、初始化、注冊Destruction回調(diào)、Bean的正常使用以及Bean的銷毀
bean的循環(huán)依賴如何解決
三級緩存 解釋了下
springboot可以熱更新嗎?有哪幾種熱更新的方式?
不會
Autowired和Resource的關(guān)系
byType byName順序,作用域,支持方。說了下具體的
redis數(shù)據(jù)結(jié)構(gòu)
緩存雪崩 穿透 ?沒答的很好。剛開始說成擊穿了,然后假裝思考了一下說了穿透的定義,解決方法(加校驗、存keynull、布隆過濾器,每個都展開說)。雪崩沒讓說就下一個了。
redis為什么是單線程?
忘記了,但是提到了它性能不吃CPU。
說說分布式鎖
忘了,沒記。
kafka的數(shù)據(jù)保存策略?
沒見過,不知道咋說?只說了消息存儲的五個 零拷貝、磁盤順序?qū)懭?、頁緩存、系?shù)索引、分區(qū)和副本。不知道對不對
gRPC優(yōu)點?
只說了優(yōu)點,說他很快,為什么快?gRPC 基于 HTTP/2,相比于 HTTP/1.x,HTTP/2 支持頭部壓縮、多路復(fù)用等特性,可以更有效地利用網(wǎng)絡(luò)資源,減少延遲。
他問底層會嗎?
不會,說只用了幾個成熟的RPCs。
JVM調(diào)優(yōu)有哪些方式?
不會。我說根據(jù)我見過的項目,JVM都是設(shè)定好的,完全沒有給人調(diào)優(yōu)的機會和空間,所以沒有了解。
講一下GC?
講了回收原理,算法,如何識別垃圾-強軟弱虛。
GC沒有實際應(yīng)用過還是單純處于理論層面?
我說了我只改了堆內(nèi)存大小,因為我做了一些調(diào)查了解到的只需要這么改。裝了個b,說前兩天看的得物和阿里的新技術(shù)優(yōu)化了zookeepper的ZAB(我就看了個皮毛),說我看他們優(yōu)化了ZAB算法,在GC上最后也只是設(shè)置了xms和xmx。
如何保持數(shù)據(jù)一致性?
回答了雙寫一致性,延遲雙刪和canal+rabbitMQ,只讓說了延遲雙刪,沒讓說canal+rabbitMQ。說了操作方式,為啥刪第一次,為啥刪第二次,為啥不能只刪一次。
Spring Cloud會嗎?不會
反問環(huán)節(jié),問分布式場景多嗎,都哪些
答用的都是最新技術(shù),springcloud之類的,沒正面回答
卡殼了,感覺打的不是很好,沒好意思問二面要準備啥,就尋求了下銳評:
面試官說我的簡歷沒提現(xiàn)技術(shù)能力(我后來看了下國聘上的簡歷沒有專業(yè)技能,技術(shù)棧一個沒漏出來,如果有二面必須讓hr給我更新簡歷)。
腦子轉(zhuǎn)得快,不夠深入底層。
面完感覺G了
一共三面,前兩輪線上。第一輪一個面試官,第二輪與第三輪群面。問的技術(shù),差不多就是八股文。,涉及到線程、IO、鎖、集合、JVM、索引、隔離級別、事務(wù)底層等
面試官問的面試題:天津聯(lián)通java開發(fā)面試題
8.INNODB的數(shù)據(jù)結(jié)構(gòu)
9.多線程
多線程的構(gòu)造方法
10.線程
Sychronized是如何實現(xiàn)的
11.Mybatis緩存 一級緩存和二級緩存
12.IO 有哪幾種方式
13.什么是同步 什么是阻塞 同步和阻塞一樣嗎 有什么關(guān)系, 分別在什么情況下發(fā)生
14.數(shù)據(jù)庫隔離級別,他們有什么關(guān)系
15.幻讀是什么
16.Spring如何加事務(wù),
17.事務(wù)注解的底層原理
此次面試主要是中國聯(lián)通在學(xué)校的宣講會,有很多地區(qū)的聯(lián)通分公司都在,當時天津聯(lián)通能現(xiàn)場發(fā)offer(直簽的機會),我沖著這個現(xiàn)場發(fā)offer的機會就去投遞了天津聯(lián)通。
面試官問的面試題:天津聯(lián)通軟件開發(fā)工程師面試題
一上來面試官就看了看我的簡歷,問題也比較簡單,主要如下:
你是哪里人?(南方的)
為什么想要從南方來到天津這么遠?沒想過在家附近嗎?(我說喜歡大城市)
廣東、湖南也有大城市呀,為什么不選擇?(我喜歡北上廣深(天津挨著北),但深和上消費太高了)
接受崗位調(diào)劑嗎?(崗位可能要考試,沒達到錄取名額最后排名的會被調(diào)劑)
(共4條) 成都元素科技有限公司
(共6條) 東莞市盛雄激光設(shè)備有限公司
(共5條) 格力電器股份有限公司
(共6條) 廈門火炬集團
(共4條) 深圳大學(xué)總醫(yī)院
(共8條) 英科醫(yī)療