Java程式設計師秋招面經大合集(BAT美團網易小米華爲中興等)

Java程序員秋招面經大合集(BAT美團網易小米華為中興等)


  • Cvte提前批
  • 阿里內推
  • 便利蜂內推
  • 小米內推
  • 金山wps內推
  • 多益網絡
  • 拼多多學霸批
  • 搜狗校招
  • 塗鴉移動
  • 中國電信it研發中心
  • 中興
  • 華為
  • 蘇寧內推
  • 美團內推
  • 百度
  • 騰訊
  • 招商銀行信用卡
  • 招銀網絡科技
  • 網易
  • Vivo

Cvte提前批

一面(電話)

  1. 自我介紹
  2. 介紹你的項目
  3. 加密解密瞭解麼?幾種算法,講一下你瞭解的
  4. 多線程瞭解麼?什麼是線程安全?
  5. 說一個你最熟悉的設計模式
  6. 講一下你項目中用到了哪些設計模式
  7. Java的hashmap的原理
  8. Hashmap的線程安全性,什麼是線程安全的?如何實現線程安全

二面(視頻)

  1. 自我介紹
  2. 介紹項目
  3. Mysql的數據庫引擎,區別特點
  4. 設計模式瞭解?講一下最熟悉的
  5. 寫一個單例模式,答主寫的是雙檢查鎖單例,問了為什麼用Volatile,synchronize移到方法最外面會怎麼樣?
  6. 單例模式在你項目裡哪些應用?
  7. 數據連接池
  8. 對高負載有了解麼
  9. 你意向的技術方向是哪塊?(答主回答的高併發,然後面試官說他是做高負載的)
  10. 對高併發有了解麼?

阿里內推

一面(電話)

  1. 聽說你有博客,博客裡大概有什麼內容?
  2. 項目介紹,最複雜的表
  3. Hashmap的原理
  4. Hashmap為什麼大小是2的冪次
  5. 介紹一下紅黑樹
  6. Arraylist的原理
  7. 場景題:設計判斷論文抄襲的系統
  8. 堆排序的原理
  9. 抽象工廠和工廠方法模式的區別
  10. 工廠模式的思想
  11. object類你知道的方法
  12. 哪裡用到了工廠模式
  13. Forward和redirect的區別

二面(視頻)

1, 自我介紹

2, 項目介紹

3, 項目架構

4, 項目難點

5, Synchronize關鍵字為什麼jdk1.5後效率提高了

6, 線程池的使用時的注意事項

7, Spring中autowire和resourse關鍵字的區別

8, Hashmap的原理

9, Hashmap的大小為什麼指定為2的冪次

10, 講一下線程狀態轉移圖

11, 消息隊列了解麼

12, 分佈式瞭解麼

便利蜂內推

一面(電話)

  1. 自我介紹
  2. 項目介紹
  3. volatile和synchronized
  4. 來個算法題:一個無序數組,其中一個數字出現的次數大於其他數字之和,求這個數字 (主元素)
  5. 答完再來一個:一個數組,有正有負,不改變順序的情況下,求和最大的最長子序列
  6. 項目用到什麼數據庫?隔離級別?每個隔離級別各做了什麼
  7. 數據庫的索引?mysql不同引擎索引的區別
  8. 垃圾回收算法的過程
  9. 你瞭解的垃圾收集器? Cms收集器的過程
  10. 怎樣進入老年代?
  11. 平時用到了什麼設計模式?
  12. 講一下你最熟的兩個設計模式
  13. 用過什麼系統?shell寫過腳本嗎?

小米內推

一面(電話)

  1. 自我介紹
  2. 看你最近博客寫的是redis,介紹redis和mysql的區別
  3. Redis的應用場景
  4. Hashmap的原理
  5. Hashmap中jdk1.8之後做了哪些優化
  6. 垃圾回收的過程
  7. Jvm的參數設置
  8. 項目中的優化

金山wps內推

一面(電話)

  1. 自我介紹
  2. 項目介紹
  3. 對Java的面向對象的理解
  4. 對java多線程的理解
  5. 數據庫的索引
  6. 數據庫的隔離級別
  7. 設計模式的理解
  8. 講幾個設計模式
  9. 對算法有什麼瞭解?答主先回答了動態規劃,解釋了一下dp的思想
  10. 快排的思想講一下

