學長內推,5面螞蟻金服,3輪技術面+1交叉面+1HR面,期待offer

學長內推,5面螞蟻金服,3輪技術面+1交叉面+1HR面,期待offer

提前交流

我是找的學長內推的,剛開始有一次交流,也不知道算不算一面,主要問了下面的東西:

  • 說一下 cas,主要應用在哪
  • 說一下 Java 中的鎖,自旋鎖會升級成什麼?
  • 項目中的限流是怎麼做的
  • 說一下 Java 是如何加載一個類的?
  • 什麼是雙親委派模式?
  • TCP 滑動窗口瞭解嗎?
  • 用的是什麼數據庫?說一下 mysql 的的事務隔離
  • InnoDB/MYINSAM 的區別和應用場景
  • 介紹下 MYSQL 的索引
  • 進程和線程的定義
  • 進程調度算法有哪些?
  • 說一下你對線程池的理解
  • 用過什麼模式(除了 JDK 以外。自己實現的 /除了單例模式外)
  • 單例模式為什麼要有兩個 null 判斷,一個不可以嗎?
  • 排序(歸併排序 /堆排序/快排)
  • 說一下你對 Spring 的理解,AOP 的原理是什麼?
  • 有什麼想問面試官的

螞蟻金服一面

然後就是正式的一面了,一面比較細緻,上來先做了一道算法題,題目很簡單,劍指 offer 裡的原題,順時針打印矩陣,還有道多線程編程題,大致意思就是提供一個多線程的工具類,打印數組。

下面是問題的記錄:

  • 自我介紹、說一下最近在做什麼事?
  • 可以跟我介紹下卷積神經網絡嗎?(簡歷裡有寫到一個項目用到了CNN)
  • 可以說一下邏輯迴歸是什麼嗎?
  • 你覺得反向傳播和動態規劃之間有什麼樣的聯繫嗎?
  • 計算機是怎麼做加法的?那如何用加法代替減法?
  • 使用過 Linux 嗎?可以說下常用的 Linux 命令嗎?
  • 用什麼命令可以查詢文本中的文字?用什麼命令可以查詢磁盤存儲的容量?
  • Vim 使用過嗎?可以說下有哪些快捷鍵嗎?
  • 在區塊鏈的世界中,那些數據怎麼樣會變得有效?(廣播機制、共識機制)
  • 類比打電話,兩個系統的通信我們可以採用哪些方式?(我說了 http)
  • 說一下 HTTP 和 HTTPS 的區別
  • HTTPS 中用了什麼加密方式,在什麼階段體現的?
  • 分佈式的 CAP 理論瞭解過嗎?
  • 你瞭解的一些集群有哪些選舉方式?
  • 最近有看什麼書嗎?
  • HashMap 為什麼線程不安全?是否模擬過不安全的場景?
  • 說一下 Java 的值傳遞和引用傳遞
  • SpringBoot 和 SpringMVC 的區別
  • 說一下 Spring 中 bean 的加載過程
  • JVM 的垃圾回收器瞭解嗎?垃圾回收算法有哪些?JDK8 默認的垃圾回收器是什麼?
  • 有什麼想跟我溝通的嗎?

總的來說這一次的面試體驗不是很好,問的東西比較多,而且面試官真的把我的簡歷挖得很深,面試官很 nice,一直都在和我探討這些問題,氣氛也不是很緊張,之後幾天就迎來了二面。

螞蟻金服二面

不知道為什麼,總覺得二面問的問題和一面比起來側重點是平常學習生活中的,而不是基礎知識了。

  • 自我介紹
  • 自己做的 app 上線了嗎?是自己做的嗎?簡單說一下
  • 學校的課程中你覺得哪一門學的最好?(都差不多)
  • 你學習了挺久的 Java,對於這門語言有什麼認識?或者和其他編程語言比起來有什麼不一樣的地方?
  • 那你在學習的過程中有什麼事情會讓你堅持做下去?
  • 開發這個 app 的動力是什麼?
  • 有參加過什麼學科競賽嗎?
  • 數據結構你覺得你學的怎麼樣?做一道編程題(用數組模擬一個棧)
  • 智力題:你僱傭一個工人,他每天工作應該獲得一份金條,你有一根金條可以分成 7 份,但你只能對你的金條切 2 刀,請問怎麼保證你的工人每天都得到一份金條?
  • 你有什麼想問我的?

螞蟻金服三面

到了三面,基礎知識問的不如前面幾輪了,更多的是項目經驗方面的東西,說實話這裡也是我欠缺的地方,面試的問題如下:

  • 介紹一下項目
  • 項目是否覆盤,如果說用戶量/數據量/訪問量非常大之後,你瞭解到的可以做哪些改造?
  • SpringBoot 有深入瞭解嗎?和 Spring Cloud 有什麼差別嗎?
  • SpringBoot 核心框架包含什麼?SpringCloud 一套微服務的框架中間有什麼部分你是比較熟悉的,詳細介紹一下。
  • SpringBoot 容器啟動的大致流程(這個不會)
  • SpringCloud 在 SpringBoot 的基礎上擴展了什麼?(我提到了註冊中心,作用是什麼說了下)
  • 多線程,幾種線程的創建方式(thread、runnable、callable),使用的時候有什麼場景約束(在什麼場景下使用什麼方式)
  • 多線程情況下臨界區的資源保護有哪些方式?(比如鎖)
  • 場景編程題(這裡我卡了很久) 不考慮高併發/分佈式/集群/網絡調用等問題,不依賴消息隊列/緩存這些東西。希望你可以提供一個醫院類,這個類有一個核心的方法給外部調用,這個方法實現如下功能:5 個醫生,每個醫生可以掛 10 個號,然後醫院有 10 個窗口,也就意味著同時只能有 10 個病人掛號,那第 11 個人要掛號的話就不能立刻拿到號,得前面的用戶掛完號才可以掛號,病人掛號的時候,醫院給病人返回的結果是:1. 如果當前有空餘號可用,就取最前的號;2. 如果沒有號,就給調用的病人返回沒有號的錯誤。注意:如果有號的話是不能允許返回給病人說沒號,如何設計這個類以及這個類中的方法。(附加:如果在分配號的時候偶然出現時間抖動,你該怎麼解決)

這一面說實話是我最沒有把握的一輪面試,因為自己對於微服務這塊確實沒有實際操練過,經驗很少,源碼看的也不多,而且那個場景編程題答的也不是很好,沒有很細緻的說該怎麼實現。

螞蟻金服交叉面

三面結束,慌張了幾天之後迎來了交叉面,可能我運氣比較好吧,簡單問了我一些問題就結束了,沒有太刁難我:

  • 你可以講一下做的最有成就感的項目嗎?
  • 這個項目是如何變現,如何帶來價值?
  • 是如何吸引用戶的?怎麼獲取用戶增長的數據?
  • 那如果重新接手這個項目有什麼想法嗎?
  • 之後對自己有什麼規劃嗎?
  • 你對手淘有什麼樣的認知?(產品很優秀,團隊的技術能力也很強)
  • 還有什麼要問的?

螞蟻金服hr面

隔了兩天接到了hr的電話,前面幾輪面試都拖了挺久的,hr這裡反倒比較快了,問的問題也很正常:

  • 有沒有幫助他人的案例可以分享一下的嗎?
  • 你是怎麼規劃你未來的職業方向的呢?
  • 對於以下案例,你有什麼想法?
  • 商家在我們這進貨,為了加快貨物的流通,會有賒賬,在這個過程中,用戶增長非常快,然後需要做一個系統,在這個系統上線的前一週,運營過來說,我們需要加一個子功能,你作為技術,是選擇將原版本上線之後再升級,還是說把新系統的功能全部做完了再上線?(我選的第一個)那按照第一個方法做了,系統也上線了,後期升級的時候你本以為2個星期就可以升級完成,但是你突然發現你可能搞不定,數據上出現了一些問題,產品經理此時也在國外,沒辦法及時溝通,作為一個技術人員你會怎麼辦?
  • 大概什麼時候可以實習?實習地點?

總結

在面試期間我也看了很多其他人的面經,對比一下發現自己遇到的面試題難度上比他們要小一些,可能是因為自己也沒做過什麼太複雜的項目,所以也沒深入問了。不過阿里的面試官人很nice,面試的過程也不是單向的詢問與回答,對一些問題也會進行探討。總的來說,除了進度比較慢(將近1個月),其他方面的體驗還是很不錯,希望可以收到暑期實習的offer。

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

一本Java核心面試知識寶典把每個知識點解析的很深,對大家應該很有幫助,它把大部分的Java知識集結在一起深入的解析出來(非常建議大夥看一看)

學長內推,5面螞蟻金服,3輪技術面+1交叉面+1HR面,期待offer

2019年一線互聯網企業350道面試答案整理

  1. 性能優化面試專欄
  2. 微服務架構面試專欄
  3. 併發編程高級面試專欄
  4. 開源框架面試題專欄
  5. 分佈式面試專欄
學長內推,5面螞蟻金服,3輪技術面+1交叉面+1HR面,期待offer

大廠的面試場景

學長內推,5面螞蟻金服,3輪技術面+1交叉面+1HR面,期待offer

1、面試文檔專題整理

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

根據自身面試經歷整理以及不斷收集的(珍藏版)

學長內推,5面螞蟻金服,3輪技術面+1交叉面+1HR面,期待offer

相關的電子書、底層源碼

學長內推,5面螞蟻金服,3輪技術面+1交叉面+1HR面,期待offer

阿里巴巴必備學習知識點

學長內推,5面螞蟻金服,3輪技術面+1交叉面+1HR面,期待offer

最後

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

以上學習資料均免費放送,最後祝願各位身體健康,順利拿到心儀的offer!

資料獲取方式:轉發和評論這篇文章,然後關注小編,後臺私信【面試】即可打包帶走所有資料~


分享到:


相關文章: