面經

哇酷哇酷發表於2024-03-28

1、string,stringbuilder,stringbuffer的區別 2、mysql語句,寫增刪改查 3、TCP、UDP位於哪一層 4、ip位於哪一層 5、HTTp位於哪一層 6、HTTP三次握手 7、HTTP兩次揮手會怎麼樣 8、IOC的過程 9、常用的Spring註解 10、解釋一下多型和多型的特點 11、部落格專案敘述一下 12、Volitile的作用 13、mysql的死鎖是什麼 14、mysql的索引有什麼用 15、MySQL的索引有什麼缺點 16、反射的三種方式說一下

布隆過濾器、http請求頭欄位、springboot簡單用法

有序合併兩個連結串列,要求去重

繼續八股
資料庫表結構怎麼設計,課程、老師、學生
要查詢學生的所有課、課的所有學生
怎麼查
1 為什麼要用布隆過濾器,有什麼好處
2 防刷限流怎麼實現的,有什麼其他實現方法嗎
3 執行緒安全問題
4 mysql事務

3、微服務架構的特點

4、微服務通訊方式有哪些?適用場景

5、Redis的使用過程

6、Redis和MySQL一致性如何保證

7、Redis有序集合的底層實現

8、Redis持久化

9、Redis分散式鎖

10、分散式事務,2、3階段提交

11、事務的ACID的英文

12、可重複讀的原理

13、主從同步延遲如何解決(沒背過,直接說不會

14、tcp的四層

15、tcp的滑動視窗

16、如何實現流控制和擁塞控制

17、輸入b站域名的全流程

18、dns的遞迴查詢的過程

19、Python直譯器的作用,除了C-Python還知道什麼(不知道其他的

20、反問:這個團隊是服務UP主的,創作者中心就是他們的工作

21、面試評價:基礎紮實,就是程式碼寫的慢(這不是我的問題,是牛客的問題

:升序連結串列合併的實現

計網:
tcp三次握手四次揮手介紹一下
說說TCP與UDP的區別?
滑動視窗,擁塞控制、流量控制、重傳條件?

C++與資料結構:
如何使得結構體只用於堆或者只用於棧?
講一下位元組對齊的規則?
100萬個資料,如何進行排序,用什麼演算法?時間複雜度多少
兩個字串找出公共子串,講一下思路

作業系統:
死鎖條件
寫構建索引和查詢語句。
後續針對寫的語句,問如何最佳化,最佳化原理等。

volatile關鍵字
右值引用作用
作業系統:
程序和執行緒區別,應用場景
產生死鎖條件
如何實現死鎖檢測

虛擬函式實現,解構函式,記憶體管理等等
棧堆存資料的區別
問常用的三個資料結構及各自的優缺點
陣列,連結串列,雜湊表(算吧?不過不知道怎麼說雜湊的優缺點)
無向圖有權值的最小生成樹怎麼實現
prim和kruskal
問了兩個場景實現:
1貪吃蛇地圖和蛇本身用什麼資料結構實現
地圖鄰接矩陣,蛇應該用佇列
蛇碰撞檢測:邊界檢測和自身碰撞檢測
問我平時c++遇到的困難(都不記得了,尷
1.說一下const、define的區別(翻了好多面經,CPP的大家都被問道)

2.指標的++、- -說一下(同上)

3.static 和 普通變數的區別(同1)

4.說一下for迴圈和遞迴的區別(既然強調了for迴圈,感覺稍微多說下for能確定次數這點吧)

5.說一下野指標是什麼、怎麼產生的(雖然知道那個理,但有點說high了,在那說起了大白話/魔爪全責)

6.講一下你知道的設計模式(同1,好多人都被問道)

7.講一下你理解的單例模式(6的衍生,感覺難得也不能問你)

8.講一下平衡二叉樹&二叉搜尋樹(腦子有點興奮,沒比較正常的說出來二叉搜尋樹的所以然)

9.講一下什麼時候會用到平衡二叉樹(回答的不好,筆者說“需要用到‘左右子樹高度相差不超過1’的時候”,純純說了遍特性)

10.(忘了。。)

11.說一下你知道的排序演算法(說就行,但筆者建議說的時候繪聲繪色些,別光說“快排、冒泡、歸併、希爾..”,可以稍微擴充下“比如說‘快排會分割、用到一種分治的思路’,‘歸併是把一個陣列咔咔(筆者說的時候甚至揮舞起了手刀)然後再排’、‘資料比較多的時候可以用下外部排序’”)

12.(看好多🐂友下一個一般是講講“XX排序”,可能筆者前面說太多了,面試官就自動換問題了)你對多執行緒有什麼瞭解(明確說不了解,但筆者依稀記得C++11新加了東西)

13.說一下多執行緒併發策略之類的問題(當時懵了:我都說我不會了,你害問)。筆者這裡還是接了下來——按照自己的理解舉了個剛開服可能會被衝爆的例子,然後要處理好這個問題,順便提了嘴“遊戲上之前進行壓力開發”巴拉巴拉的

14.你對C++網路程式設計瞭解多少(筆者光提了嘴socket,這個沒背,筆者活該)

15.講一下TCP/UDP協議(繪聲繪色的講)
1、介紹ARP、RARP的工作原理?
2、為什麼需要ARP?ip是在不同子網之間是如何轉換的?
3、TCP保證可靠性的機制?
4、事務的四大特性?
5、髒讀、不可重複讀、幻讀?專案中用到的隔離級別,遇到的問題?
7、為什麼需要Tomcat這種外部容器,Tomcat的作用?
8、講講類載入機制,為什麼需要類載入,類載入的過程?瞭解Tomcat和servelet的類載入嗎?
9、基本資料型別與包裝類,快取機制?
10、異常體系?
迴圈佇列如mysql最佳化器的最佳化邏輯,tcp tahoe和reno啥

2、集合分為哪幾類

3、arraylist底層

4、宣告arraylist,java語言會做什麼操作

5、arraylist什麼時候擴容

6、arraylist是執行緒安全的嗎

7、執行緒安全的list有哪些(忘了)

8、hashmap的底層原理

9、解決hash衝突一般有哪幾種方法

10、hashmap是執行緒安全嗎

11、執行緒安全的map有哪些

12、hashtable和concurrenthashmap的區別

13、concurrenthashmap最耗時的操作是什麼

14、java執行緒有哪幾種狀態

15、執行緒之間如何通訊

16、程序和執行緒的區別

17、字串常量池的理解

18、jvm的記憶體模型

19、堆分為哪幾個模組

20、講一下full gc和young gc的區別

21、程式碼有沒有辦法手動觸發gc

22、執行system.gc()系統會發生什麼

23、會立即觸發回收嗎

24、jvm的gc有哪幾種常見的演算法

25、java的位元組碼檔案的載入過程

26、java的常量在哪個階段被賦值(答錯了)

27、雙親委派機制

28、雙親委派主要解決什麼問題

29、mysql的索引實現和使用

30、mysql的隔離級別

31、資料庫預設隔離級別

32、專案有沒有做過資料庫最佳化,然後是這麼做的

33、syncronized的實現原理

34、syncronized和lock的區別

35、怎麼建立一個執行緒,怎麼建立執行緒池

36、建立執行緒池需要注意什麼

37、什麼是死鎖

38、怎麼避免死鎖

39、有了解過設計模式
一道是找最長連續子陣列,如12345
一道是把陣列劃分為k個連續子陣列,子陣列的和的最大值最小。

HashMap的資料結構? 為啥用紅黑樹? 紅黑樹最多容忍左右高度差是多少?
假如要對某個方法呼叫次數計數怎麼做?LongAdder底層結構?
CAS是什麼?比較的是什麼資料?

自我介紹一定要準備好稿子,可以包括基本資訊、獲獎經歷、專案、實習、學生工作、性格、技術棧等內容,一定要簡潔但吸引面試官。然後要在稿子的基礎上,針對不同的面試進行調整,比如根據自己對崗位的匹配度重新組織結構,或是1分鐘的自我介紹就只挑亮點說。

半結構一般都是問專案和實習經歷,一定要用面試官能聽懂的語言,瞭解一下STAR法則,

situation: 事情發生的背景,為什麼會去做這件事?

task: 明確自己的任務,怎樣在事情的背景下明確自己的任務。

action: 採取什麼行動,為了完成任務,做了哪些事,為什麼要這麼做,有其他方案嗎?

result: 最終取得的成果,行動中收穫了什麼,有沒有完成目標?

有條理地描述,要突出你做了什麼,有什麼收穫或成績。建議對照著簡歷練習幾遍,我第一次被問就會說的不太好,但後面再說就越來越順了。還有一些職場行為題,建議大家可以在網上找一些題目看看答案的思路,練一練。被問到為什麼來這個城市時,儘量別說是因為女朋友來的,因為會顯得你很不穩定,去網上搜點其他的原因,讓自己顯得非去不可一些。

無領導小組我是沒有自己找同學一起練習的,但看到有同學會拉人一起練,應該也蠻有用,因為確實無領導次數多了就更熟悉更敢說更自信了。需要大家隨機應變。說的少一些沒問題,但是一定不要刻意地插話或者打斷別人。別人在講的時候可以速記一下他們的觀點,最後化為己用,帶上對方的稱呼,這樣可以表現得更能hold住場面一點。

此外,在面試前可以加面試群,或者在牛客上找面經,稍微準備準備出現機率大的問題。牛客真的要好好看,上面真的有很多被掩蓋的面經,認真找找!

哦對了,總行管培可能會有英文面環節,投總行管培的話一定要注意。

體檢

體檢前少熬夜,多喝水。體檢時莫慌,大家都還年輕,不用過分擔心,免得自己嚇自己導致心率過速。

作業系統
Linux平常使用嗎
執行緒和程序的區別,還有什麼類似程序和執行緒的嗎
什麼是協程
CPU滿了怎麼看,怎麼辦
Linux下rm正在寫入的檔案會發生什麼?
那麼該如何在不使用kill的情況下刪除該檔案
磁碟滿了怎麼看
程序狀態以及特殊兩種狀態
殭屍執行緒和孤兒執行緒是什麼
清空程序時什麼程序還存活?

網路
tcp三次握手四次揮手
為什麼不能兩次握手
如何解決tcp包的粘連
udp和tcp的區別
udp如何變得安全

Java基礎
hashmap的底層
hashmap.get之後會發生什麼
什麼時候連結串列轉紅黑樹
什麼時候紅黑樹降級
jmm
Jvm區域及作用
老年代常用垃圾處理演算法

多執行緒
threadlocal有沒有使用
threadlocal底層是什麼(雜湊表)
threadlocal底層雜湊表的key是什麼

資料庫
兩種引擎區別
事務的原理
資料庫的四大特性
如何保證隔離性
隔離級別分別有哪些
MVCC有什麼用
什麼是死鎖。如何解決
sql資料庫如何解決死鎖
sql鎖

Spring基礎
springboot執行原理
bean如何載入,迴圈依賴?
aop底層
瞭解什麼設計模式
代理模式在spring哪裡使用過
單例模式在spring哪裡使用過
包裝者模式在spring哪裡使用過
介面類代理和非介面類代理的區別

中介軟體
redis基本型別
Redis快取穿透,擊穿,雪崩及解決方法,bitmap

專案相關
常見限流演算法

1.自我介紹
2.ArrayList和LinkedList的區別,ArrayList是連續的嗎?LinkedList是連續的嗎
3.hashmap的put過程,說一下擴容機制。
4.hashmap為啥執行緒不安全,呼叫get方法一定安全嗎
5.currentHashMap為啥執行緒安全,鎖的是哪裡
6.synchronized和reetrantlockX別
7.reetrantlock的實現原理
8.jvm記憶體結構,垃圾回收演算法,新生代用的垃圾回收演算法強引用,軟引用,弱引用,虛引用的區別
9.redis持久化機制redis的分散式鎖實現
10.你認為小米汽車的釋出對車界的影響怎麼樣
11.反問

自我介紹

各位面試官上午好,我的名字是小黛,99年的,今年24歲,我本科是在b站大學讀的計算機,碩士是在門頭溝學院讀的電子資訊,研究方向是xxx。

作者:ai程式設計師小東
連結:https://ac.nowcoder.com/discuss/1163711?type=0
來源:牛客網

某同學上大學後對網際網路行業比較感興趣,想從事相關工作,尋找資料後瞭解Java後端網上資料較多,學習人數較多,工資待遇也不錯,於是開始從網上搜尋影片資源自學java後端。

大二時期,機緣巧合之下看到學院某老師招幾個學生到自己團隊做一些程式設計專案,本著學習的態度去報名參加,老師看著我java後端基礎不錯,就答應加入團隊。

加入團隊後,老師按照XXX JAVA編碼規範要求我們編碼,例如:類名大駝峰、方法變數小駝峰、註釋規範、日誌列印規範等,在老師的帶領下接了很多java後端的外包專案,例如XXX專案。

作者:ai程式設計師小東
連結:https://ac.nowcoder.com/discuss/1163711?type=0
來源:牛客網

    • 利用Spring、SpringBoot、MyBatis等搭建XXX專案的基本框架,以XXX業務實現了基本的增刪改查操作,用XXX外掛實現XXX資料的分頁查詢。(還可以加一些新出來的技術,吸引下面試官,前提是你要會)
    • 利用SpringSecurity和XXX實現XXX專案的登入授權功能(這一點可以細化,授權針對誰,誰有什麼許可權)
    • 利用Redis對XXX、XXX、XXX等資料實現資料的快取,起到XXX作用。
    • 用到的框架都加上來,結合專案背景改變一下描述。
    • 專案寫完後,和老師、同學走讀程式碼,發現很多邏輯實現複雜,功能耦合,你們提出了XXX最佳化方法。

相關文章