二面(電話)

  1. 自我介紹
  2. 項目介紹
  3. Tcp怎麼保證可靠傳輸(中間穿插了好多小問題)
  4. Tcp的擁塞控制
  5. 讓你設計一個即時聊天的系統
  6. 支付寶轉賬,是如何實現,幾個小時通知轉賬成功的(面試官想讓回答長連接,答主一直沒get到點)
  7. 解釋一下長連接

多益網絡

一面(視頻)

  1. 自我介紹
  2. 對面向對象的理解
  3. 介紹多態
  4. Java新建線程有哪幾種方式
  5. 線程池的作用
  6. 看過框架源碼麼

拼多多學霸批

一面(現場面)

  1. 自我介紹
  2. 項目介紹
  3. 手撕算法:一棵二叉排序樹,給定一個數,找到與給定數差值最小的數
  4. 場景題:設計一個系統,解決搶購時所需要的大量的短鏈接的功能,如何保證高併發,如何設計短鏈接

二面(現場面)

  1. 代碼量多少
  2. 給了一張紙,各種名詞,會的寫出來
  3. 然後給它解釋那些會的
  4. 設計題:設計一個系統,記錄qq用戶前一天的登錄狀態,提供16g內存和2tb的硬盤,要做到查詢指定qq號的前一天的登錄狀態,快速查詢O(1)複雜度

搜狗校招

一面(現場):

  1. 自我介紹
  2. 項目介紹
  3. 手撕算法:兩個排序的數組A和B分別含有m和n個數,找到兩個排序數組的中位數,答主用的二分,時間複雜度為O(log (m+n))。結果面試官不滿意,讓用歸併的思想做,時間複雜度其實更高了
  4. 介紹網絡編程

塗鴉移動

一面(現場)

  1. 自我介紹
  2. 項目介紹
  3. 數據庫的索引原理
  4. 索引使用的注意事項
  5. 數據庫的引擎
  6. Java垃圾回收機制
  7. Java的finalize,finally,final三個關鍵字的區別和應用場景
  8. String類可以被繼承麼
  9. 手撕算法:假設你是一個專業的竊賊,準備沿著一條街打劫房屋。每個房子都存放著特定金額的錢。你面臨的唯一約束條件是:相鄰的房子裝著相互聯繫的防盜系統,且 當相鄰的兩個房子同一天被打劫時,該系統會自動報警。
  10. 給定一個非負整數列表,表示每個房子中存放的錢, 算一算,如果今晚去打劫,你最多可以得到多少錢 在不觸動報警裝置的情況下。

二面(電話)

  1. 自我介紹
  2. 對遊戲的瞭解
  3. 項目介紹
  4. 算法題:給一個整數數組,找到兩個數使得他們的和等於一個給定的數 target。
  5. 紅黑樹
  6. Redis的應用

中國電信it研發中心

一面(現場)

  1. 自我介紹
  2. 項目介紹
  3. 項目裡用的什麼服務器
  4. 自己寫一個tomcat服務器,你會怎麼寫
  5. 分佈式服務器會出現哪些問題
  6. 怎麼解決session一致性緩存的問題
  7. Redis的優勢和特點
  8. 一千萬用戶併發搶購,怎麼設計
  9. 如果成功的用戶有10萬,redis存不下怎麼處理
  10. 你項目中的難點

二面(現場)

  1. 自我介紹
  2. 項目介紹
  3. 介紹spring中的熟悉的註解
  4. 讓你實現autowire註解的功能你會如何實現
  5. Redis和mysql的區別
  6. Redis的持久化有哪些方式,具體原理

中興

專業面(現場)

  1. 自我介紹
  2. 項目介紹
  3. 你瞭解的設計模式,講兩個
  4. Java collection類,集合,講兩個你瞭解的,說實現原理
  5. Java線程池的作用
  6. 你覺得你在你實驗室處於什麼水平

綜合面試(現場)

說好的綜合面試純聊天呢?

1. 自我介紹

2. 項目介紹

3. 說一下你知道的設計模式

4. 畫一個策略模式的uml圖

5. Java多線程的理解

6. 內存屏障是什麼

7. 數據庫索引

8. 項目中的優化

9. 然後開始聊人生

10. 你的缺點,你最不喜歡什麼樣的人,你的家庭等等

華為

一面(現場)

  1. 自我介紹
  2. 項目介紹
  3. 項目架構
  4. 項目一個完整的執行流程(由於我是搞java的,而面試官是搞c的,所以全程尬聊)
  5. 項目優化

二面(現場)

  1. 自我介紹
  2. 項目介紹
  3. 怎麼管理項目進度
  4. 平常的愛好
  5. 感覺面試官也不是搞java的,所以又是一陣尬聊

蘇寧內推

一面(現場)

  1. 自我介紹
  2. 項目介紹
  3. 面過哪些公司了
  4. 有哪些offer了
  5. 聊到多益,於是開始聊最近微博上很火的多益老闆
  6. 得出結論,我和麵試官都覺得多益老闆三觀有問題,但做遊戲就是要偏執的人
  7. 你博客主要哪方面的
  8. 多線程併發包瞭解麼
  9. 講一下countDownLatch

蘇寧聊了20分鐘八卦就面完了,一輪技術面

美團內推

一面(電話)

  1. 自我介紹
  2. 項目介紹
  3. Redis介紹
  4. 瞭解redis源碼麼
  5. 瞭解redis集群麼
  6. Hashmap的原理
  7. hashmap容量為什麼是2的冪次
  8. hashset的源碼
  9. object類你知道的方法
  10. hashcode和equals
  11. 你重寫過hashcode和equals麼,要注意什麼
  12. 假設現在一個學生類,有學號和姓名,我現在hashcode方法重寫的時候,只將學號參與計算,會出現什麼情況?
  13. 往set裡面put一個學生對象,然後將這個學生對象的學號改了,再put進去,可以放進set麼?並講出為什麼
  14. Redis的持久化?有哪些方式,原理是什麼?
  15. 講一下穩定的排序算法和不穩定的排序算法
  16. 講一下快速排序的思想

二面(現場)

  1. 自我介紹
  2. 講一下數據的acid
  3. 什麼是一致性
  4. 什麼是隔離性
  5. Mysql的隔離級別
  6. 每個隔離級別是如何解決
  7. Mysql要加上nextkey鎖,語句該怎麼寫
  8. Java的內存模型,垃圾回收
  9. 線程池的參數
  10. 每個參數解釋一遍
  11. 然後面試官設置了每個參數,給了是個線程,讓描述出完整的線程池執行的流程
  12. Nio和IO有什麼區別
  13. Nio和aio的區別
  14. Spring的aop怎麼實現
  15. Spring的aop有哪些實現方式
  16. 動態代理的實現方式和區別
  17. Linux瞭解麼
  18. 怎麼查看系統負載
  19. Cpu load的參數如果為4,描述一下現在系統處於什麼情況
  20. Linux,查找磁盤上最大的文件的命令
  21. Linux,如何查看系統日誌文件
  22. 手撕算法:leeetcode原題 22,Generate Parentheses,給定 n 對括號,請寫一個函數以將其生成新的括號組合,並返回所有組合結果。

三面(現場)

三面沒怎麼問技術,問了很多技術管理方面的問題

  1. 自我介紹
  2. 項目介紹
  3. 怎麼管理項目成員
  4. 當意見不一致時,如何溝通並說服開發成員,並舉個例子
  5. 怎麼保證項目的進度
  6. 數據庫的索引原理
  7. 非聚簇索引和聚簇索引
  8. 索引的使用注意事項
  9. 聯合索引
  10. 從底層解釋最左匹配原則
  11. Mysql對聯合索引有優化麼?會自動調整順序麼?哪個版本開始優化?
  12. Redis的應用
  13. Redis的持久化的方式和原理
  14. 技術選型,一個新技術和一個穩定的舊技術,你會怎麼選擇,選擇的考慮有哪些
  15. 說你印象最深的美團點評技術團隊的三篇博客
  16. 最近在學什麼新技術
  17. 你是怎麼去接觸一門新技術的
  18. 會看哪些書
  19. 怎麼選擇要看的書

一面(現場)

  1. 自我介紹
  2. Java中的多態
  3. Object類下的方法
  4. Finalize的作用和使用場景
  5. Hashcode和equals
  6. 為什麼要同時重寫hashcode和equals
  7. 不同時重寫會出現哪些問題
  8. Hashmap的原理
  9. Hashmap如何變線程安全,每種方式的優缺點
  10. 垃圾回收機制
  11. Jvm的參數你知道的說一下
  12. 設計模式瞭解的說一下啊
  13. 手撕一個單例模式
  14. 快速排序的思想講一下
  15. 給個數組,模擬快排的過程
  16. 手寫快排
  17. 設計題,一個圖書館管理系統,數據庫怎麼設計,需求自己定

