工作兩年,Java社招崗位,阿里,頭條等多家大廠面經出爐

(尊重勞動成果,轉載請註明出處:https://yangwenqiang.blog.csdn.net/article/details/105317442冷血之心的博客)

前言

給大家說個誤區吧,好多同學看到了社招面經都會覺得這很簡單,完全是校招級別,甚至感覺都不如校招面試難。

其實,這是不對的。我個人總結了下校招和社招的區別:

  • 校招面試看重基礎,全方位無死角的考察各位的基礎知識點,並且一般考察XXX是什麼?XXX怎麼實現的?
  • 社招面試對於項目的考察至少佔到了一半,2面或者3面會針對項目做一個詳細的溝通與瞭解,包括整個項目的業務架構,技術架構和技術難點和卡點等;
  • 社招面試都是這麼考察的,XXX是什麼?XXX是怎麼實現的?XXX爲什麼這麼實現?也就是說同一個知識點,比校招多了爲什麼要這麼實現?
  • 校招的算法可能會比較難一點,而社招因爲看重項目和技術的深度,限於時間,所以算法考察會相對簡單一點。

爲什麼說社招面試中的XXX爲什麼這麼實現比較難?

因爲,我們在網上搜集到的資料中,絕大多數都是在介紹XXX是什麼?XXX是怎麼實現的?唯獨沒有介紹爲什麼這麼實現,甚至於面試官會問還有沒有別的實現方式?或者更好的實現方式? 這就導致同一個知識點,社招面試的難度可能會直線上升。並且我們日常也缺乏思考,喜歡背題,所以導致社招面試表現不佳。

背景

博主碩士畢業,18年3月畢業入職小米,任職Java開發工程師。在2017年參加的校園招聘中也曾拿到多家大廠的Offer。目前工作已滿兩年,於2020年3月開始開外邊的機會。這段時間進行了一些面試,拿到了阿里,頭條,美團,快手以及百度的Offer,下邊和大家進行一個面經分享。

在Boss上投遞了今日頭條的Java開發崗位,話不多說,約好時間就開始了視頻面試。

第一輪面試:一個小時45分鐘(累…)

首先是自我介紹,然後針對樓主簡歷上的項目進行了項目的瞭解於提問。然後是基礎知識提問,手撕代碼環節。下邊介紹面試官考察的知識點:

  • 對象一定分配在堆棧對象不一定分配在堆上,JIT可以實現棧上分配
  • JMM內存模型
    • 原子性,可見性,有序性如何保證
    • 工作內存與主內存
    • volatile,重排序舉例
  • synchronized和Lock的區別
  • synchronized內部實現,偏向鎖,輕量鎖,重量鎖
    • 爲什麼需要自旋?
  • HashMap,HashSet,TreeSet,ConcurrentHashMap
  • Spring事務是怎麼實現的?
  • 類加載機制?
    • 雙親委派機制
    • 自定義了一個String,那麼會加載哪個String?
  • HTTPS和HTTP區別?
    • 非對稱加密有哪些缺點?
  • XSS和CSRF攻擊
  • NIO,Linux網絡IO模型五種
  • Redis持久化
  • MySQL隔離級別,一致性視圖,undo log,redo log和binglog
  • MySQL索引結構,回表,最左前綴原則
  • 不使用第三個變量交換a和b的方式
  • 算法題目一:a+b+c=0
  • 算法題目二:鏈表倒數第N個節點

第二輪面試:一個小時15分鐘

經過了一輪面試對基礎知識點的狂轟亂炸,二面面試官主要考察對於項目的理解。涉及到的知識點如下:

  • 多個項目的技術架構,不是業務架構
    • MySQL,Redis,Nginx,Kafka這些技術架構
  • 項目技術點,學到了哪些?也要具體知識點。
  • MySQL中爲什麼是最左前綴?
  • 有沒有接觸過一些自動熔斷工具
  • 502可能的原因有哪些?
  • 線上問題怎麼排查?Full GC頻繁怎麼辦?
  • 服務的QPS,數據庫的架構和版本。
  • SpringBoot的優缺點分析
  • SpringBoot的啓動源碼分析
  • 服務的部署方式?
  • 算法題目:按照之字形分層遍歷二叉樹,要求bug free,並且構造二叉樹進行測試。

第三輪面試:45分鐘

進行了一輪面試官對我基礎知識的肯定,二輪面試官對我業務邏輯和處理問題能力的肯定。三面面試官主要考察一些開放性系統設計類型問題,涉及到的知識點如下:

  • 項目介紹,從技術點和安全方面的考慮。
  • 有研究過哪些算法?
  • CAP理論的理解
  • 如何設計實現中國象棋?
  • 如何設計一個排隊系統?
  • 平時都是怎麼學習的?最近都在關注哪些技術?爲什麼?

HRBP面試:30分鐘

HR面試主要考察了一些個人基本情況以及未來的規劃等,涉及到的問題如下:

  • 自我介紹
  • 爲什麼在看機會呢?在看什麼類型的機會呢?
  • 爲什麼看頭條的機會?
  • 你覺得頭條是一傢什麼樣的公司?
  • 朋友同事如何評價你?
  • 平時都有哪些興趣愛好呢?
  • 在原公司最享受的階段是什麼時候?爲什麼
  • 你對我們的業務方向瞭解嗎?
  • 你對我們的業務方向和技術感興趣嗎?

總結

一面主要是在考察基礎知識點的掌握,二面主要是在考察對項目的理解與掌握,三面在考察面向對象的系統設計能力。

怎麼說呢?如果找工作之前做了一個比較全面而且系統的總結與複習,我感覺面試過程還是比較順利的,當然我也是順利拿到了頭條的Offer。

這段時間還在看別家的機會,並且已經拿到了阿里,頭條,美團,快手以及百度的Offer。有時間繼續給大家更新熱騰騰的社招Java開發崗位的面經,感興趣的可以關注哈~

注意啦,注意啦~

歡迎大家關注我的牛客專欄《Java開發崗面試題全解析》

Java開發崗高頻面試題全解析,專欄預計31節,每週更新3-4篇。專欄分9個模塊來對Java崗位面試中的知識點進行解析,包括通用面試技能,Java基礎,Java進階,網絡協議,常見框架以及算法,設計模式等。專欄串點成面的解析每個面試題背後的技術原理,由淺入深,循序漸進,力爭讓大家掌握面試題目的背後的技術原理,摒棄背題模式的陋習。

點此查看:https://blog.nowcoder.net/zhuanlan/Y0xvjy

專欄詳細大綱如下:

在這裏插入圖片描述

如果對你有幫助,記得點贊哈,歡迎大家關注我的博客,關注公衆號(文強的技術小屋),學習更多技術知識,一起遨遊知識海洋~

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