提前交流
我是找的學長內推的,剛開始有一次交流,也不知道算不算一面,主要問了下面的東西:
說一下 cas,主要應用在哪說一下 Java 中的鎖,自旋鎖會升級成什麼?項目中的限流是怎麼做的說一下 Java 是如何加載一個類的?什麼是雙親委派模式?TCP 滑動窗口瞭解嗎?用的是什麼數據庫?說一下 mysql 的的事務隔離InnoDB/MYINSAM 的區別和應用場景介紹下 MYSQL 的索引進程和線程的定義進程調度算法有哪些?說一下你對線程池的理解
螞蟻金服一面
然後就是正式的一面了,一面比較細緻,上來先做了一道算法題,題目很簡單,劍指 offer 裡的原題,順時針打印矩陣,還有道多線程編程題,大致意思就是提供一個多線程的工具類,打印數組。
下面是問題的記錄:
自我介紹、說一下最近在做什麼事?可以跟我介紹下卷積神經網絡嗎?(簡歷裡有寫到一個項目用到了CNN)
總的來說這一次的面試體驗不是很好,問的東西比較多,而且面試官真的把我的簡歷挖得很深,面試官很 nice,一直都在和我探討這些問題,氣氛也不是很緊張,之後幾天就迎來了二面。
螞蟻金服二面
不知道為什麼,總覺得二面問的問題和一面比起來側重點是平常學習生活中的,而不是基礎知識了。
螞蟻金服三面
到了三面,基礎知識問的不如前面幾輪了,更多的是項目經驗方面的東西,說實話這裡也是我欠缺的地方,面試的問題如下:
介紹一下項目項目是否覆盤,如果說用戶量/數據量/訪問量非常大之後,你瞭解到的可以做哪些改造?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知識集結在一起深入的解析出來(非常建議大夥看一看)
2019年一線互聯網企業350道面試答案整理
大廠的面試場景
1、面試文檔專題整理
既然是要面試,那麼就少不了刷題,實際上春節回家後,哪兒也去不了,我自己是刷了不少面試題的,所以在面試過程中才能夠做到心中有數,基本上會清楚面試過程中會問到哪些知識點,高頻題又有哪些,所以刷題是面試前期準備過程中非常重要的一點。
根據自身面試經歷整理以及不斷收集的(珍藏版)
相關的電子書、底層源碼
阿里巴巴必備學習知識點
最後
很多人感嘆“學而無用”,實際上之所以產生無用論,是因為自己想要的與自己所學的匹配不上,這也就意味著自己學得遠遠不夠。無論是學習還是工作,都應該有主動性,所以如果擁有大廠夢,那麼就要自己努力去實現它。
以上學習資料均免費放送,最後祝願各位身體健康,順利拿到心儀的offer!
資料獲取方式:轉發和評論這篇文章,然後關注小編,後臺私信【面試】即可打包帶走所有資料~