二面(現場)

  1. 自我介紹
  2. 項目介紹
  3. Redis的特點
  4. 分佈式事務瞭解麼
  5. 反爬蟲的機制,有哪些方式
  6. 手撕算法:反轉單鏈表
  7. 手撕算法:實現類似微博子結構的數據結構,輸入一系列父子關係,輸出一個類似微博評論的父子結構圖
  8. 手寫java多線程
  9. 手寫java的soeket編程,服務端和客戶端
  10. 進程間的通信方式
  11. 手撕算法: 爬樓梯,寫出狀態轉移方程
  12. 智力題:時針分針什麼時候重合

三面(現場)

由於三面面試官不懂java,我不熟c加加,所以全程尬聊

  1. 自我介紹
  2. 項目介紹
  3. 手撕算法:給定一個數字三角形,找到從頂部到底部的最小路徑和。每一步可以移動到下面一行的相鄰數字上。
  4. 然後繼續在這個問題上擴展
  5. 求出最短那條的路徑
  6. 遞歸求出所有的路徑
  7. 設計模式講一下熟悉的
  8. 會不會濫用設計模式
  9. 多線程條件變量為什麼要在while體裡
  10. 你遇到什麼挫折

騰訊

一面(現場)

  1. 自我介紹
  2. 項目介紹
  3. Hibernate的作用,你的理解
  4. 多線程的理解,如何保證線程安全
  5. mysql數據庫的引擎和區別
  6. 場景題:千萬用戶搶購,如何處理高併發,並且有一個鏈接,指向前一天搶購成功的用戶,如何設計這個系統和數據庫
  7. 如果後臺處理搶購請求的服務器,每次最多承受200的負載,系統該怎麼設計
  8. 手撕算法:最小公倍數和最大公約數

二面

  1. 自我介紹
  2. 項目介紹
  3. 項目裡一個完整請求的流程
  4. 項目的優化
  5. Hibernate和mybatis的區別
  6. 為什麼用ssh框架
  7. Mysql的容災備份
  8. Redis和memcache 的區別
  9. 為什麼選擇redis
  10. Java的full gc
  11. Full gc會導致什麼問題

招商銀行信用卡

一面

  1. 自我介紹
  2. 分佈式事務
  3. 設計模式
  4. 訪問者模式
  5. 裝飾者模式
  6. 有哪些offer
  7. 為什麼還來我們這

招銀網絡科技

一面

  1. 自我介紹
  2. 寫一個兩個有序鏈表合併成一個有序鏈表
  3. 死鎖是什麼呢
  4. 怎麼解決死鎖
  5. http請求流程
  6. 為什麼負載均衡
  7. 怎麼實現負載均衡
  8. 數據庫掛了怎麼辦?除了熱備份還有什麼方法
  9. 講講你對spring的理解,不要把ioc和aop背給我聽

二面

  1. 自我介紹
  2. 項目介紹
  3. 算法:找出兩個數組相等的數,不能用其他數據結構
  4. 算法:給定一個數字,一個數組,找出數組中相加等於這兩個數的和,不能用數據結構
  5. 算法:如何判斷一個樹是不是另一顆樹的子樹
  6. 如何解決併發訪問的錯誤

網易

一面(現場)

  1. 自我介紹
  2. 項目介紹
  3. I++操作怎麼保證線程安全
  4. 場景題:設計一個下單系統,下單成功後可以給用戶發優惠券
  5. 接上面場景題:服務器掛了,優惠券還沒發怎麼辦
  6. 數據庫掛了怎麼怎麼辦
  7. 怎麼保證一致性
  8. 分佈式事務知道麼
  9. 介紹分佈式事務
  10. 你的職業規劃

二面

  1. 自我介紹
  2. 項目介紹
  3. Nio的原理
  4. Channel和buffer
  5. directBuffer和buffer的區別
  6. nio和aio的區別
  7. 鎖的實現原理
  8. 怎麼解決緩存和主存的一致性問題
  9. 緩存還沒更新到主存,服務器掛了怎麼辦
  10. 數據庫掛了怎麼辦

Vivo

一面

  1. 自我介紹
  2. 項目介紹
  3. Hibernate的batch有數量限制麼
  4. Jquery用過麼
  5. Extjs的優缺點
  6. 有沒有擴展過extjs
  7. 讀寫鎖
  8. 什麼時候用讀鎖
  9. 什麼時候用寫鎖
  10. Cas的原理,使用場景
  11. 數據庫的瓶頸


分享到:


相關文章: