【面經】騰訊java後端實習面經

週六晚上八點半突然接到了騰訊PCG的面試電話,還處於一臉懵逼的狀態,簡歷投的是WXG,然後莫名其妙被PCG撈起來了,然後記得提前批應該已經在三月份過去了,四月份應該是正式批了吧,但又沒有參加筆試,然後就莫名其妙參加電話面試了,面試時間大概一個小時。話不多說,面經奉上。

 

一、自我介紹

 

二、聊項目,說一下印象比較深刻的一些地方

 

三、因爲項目是跟數據庫相關的,之後就問了很多Mysql的問題

1、mysql底層存儲數據結構

答了B+樹和原理。

2、mysql索引的種類

B+樹索引、哈希索引、R-Tree索引、全文索引。

3、mysql的事務管理,如何設計一個事務系統

這個不太清楚,從事務四個特性ACID來答得。

 

四、有一個項目裏面用到了redis,然後又問了redis的問題

1、redis和mysql的區別

2、redis爲什麼快

 

五、寫代碼,給一個只包含ascii字符的字符串,計算每個字符出現的次數

這個很簡單,用了HashMap

 

六、接着代碼問了HashMap底層原理

jdk1.8前:數組+鏈表

jdk1.8後:數組+鏈表/紅黑樹

 

七、ConcurrentHashMap底層原理

jdk1.8前:分段鎖

jdk1.8後:sychronized+CAS,對每個鏈表頭節點或者紅黑樹根節點進行同步

 

八、接着ConcurrentHashMap問了CAS原理

比較交換,用的是硬件底層的CPU指令CAS,相當於無鎖,減少了線程上下文帶來的開銷。

 

九、Java其他的一些併發數據結構

原子類、讀寫鎖、信號量等。

 

十、問了阻塞隊列及其具體的實現有哪些

ArrayBlockingQueue、LinkedBlockingQueue等。

 

十一、AQS原理,如何保證併發

 

十二、web安全方面的問題,常見的web攻擊手段有哪些

答了xss和js腳本注入。

 

十三、對加密算法的瞭解

瞭解不多,就沒細問了。

 

十四、提問環節

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章