首次遠程面試餘額寶團隊,4面以為沒戲了,真沒想到收到錄取通知

進入主題之前,開篇先閒談幾句,我是直接投的簡歷,以為沒戲了,這次的面試來得意外,所以心裡上是沒有準備的,這次肺炎對我們的學習、工作和生活都造成了非常大的影響,很多學校延期開學,企業也延期返工,實際上在閉關的這段時間裡,我們正好可以好好利用這段時間,為自己之後想要做得事情充分做好準備,也希望肺炎趕快過去,我們的生活恢復正常。

當前環境,很多公司都採取了遠程辦公,遠程面試。我想這次疫情很多也是初次視頻面試吧,有一說一,我也是第一次遠程面試,當時還是比較緊張的。

首次遠程面試餘額寶團隊,4面以為沒戲了,真沒想到收到錄取通知

餘額寶一面:(遠程視頻一面)

  • 自我介紹一下
  • JVM 內存分哪幾個區,每個區的作用是什麼?JVM有哪些回收算法,對應的收集器有哪些?
  • GC 的兩種判定方法 ?CMS 收集器與 G1 收集器的特點。
  • hashmap源碼問題
  • HashMap、HashMap如何保證線程安全、ConcurrentHashMap
  • HashMap底層結構 put操作講一下
  • GC 的兩種判定方法 ?CMS 收集器與 G1 收集器的特點。
  • java線程同步都有哪幾種方式,在 Java 中 CycliBarriar 和 CountdownLatch 有什麼區別?
  • cas的原理,變量要用哪個關鍵字修飾,volatile實現的原理。
  • 你在多線程環境中遇到的常見的問題是什麼?你是怎麼解決它的?
  • MYSQL 數據庫服務器性能分析的方法命令有哪些?
  • 什麼是通用 SQL 函數?
  • 手撕代碼:按層次遍歷二叉樹?
  • Java 配置的方式配置 Spring
  • spring中用到了什麼, 簡述 AOP 和 IOC 概念,aop是怎麼實現的?

餘額寶二面(遠程視頻二面)

  • 自我介紹&項目
  • 項目用 Spring 比較多,有沒有了解 Spring 的原理?AOP 和 IOC 的原理
  • 分佈式鎖原理
  • CAS 算法,CAS 與 synchronized 的使用情景
  • 簡潔描述 Mysql 中 InnoDB 支持的四種事務隔離級別名稱,以及逐級之間的區別?
  • 分別解決什麼問題?
  • dubbo有哪些模塊,底層通信的原理?Dubbo 集群的負載均衡有哪些策略? 
  • 如果讓你實現一個https,你會怎麼實現?
  • 常用的負載均衡,該怎麼用,你能說下嗎?
  • 常見的分佈式事務方案有哪些?
  • Dubbo 的核心功能?如何從0到1設計一個類似Dubbo的RPC框架?


餘額寶三面(遠程視頻三面)

  • 再談談一致hash算法(redis)?
  • 數據庫索引,B+樹的特性和建樹過程。
  • mysql相關的行鎖,表鎖;樂觀鎖,悲觀鎖
  • 分佈式鎖的方案,redis和zookeeper哪個個好,如果是集群部署,高併發情況下哪個性能更好。
  • activeMQ 發送消息的方式有哪些?activeMQ 如何調優
  • 設計模式與重構,談談你對重構的理解
  • Collections.sort底層排序方式
  • 說說 Redis 哈希槽的概念?Redis 集群如何選擇數據庫?
  • spring cloud的服務註冊與發現是怎麼設計的?


餘額寶四面(遠程視頻四面)

  • 自己參與的項目,技術難度高的有哪些?
  • 線上有實際的性能優化經驗?
  • 從SQL、JVM、架構、數據庫四個方面講講優化思路,以及如何優先排序?
  • redis的持久化方式,redis3.0原生集群和redis讀寫分離+哨兵機制區別
  • Redis 的 list zset 的底層實現
  • 如果讓你實現一個mq,怎麼樣保證消息不丟失
  • 你熟悉哪些中間件,談談你對他們的理解,以及對應的使用場景區別?
  • 最後,你有什麼想問我的?


遠程面試後,我總結了下,問的都不算很難,雖然不是很順暢,但問題也都一一回答上了,就是通過視頻的形式來面試,總感覺有種說不出的感覺。本以為已經涼涼了,誰知道幾天後竟然收到通知,竟然過了!心情也是有點無法平靜

當然,大廠的面試,是一個系統規範化的流程,除了Spring、Redis、MQ這些必備品外,每一個簡歷都會有一句你Java基礎紮實(有沒有被說中),那麼,到底怎麼樣算Java基礎紮實?

1、集合,例如 List、Map的原理,HashMap基本必問這個不用我多說

2、併發,例如線程、線程池,鎖相關,這些也基本必問

