(尊重勞動成果,轉載請註明出處: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
專欄詳細大綱如下:
如果對你有幫助,記得點贊哈,歡迎大家關注我的博客,關注公衆號(文強的技術小屋),學習更多技術知識,一起遨遊知識海洋~