完美世界
Java 方向面經
第一篇
**一面 2016-9-16 **
1、談一談 TreeMap
2、HashMap 實現
3、IO 哪個類可以 Byte 轉 String
4、說下 IO 模型
5、sleep 和 wait 的區別
6、線程幾種狀態
7、四次揮手
8、JVM 內存模型
9、談一談 finalize 的理解
10、SpringMVC 工作原理
11、你項目中用到哪些設計模式
第二篇
**一面 2018-9-16 **
1、一個數字五個線程加到 100,不加鎖,結果會如何
2、項目相關
3、javaweb
4、volatile
5、鎖 可重入鎖 AQS
6、hashmap concurrenthashmap
treemap
7、jvm 收集器 收集器執行過程
8、平時有看什麼書,學校的課程和 java 相關的有哪些
9、其他的記不住了
第三篇
**一面 2018-9-16 **
1、同樣的線程問題,一個數字五個線程
2、項目相關
3、對哪方面的知識比較深入
4、併發、容器類各問了幾個小問題
5、聊實習的問題
第四篇
**一面 2018-9-16 **
1、java 三大特性
2、垃圾回收機制
3、如何判斷對象可回收
4、gc roots 有哪些
5、string 轉 int 手寫
6、封裝起來,允許空間換時間,設計緩存
7、設計出的緩存大小是多少
8、計算二進制中 1 的個數
9、遊戲開發中,一個角色移動了,另外一個玩家怎麼看到的
10、tcp 連接過程
**二面 2018-9-16 **
1、項目
2、同步,異步,阻塞,非阻塞
3、項目二
4、垃圾回收標記清除的過程
5、標記的對象怎麼查找
6、你對遊戲開發的認識
7、爲什麼想做遊戲開發
8、spring ioc 好處
9、遊戲開發和其他互聯網開發的不同之處
10、tcp udp
11、幾種 io 的區別,項目中是否有測試
第五篇
一**面 2018-9-8 **
1、數據庫 sql 語句,創建一張表,條件查詢
2、gc 的流程,使用到哪些函數
3、threadlocal 的作用
4、volatile 的作用
5、如何保證操作的原子性,不使用同步
6、手撕代碼,socket 編程,手寫實現客戶端 echo
第六篇
**一面 2018-12-8 **
1、玩過哪些遊戲
2、jvm 分區,gc 算法,gc root,垃圾收集器
3、手寫快排,遞歸,非遞歸
4、手寫 sql 建表,查詢,聯合查詢
5、項目相關
6、死鎖問題
7、CAS
8、redis 數據類型
9、hashmap,concurrenthashmap,hashtable
10、手寫單例,雙重校驗,加 volatile,去除外部校驗會引發什麼問題
11、volatile 關鍵字
12、NIO 瞭解嗎
13、linux 常用指令
14、socket 編程
**二面 2018-12-8 **
1、玩過哪些遊戲
2、場景題,p2p 連接遊戲
3、我的世界,地圖存儲方式
4、新生代老年代問題
5、家是哪裏
6、有哪些 offer
7、如果薪資相同,OPPO 和完美選擇哪個
8、薪資期望
9、什麼時候能來實習
第七篇
**一面 2019-11-30 **
1、設計模式知道哪些
2、單例模式知道幾種實現方式
3、怎麼破壞單例模式
4、枚舉單例可以被破壞嗎
5、創建對象有幾種方式
6、反序列化能破壞枚舉單例嗎
7、反射創建對象用哪個方法
8、getMethods 和 getDeclaredMethods 有什麼區別
9、反射可以訪問私有屬性和方法嗎?爲什麼可以,Java API 中是如何實現的?
10、SpringMVC 的流程
11、三個線程 1,2,3,想讓 1,2 儘可能多執行,3 少執行,有哪些方法
12、notify 和 notifyAll 喚醒線程的順序是怎樣的
13、同步隊列和等待隊列
14、講一下你的項目
**二面 2019-11-30 **
1、項目中爲什麼用 Kafka,瞭解過其他消息隊列嗎
2、Kafka 的相關機制你知道哪些都說一下
3、Redis 是怎麼用的,分佈式鎖怎麼實現的
4、Spring 多線程定時任務是如何配置的,爲什麼使用多線程
5、線程池的參數
6、線程池接受一個任務的判斷過程
7、手撕:二叉樹鏡像反轉
8、手撕:兩個字符串的最長公共子串,要求 DP 實現
第八篇
**一面 2018-9-14 **
1、先問我玩過啥手遊
2、Spring 如何實現 ioc
3、Spring 的 aop 相關
4、手寫單例
5、Hashtable 如何實現線程安全的。它的牽扯到線程安全的方法上都會加鎖。
6、hashMap 當鏈很長時,如何加速尋找,我說超過 8 用紅黑樹
7、爲什麼紅黑樹查找快
8、Jdk 中實現了那些設計模式
9、Jvm 垃圾回收機制講講
10、問我平時用那些集合類,什麼區別
11、我應該是掛在手寫單例和 spring 方面了
12、NIO 如何實現非阻塞?我說的 selector 輪詢,當感興趣的時間到達纔去處理,沒到達
期間我們可以用線程處理別的
第九篇
**一面 2019-7-31 **
1、先自我介紹一下吧
2、講一下 hashmap,hashmap 和 ConcurrentHashMap 有什麼區別,hashmap 的 key
可以爲 null 嗎?ConcurrentHashMap 呢?
3、知道異常嗎,將你知道的異常寫出來,說說常見 RuntimeException。
4、瞭解併發編程是吧,講講 Synchronized 和 lock
5、講講 GC 機制,知道擔保機制嗎
6、java 中阻塞線程的方法有哪些
7、平時數據庫用的是什麼?講講 mysql 的存儲引擎。寫幾個 sql 語句
**二面 2019-7-31 **
1、會用線程池吧。。知道數據庫連接池嗎?如果讓你寫一個你怎麼寫
2、知道 https 嗎?寫一下詳細連接過程
3、感覺總裁很有氣場。進去就直接問項目裏的東西,講了一些項目裏用到的技術
4、問平時怎麼學習,看什麼書,在項目裏都幹了什麼
第十篇
**一面 2019-7-31 **
1、自我介紹
2、拿着線上筆試卷子來問
(1)Thread 類中 run 方法和 start 方法的區別
(2)lambda 表達式的語法、使用條件
(3)native 關鍵字是什麼?含義?用法
(4)final 關鍵字是什麼?含義?用法
3、在學校學的什麼語言
4、編程題
(1)實現一個特定棧,包含 push/pop/min/max
(2)迪傑斯特拉算法
5、簡要說說你的項目
6、什麼時候能來實習
7、有沒有參加過其他完美的筆試
8、你有什麼要問我的麼
求職必備刷題官網:https://github.com/bennyrhys/interview
【更多互聯網公司筆試面試真題請關注“讓我遇見相似的靈魂”公衆號】