【求職】拼多多 Java 方向面經

第一篇
一面 2019/4/15 牛客網
1、自我介紹
2、介紹一下 mysql 索引?爲什麼用 B+樹?
3、網絡 IO 模型?什麼是多路複用 IO?select 和 epoll 的差別?select 具體過程?
4、Java 類加載機制?雙親委派模型的好處?
5、進程和線程的區別?線程是不是越多越好,爲什麼?操作系統怎麼調度的,調度算法?
java 中 cpu 調度 6、是線程還是進程?
7、數據庫事務?隔離級別?
8、Java 線程變量怎麼實現的?內存模型?
9、手撕代碼
10、用數組模擬循環鏈表
11、堆排序實現
12、JAVA 併發包組件瞭解多少
13、線程的一個狀態轉換圖
14、HashMap 和 HashTable 以及 CocurrentHashMap 詳細說明
15、SpringMVC 的整個執行流程
二面 2019/4/15 來自於牛客網
1、自我介紹
2、數據庫索引?B+樹?爲什麼要建索引?什麼樣的字段需要建索引,建索引的時候一般考
慮什麼?怎麼解決分庫分表?
3、數據庫事務特點?事務隔離級別?項目中的事務實現?髒讀、不可重複讀、幻讀各舉個
例子?
4、Spring bean 的生命週期?默認創建的模式是什麼?不想單例怎麼辦?
5、談談 Kafka 和 ZooKeeper 瞭解情況?
6、設計模式,單例模式,怎麼保證線程安全?鎖效率太低,怎麼提高效率?CAS?CAS 本
質是什麼?什麼是原子性?Compare and Swap,爲什麼能保證原子性?分佈式鎖?
7、還有什麼設計模式?工廠模式有幾種,都講講?
8、數據庫表怎麼設計的?數據庫範式?設計的過程中需要注意什麼?enum 類型的值一般
怎麼存?如果有一個十幾位的小數爲了不丟失精度怎麼存?tinyint 幾個字節,int 幾個字節?
第二篇
一面 2019/4/22 來自於牛客網
1、項目
2、筆試題,循環小數,說一下思路
3、說一下 SpringMVC 和 Spring,hibernate
4、MySQL 數據庫和 Redis 說一下
5、分佈式鎖怎麼使用,setnx 和設置超時是兩條指令,怎麼保證原子性,可以使用 lua 腳
本保證在事務中執行 6、你們的 Redis 是怎麼用的,如何做緩存更新
7、jvm 內存分區,線程池工作原理
8、算法題,abbaabbaaa 這樣的字符串,怎麼變成 aaabbbaaa,這種形式的字符串。其中
a 和 b 的個數都可以是 0 到 n 個
二面 2019/4/22 來自於牛客網
1、拿了幾個 offer 了 2、對拼多多有什麼瞭解
3、我們工作壓力大你能接受麼
4、薪酬你預計要多少
5、城市選擇問題
6、職業規劃
第三篇
一面 2019/11/21 來自於牛客網
1、聊項目
2、Java 中的 HashMap、TreeMap 解釋下?
3、TreeMap 查詢寫入的時間複雜度多少?
4、ConcurrentHashMap 怎麼實現線程安全的?
5、HashMap 多線程有什麼問題?怎麼解決?
6、CAS 和 synchronize 有什麼區別?都用 synchronize 不行麼?
7、get 需要加鎖麼,爲什麼?
8、volatile 的作用是什麼?
9、給我一張紙,畫了一個九方格,都填了數字,給一個 MN 矩陣,從 1 開始逆時針打印這
MN 個數,要求時間複雜度儘可能低,可以先說下思路
10、有什麼想問我的?
二面 2019/11/21 來自於牛客網
1、自我介紹下
2、手上還有其他 offer 麼?
3、部門組織結構是怎樣的?
4、系統有哪些模塊,每個模塊用了哪些技術,數據怎麼流轉的?給了我一張紙,我在上面
簡單畫了下系統之間的流轉情況
5、鏈路追蹤的信息是怎麼傳遞的?
6、SpanId 怎麼保證唯一性?
7、RpcContext 是在什麼維度傳遞的?
8、Dubbo 的遠程調用怎麼實現的?
9、Spring 的單例是怎麼實現的?
10、爲什麼要單獨實現一個服務治理框架?
11、誰主導的?內部還在使用麼?
12、逆向有想過怎麼做成通用麼?
13、有什麼想問的
第四篇
一面 2019/7/29 來自於牛客網
1、說說 8 種數據結構
2、棧和隊列的區別
3、生活中棧的例子:真沒想到,這是我整場面試裏唯一不會的
4、算法題:口述,還是 TOPK 原題
5、n 個節點的樹可能的高度。最高和最低的高度
6、BST 樹的高度
7、項目難點
8、redis 的使用場景,和 memry***的區別
9、UDP 和 TCP 的區別
10、Mysql 的儲存引擎和索引
11、問了一個訂單數據表(uid,orderId,time,moblie)每天 2000w 條,要存 1 年。
應該怎麼存?
12、最後還就我的職業規劃,跟我聊了好幾分鐘!
二面 2019/7/29 來自於牛客網
1、先問項目。web 項目背景。如何應對高併發、如何做分佈式事務
2、看過源碼嘛?
3、1、8 版本的 concurentHashMap 在單線程下和 HashMap 效率有什麼區別
4、多線程方面學到了什麼?Netty 線程模型介紹一下、Java 線程池四種介紹一下?
5、Nio 特性介紹
6、你怎麼自學看什麼書
7、JMM 內存可見性
8、還有什麼能保證可見性:sync 和 Lock
9、怎麼打斷線程
10、問我之前的筆試題
11、手寫代碼:沒有任何算法,直接按題意翻譯就行
第五篇
一面 2019/5/21 來自於牛客網
1、兩個升序數組求並集
2、問項目,講了兩個項目
3、提了一下 Redis 做緩存,Redis 分佈式鎖
4、怎麼保證 Redis 的高可用
5、問了下 MySQL 數據結構,問看過源碼沒
6、JVM 垃圾回收算法
7、HTTPS 的實現
8、反問環節
二面 2019/5/21 來自於牛客網
1、項目
2、滴滴實習(調度系統),項目這裏問了幾個刁鑽的問題
3、redis setnx 分佈式鎖
4、redis 的 ttl 指令底層實現,redis 過期策略
5、redis 數據類型,跳錶實現
6、JDK 1、7、1、8 區別
7、HashMap 全家桶
8、CAS 原理
9、MySQL 一條語句的執行過程,解析過程?查詢緩存?怎麼判斷是否命中?
10、a_b_c 聯合索引,問你哪些索引可以正常使用,哪些失效
11、MySQL 的執行計劃
12、colse_wait,time_wait
13、撕算法:leetcode 區間合併做了升級,比原來難一點。LC 的 hard 難度
第六篇
一面 2019/9/8 來自於牛客網
1、問項目相關的問題
2、ConcurrentHashmap 的原理,有什麼改動,進行了哪些優化
3、Synchronized 關鍵字原理,CAS 原理,Monitor 對象
4、紅黑樹性質,爲什麼 ConcurrentHashmap 用紅黑樹
5、紅黑樹,二叉搜索樹,平衡二叉樹性質的對比,平衡二叉樹的刪除操作
6、redis 持久化,和一些命令
二面 2019/9/8 來自於牛客網
1、問項目相關的問題
2、鎖相關的問題,有什麼鎖,介紹一下
3、重做一下筆試題第二題,字符串能不能構成環那個
4、給一個數組和一個 target,找到一個子序列使得和爲 target
5、工作時間調度問題。給兩個數組,一個代表工作開始時間,一個代表工作結束時間,時
間有重疊。問這段時間內最大能完成幾項工作
第七篇
一面 2019/9/20 來自於牛客網
1、畢設項目相關
2、自己做的項目相關
3、redis 實現分佈式鎖
4、自己實現一個二階段提交,如何設計
5、算法題,任務調度
二面 2019/9/20 來自於牛客網
1、自己做的項目表的設計
2、用自增鍵做用戶表的主鍵的潛在危險
3、nginx 負載均衡時如何判斷某個節點掛掉了
4、redis 的數據類型, 使用場景
5、redis 的存儲方式和優劣
6、java 的異常
7、jvm 垃圾回收策略
8、k8s 的存儲方式是怎樣的
9、Spring AOP 原理是什麼,怎麼使用,什麼切點什麼是切面,舉個例子
10、現場寫單例
11、算法題,給一堆硬幣的 array,返回所有的組合
12、複雜度是多少,有沒有什麼可以優化的地方
13、畢設項目討論
第八篇
一面 2019/9/12 來自於牛客網
1、自我介紹
2、簡歷上的項目
3、Hashmap 的 get()方法
4、Hashmap 的線程安全問題
5、代碼:判斷單鏈表有沒有環,找到環入口點
6、***模式、單例模式
7、數據庫大表查詢
8、數據庫聯合索引
9、B+樹和最左前綴原理
10、說說自己的職業規劃
二面 2019/9/12 來自於牛客網
1、自我介紹
2、簡歷上的項目
3、原子類 AtomicInteger 的實現原理,CAS 機制
4、線程和進程
5、線程和線程池
6、StringBuilder 和 Stringbuffer
7、ArraryList 的 get 方法和 add 方法時間複雜度
8、數據庫事務
9、數據庫分庫分表,水平上怎麼分,垂直上怎麼分
10、用了消息隊列有哪些好處
11、代碼:字符串反轉,遞歸的方式
12、聊了一下其他非技術的;
13、有什麼要問面試官的
第九篇
一面 2019/9/21 來自於牛客網
1、自我介紹
2、介紹項目
3、redis 使用場景
4、redis 集羣
5、樂觀鎖和悲觀鎖
6、線程池類型?d 和 fixed 區別?
7、hashmap 和 concurrenthashmap 介紹?
8、一致性哈希介紹
9、gc 算法說一下
10、筆試第四題說下思路
11、手撕算法,樹層次遍歷變形題,leetcode 原題
12、有什麼想問的
二面 2019/9/21 來自於牛客網
1、自我介紹
2、項目介紹
3、筆試第四題說下思路
4、手撕算法,最大連續子數組和
5、還用過 vue,介紹一下?
6、分佈式瞭解哪些?
7、nginx 都用了什麼?
8、平常怎麼學習的?
9、有什麼想問的?
第十篇
一面 2019/9/28 來自於牛客網
1、自我介紹
2、基本數據類型,分別所佔內存大小
3、棧和隊列
4、平衡二叉樹、完全二叉樹、滿二叉樹的概念
5、HashMap 的實現原理,Java8 中有什麼改變
6、紅黑樹
7、ArrayList LinkedList
8、多線程
9、生產者消費者問題
10、實例鎖和類鎖
11、HashMap concurrentHashMap HashTable
12、線程池
13、JVM 內存模型
14、事務的特性
15、闡述隔離性
16、Mysql 中的隔離級別
17、引實現機制
18、手寫快排
二面 2019/9/28 來自於牛客網
1、自我介紹
2、聊簡歷
3、JVM 內存模型
4、GC 算法
5、HashMap, concurrentHashMap
6、線程安全的定義
7、保證線程安全的方法
8、悲觀鎖和樂觀鎖
9、volatile threadLocal
10、二叉樹的非遞歸中序遍歷
11、問答

求職必備刷題官網:https://github.com/bennyrhys/interview
【更多互聯網公司筆試面試真題請關注“讓我遇見相似的靈魂”公衆號】

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