3、JVM,例如垃圾回收器,垃圾回收算法,OOM處理,jvm參數及調優


那麼專業技能怎麼寫?

先問一下你自己會什麼,然後看看你意向的公司需要什麼。我說的是一般HR可能並不太懂技術,(當然內部人員來面試就不一樣了)所以他在篩簡歷的時候可能就盯著你專業技能的關鍵詞來看。對於公司有要求而你不會的技能,你可以提前花幾天時間學習一下,然後在簡歷上可以寫上自己瞭解這個技能。比如你可以這樣寫(下面這部分內容摘自我的簡歷,大家可以根據自己的情況做一些修改和完善):

  • 計算機網絡、數據結構、算法、操作系統等課內基礎知識:掌握
  • Java 基礎知識:掌握
  • JVM 虛擬機(Java內存區域、虛擬機垃圾算法、虛擬垃圾收集器、JVM內存管理):掌握
  • 高併發、高可用、高性能系統開發:掌握
  • Struts2、Spring、Hibernate、Ajax、Mybatis、Redis、JQuery :掌握
  • SSH 整合、SSM 整合、 SOA 架構:掌握
  • Dubbo: 掌握
  • Zookeeper: 掌握
  • 常見消息隊列: 掌握
  • Linux:掌握
  • MySQL常見優化手段:掌握
  • Spring Boot +Spring Cloud +Docker:瞭解
  • Hadoop 生態相關技術中的 HDFS、Storm、MapReduce、Hive、Hbase :瞭解
  • Python 基礎、一些常見第三方庫比如OpenCV、wxpy、wordcloud、matplotlib:熟悉

上面說的這些,是面試基本的標配了。

首先來說下對於簡歷的準備。MQ、Redis這兩個是標配沒跑的了。為啥?你要突出你的核心競爭力,無非圍繞高併發、高可用、海量數據這幾個點出發。

其次,核心競爭力也體現在分佈式解決方案的真實落地實踐,但是這些分佈式解決方案,也很大程度上依賴 Redis和 MQ。

以下主要分享面經和個人學習方法,會包括很多PDF文檔,如面試題庫(含答案+解析)、學習筆記、實戰文檔和腦圖等等,個人可以免費分享,關注+私信我【面試】即可領取~

由於文章的篇幅有限,所以把這次的面試題答案整理在了PDF文檔裡

首次遠程面試餘額寶團隊,4面以為沒戲了,真沒想到收到錄取通知

如果簡歷上只是做的項目不同,但是實質都是簡單的CRUD,那麼沒面試之前,已經給淘汰得差不多了

通過數十家面試的觀察,對於Redis和MQ,考察的方向,其實也是有跡可循的。首先他們的高可用是怎麼保證的,原理是怎麼樣的,幾乎必問(不信你可以自己觀察)。當然還會根據你的回答往下繼續拓展問題,每個人回答得不一樣,自然拓展的問題也不一樣。


  • Java核心知識整理
首次遠程面試餘額寶團隊,4面以為沒戲了,真沒想到收到錄取通知

  • Java面試彙總整理
首次遠程面試餘額寶團隊,4面以為沒戲了,真沒想到收到錄取通知


Spring系列(實戰)

首次遠程面試餘額寶團隊,4面以為沒戲了,真沒想到收到錄取通知

性能優化(JVM+Tomcat+MySQL)答案解析整理
分佈式(限流+緩存+通訊)答案解析整理:

首次遠程面試餘額寶團隊,4面以為沒戲了,真沒想到收到錄取通知

首次遠程面試餘額寶團隊,4面以為沒戲了,真沒想到收到錄取通知

提示自身的軟實力(知識和技術)

第二個關鍵就要自己的自身實力過硬了,無論是你應屆生,還是工作好幾年,無論是校招還是社招,企業招聘的永遠是自身實力過硬的,也就是你的知識儲備,你的技術水平要達到要求,而提升自身軟實力的唯一辦法就是:不斷學習。

以下分享一些我個人的學習文檔,有需要的朋友自行選擇獲取:

首次遠程面試餘額寶團隊,4面以為沒戲了,真沒想到收到錄取通知


刷題:

既然是要面試,那麼就少不了刷題,實際上春節回家後,哪兒也去不了,我自己是刷了不少面試題的,所以在面試過程中才能夠做到心中有數,基本上會清楚面試過程中會問到哪些知識點,高頻題又有哪些,所以刷題是面試前期準備過程中非常重要的一點。


首次遠程面試餘額寶團隊,4面以為沒戲了,真沒想到收到錄取通知

感言

很多人感嘆“學習無用”,實際上之所以產生無用論,是因為自己想要的與自己所學的匹配不上,這也就意味著自己學得遠遠不夠。無論是學習還是工作,都應該有主動性,所以如果擁有大廠夢,那麼就要自己努力去實現它。


分享到:


相關文章: