昨晚半夜,一個學Java的老弟突然打電話告訴我他拿到了騰訊T3的offer,說實話,我有點詫異。。。
這老弟也是渣碩一枚,之前因為疫情一直都無業待家,4月初疫情基本控制住了,就去投崗了騰訊的Java后臺開發崗位。等了一個星期后簡歷被放回池子里了,眼看著提前批馬上就要截止了,都以為他春招首站就和騰訊無緣了,正想著該怎樣安慰他受傷的小心靈,誰料騰訊那邊居然就直接打電話過來通知小老弟去面試。萬萬沒想到,一路下來,半月過去,他居然披荊斬棘“混進”了騰訊T3,著實牛掰。出于好奇,我特意去找了這位小老弟,想知道他的一些面試技巧和秘籍,然后跟我大概的說了下面試過程,并且他的法寶很簡單——刷題。而且,在準備面試之前,起碼是刷了數套的Java面試PDF,哥們關系比較鐵,也將這些刷題PDF全部傳授于我的。
想著既然這么有用,我也想拿出來獻寶一下,所以老鐵們注意啦!
下面要獻寶的這數套Java刷題PDF,感興趣的就拿去吧,原件
騰訊面試問題(整理了一下小老弟的回憶)
自我介紹+項目
什么是重載、重寫、各種情況下的重載重寫,final關鍵字,linkedList、ArrayList、HashMap源碼、創建線程四種方式等一系列Java基礎問題
什么是反射,反射作用是什么?講這里的時候我順便拓展到了EventBus框架的反射機制
雙檢鎖單例模式為什么那樣設計?二次判空的原因,volatile關鍵字兩個關鍵作用及其實現原理(底層加lock,讀寫語義,指令重排)
線程同步的方法,synchronized關鍵字底層是怎么實現的,對象鎖、類鎖、鎖監視器
ReentrantLock與synchronized的區別,公平性非公平性是如何體現的,順便講了AQS和CAS
你用過哪些設計模式?解決了什么問題?提到單例模式,構造者模式,觀察者模式,講了其在各個框架里面的應用
TCP 三次握手、4次揮手
redis 和 memcached 什么區別?為什么高并發下有時單線程的 redis 比多線程的memcached 效率要高?
在選擇緩存時,什么時候選擇 redis,什么時候選擇 memcached
跟Synchronized相比 ,可重入鎖ReentrantLock其實現原理有什么不同 ?
除 了 ReetrantLock, 你 還 接 觸 過 JUC 中 的 哪 些 并 發 工 具 ?
mysql都有什么鎖,死鎖判定原理和具體場景,死鎖怎么解決?
sql查詢語句確定創建哪種類型的索引?如何優化查詢?
HashMap 是線程安全的嗎,為什么不是線程安全的(最好畫圖說明多線程環境下不安全)?
如何判斷一個對象是否存活?(或者 GC 對象的判定方法)
mysql 索引 B+ 樹
判斷索引是否加上(explain)
假設數據庫需要保存一年的數據,每天一百萬條數據,一張表最多存一千萬條數據,該咋設計表?
進程安全(沒反應過來問進程安全,說了臨界區,信號量)
具體實現并發安全(java sychronized,lock,cas,redis)
講一下哈希表的底層細節,讓你設計一個線程安全的哈希表,會怎么設計
編程題 二維數組判斷島嶼連接(小老弟用bfs+memo說大體對了,寫的冗余了)
手撕代碼,數組內兩個子區間交換
linux內核是否支持多進程或多線程accept()同一個listenfd。。。
腦容量有限,小老弟回憶的不多,我也只記住這些了...
數套Java刷題PDF
- java后端面試題解析
- JVM面試解析
- 23種設計模式知識要點
- MySQL20高頻面試解析
- ZK面試解析
- Redis面試專題上下篇
- 并發編程面試解析上下篇
- Spring面試專題
- SpringBoot面試專題
10.SpringMVC面試專題
- SpringCloud面試專題
- Tomcat面試專題
- Nginx面試專題
- Kafka面試專題
- MyBatis面試專題
- BAT常見81題(JVM+Redis+多線程高并發+集合框架+數據庫)
- 各大廠面經面試題集錦
大大小小加起來總共有幾十套,這邊篇幅有限,也不一一展示了,感興趣的就分享拿去吧,原件