五面阿里,順利拿下PHP研發崗offer,這些技術點你未必掌握了


拿到阿里實習offer,經歷了5次面試,其中4輪技術面,1輪HR面試。在這里分享一下自己的面試經驗和學習總結。希望能夠幫助更多的小伙伴。
請對找工作保持十二分的熱情,而且越早准備越好。
阿里一面
一面是在上午9點多接到支付寶的面試電話的,因為很期望能夠盡快接到阿里的電話,所以非常興奮。電話接通之后還是非常緊張的,畢竟是第一次這樣的面試。
中間面的問題有些記不清了,下面列出了一面問到的問題:

  • 自我介紹下自己,不超過3分鍾(實際上我的自我介紹不到一分鍾)
  • 你感覺比本科階段自己進步了多少,有哪些進步
  • 你覺得你適合從事哪個方向的開發
  • 如何設計存儲海量數據的存儲系統
  • 緩存的實現原理,設計緩存要注意什么
  • 操作系統的頁式存儲
  • MySQL數據庫作發布系統的存儲,一天五萬條以上的增量,預計運維三年,怎么優化?
  • 大型的論壇/新聞文章系統/SNS網站在性能優化上有什么區別?
  • php的垃圾回收機制, php變量,數組 c源代碼如何實現?
  • 你覺得自己適合哪方面的開發,為什么
  • 想去哪里實習,杭州?

反問面試官的問題:

  • 評價一下我的這次面試表現
  • 應該在我的技術棧中增加什么
  • 有機會下次面試嗎

一面總結
一面大概面了50多分鍾,從面試官口中得知他是一個老員工,比我大不了多少,總體上還是聊得蠻投機的。最后的三個問題是我問面試官的,在回答我是否還有機會下次面試的時候說:競爭很激烈,不過機會還是有的。
可以看出一面的問題不是很難,但是要得到面試官比較高的評價,還是需要一定的表達能力和對技術比較本質的認識的,如果在回答問題的時候能夠做一些適當的擴展,自然會讓面試官對你有不一樣的評價。
我回答問題的遵循一定的步驟:先回答問題本質,在回答具體細節,最后做一些平時編程中的擴展。這樣,會讓面試官覺得你確實是在這個技術上面下過功夫的。
阿里二面
等了將近6天(還以為被刷了呢)終於在第二周的周四接到阿里面試電話,那叫一個激動啊。趕緊找了一個安靜的地方,准備好后開始正式面試。二面的面試官是一個部門主管,自然還是有點小緊張的。這次面試官上來就直接問,沒有一面的面試官那么好說話。
下面是面試過程中的問題:

  • 自我介紹下自己,不超過3分鍾(我的自我介紹仍然不超過1分鍾)
  • 你說你熟悉並發編程,那么你說說Redis鎖有哪些種類,以及區別(果然深度不一樣)
  • 如何保證內存可見性
  • Http請求的過程與原理
  • TCP連接的特點
  • TCP連接如何保證安全可靠的
  • 為什么TCP連接需要三次握手,兩次不可以嗎,為什么
  • 那么你說說代理的實現原理唄
  • 看過laravel源碼沒,說說Ioc容器的加載過程吧
  • 了解過字節碼的編譯過程嗎(這個還真不知道)

反問面試官的問題:

  • 可以來杭州實習嗎
  • 評價一下我的面試表現
  • 有機會下次面試嗎
  • 您覺得我的技術棧應該補充什么,有哪些方面還需要提高

二面總結
二面面試官問的問題都比較直接,答案也是知道就知道,不知道就不知道。這些問題一部分是基礎,一部分是根據你的專業技能的來提問的。
面完后面試官對我的評價是:中規中矩,有機會下次面試。雖說是中規中矩,但聽到面試官說有機會下次面試就感覺這次面試應該過了。
雖說這次面試過了,但是我在思考的是為什么面試官對我的表現是中規中矩。后面我知道我的回答雖然答到了點子上,但是擴展程度不夠,對一些問題的理解缺乏足夠的實踐經驗。面試官告訴我,有時間可以去研究字節碼的編譯過程,以及MySQL性能調優方面的知識(特別強調這個很重要)。
針對自己的不足,面完后又投入瘋狂的看書寫代碼的生活中。雖然在面試中有一些回答不出來很正常,但是如果能夠做到出乎面試官的意料,也是面試官對你很重要的加分項。
阿里三面(總監面)
三面與二面隔了5天,找了一個安靜的地方開始電話面試。據說總監面會問項目多一點,所以在等待的這幾天中給項目增加了幾個比較肉的點。總監剛上來非常不客氣,最尷尬的是總監那邊老感覺有回聲,因為不好意思提就忍了。
下面是三面遇到的問題:

  • 自我介紹,不超過3分鍾(這次好像時間更久了,也就2分鍾多點)
  • 說一下你對哪個項目比較熟悉
  • 為什么做這個項目
  • 項目采用了什么架構,數據庫如何設計的
  • 數據庫由哪些表,為什么有這些表
  • 主要有哪些核心模塊,模塊之間如何通信的
  • 如何保存會話狀態,有哪些方式、區別如何
  • 分布式微服務如何管理,你有哪些方案
  • 學過數據結構和算法嗎(當然),你說說二分搜索的過程
  • 說一下快排的過程,寫一下偽代碼
  • 你有什么問我嗎(仍然上面三個問題)

三面總結
本以為三面是交叉面,沒想到是阿里的總監面試。由於具體的技術問題在前兩輪面試中已經問過了,所以三面后不會有具體的技術問題,總結來看,對自己做過的項目一定要深入,包括使用使用到的技術原理、為什么要使用這些技術。
針對項目,面試官關注的無非以下幾點:

  • 項目中某個比較重要的點是如何實現的(需要深入技術的原理)
  • 遇到的最大困難是什么(有哪些),你怎么解決的?
  • 如果需要擴展某個功能,如何降低系統的耦合度
  • 如果針對某個功能進行優化,你會怎么設計和優化

對於寫在簡歷上面的項目,自己對照上面四個問題進行思考,才會在面試中游刃有余。因為任何在簡歷中作假的行為,面試官只要詳細問你就露餡了。在聽到面試官說有機會下次面試的時候,心中自然是非常高興的。
阿里四面(總監)
果然,在第二天下午四點多接到了部門總監的電話,簡單溝通后開始了面試。這次面試感覺是最放松的,沒有什么高深的技術問題,感覺就像和朋友聊天的感覺,真的很感謝這位面試官。
下面是面試中的問到的問題:

  • 來個自我介紹唄,不超過3分鍾
  • 介紹下你最熟悉的項目
  • 項目使用了什么架構,亮點是什么
  • 平時主要學習什么課程
  • 你目前的研究方向是什么
  • 家是哪的
  • 喜歡看什么書
  • 大概什么時候能來實習呢

四面總結
雖然這面比較輕松,也沒有什么具體的技術問題,但對項目仍然是面試官關注的,后面了解到總監面除了看你的基礎,主要看你的潛力(就是有沒有培養的價值),這個東西看起來挺虛的,但是從你平時的學習中仍然是可以看得出來的。所以,作為一名開發人員,平時對技術的研究也是很重要的。在聽到面試官說讓我好好等HR通知的時候可開心了,感覺飯都吃得更香了。
阿里五面(HR面)
在隔了4天左右,終於接到了HR的電話,那叫一個激動啊。感覺離阿里offer已經不遠了,於是振奮精神,聊得還不錯。
下面是HR問我的問題:

  • 自我介紹下吧
  • 做了哪些項目
  • 看你在問題中說你在杭州看到很多商販使用付款二維碼,你對支付寶怎么看
  • 每天有那么多人使用支付寶,這些數據如果給你存儲,你會怎么設計呢(不是說HR不問技術問題嗎?不愧是阿里的HR)
  • 為什么想來支付寶實習呢
  • 你身邊同學如何評價你、老師呢
  • 如果與同事發生了意見的不一致,你會如何解決呢

關於HR面試 
其實早就聽說HR面試的最終的錄取結果具有一票否決權,在面完前面的技術面試之后,還是很擔心的。所以咨詢了師兄以及網上找了阿里HR面試的資料,大概得到以下結論:

  • 誠信至上,所以在簡歷中不要存在任何虛假信息,企圖通過虛假信息得到面試機會的后果得不償失
  • HR更關注你的表達能力、與同事相處的能力以及對工作的態度
  • 對自己的是否一個明確的職業規划(前提是首先得對自己有一個清晰的定位)
  • 關於待遇的問題(由於面的實習崗位,所以這個沒有提,但是就我而言,能力才是最重要的,能力上來了待遇自然就水漲船高)

關於面試的心態 
在自己拿到阿里offer之前,一直都在想一個問題:我到底該如何做才能離阿里更近?一年的成長與思考讓我認清了這點,雖然中間也遇到過很多坑,但卻真正讓我對自己有了一個清晰的定位,也有了比較明確的目標。
正因為如此,我每天所學習的都給我莫大的動力,讓我不斷進步,並最終實現自己的目標。所以迷茫才是最可怕的,只有擺正心態,對找工作保持十二分的熱情,勤奮努力,才能離目標更近一步。
但是有了目標和努力外,不一定就能實現目標,說到底還有一個運氣的成分在里面,只能說你找到心儀的工作概率更大而已。遇到一個好的面試官絕對賺了。這四位阿里的面試官我感覺都挺好的,沒有因為他們資歷深就為難我,所以還是非常感謝這四位技術面試官的。

總結
由於本科是非科班出身,也僅僅是接觸過PHP而已,在大三的時候對自己的未來的發展道路很迷茫,不知道何去何從,感覺自己就是一個loser。那會畢業后有幸進入了金蝶實習,也就是那段時間讓我認清了自己的短板,自己欠缺的是什么,那段時間也是我確立自己目標的過程。
讀研后瘋狂看書、寫代碼、寫博客、做項目,每天都在對自己進行總結和反思,正是這樣一個不斷的自我反思與努力的過程中,我得到了真正的成長與進步。也是這段經歷讓我能夠面對阿里技術面試官的提問應答自如,從而順利拿到阿里的offer。


讀者福利:

一份阿里p8架構師分享的架構師學習思維路線:
互聯網科技:

平台與圖片大小限制,需獲取以下PHP思維導圖完整Xmind版可以私信小編【導圖】獲取領取方式!

一、框架源碼解析專題

  • thinkphp6.0源碼解析
  • laravel5.7源碼解析
  • Symfony4.0源碼解析

設計模式

  • 設計原則
  • 創建型模式
  • 原型模式
  • 裝飾器模式
  • 設計模式對比及應用場景

二、性能調優專題

  • mysql優化
  • redis高級
  • PHP程序性能優化
  • 算法與數據結果
  • Nginx調優實戰

Mysql性能調優

  • Mysql底層Btree機制講解
  • Mysql 執行計划深入講解
  • Mysql鎖機制與事務隔離級別詳解
  • 慢查詢Sql調優實戰
  • MySQL索引優化詳解
  • MySQL分庫分表

Nginx調優

  • Nginx快速掌握
  • 熟練掌握Nginx核心配置
  • 掌握Nginx負載算法配置

PHP程序性能優化

  • PHP內核探索
  • 深入對象內存優化
  • 類的設計陷進

三、微服務系列專題

  • swoft微服務框架
  • swoole源碼剖析
  • API接口平台源碼剖析
  • Tars分布式RPC框架
  • Docker容器

四、分布式框架專題

分布式架構原理

  • 初始分布式
  • 分布式架構設計原則
  • 分布式通信協議

分布式緩存

  • Redis主從復制講解
  • Redis分布式集群部署
  • Redis讀寫分離實戰
  • Redis哨兵機制

分布式RPC、消息中間件

  • 多協議的RPC框架
  • 多協議通信
  • Kafka消息處理原理剖析
  • Rabbitmq消息分發原理

五、項目實戰專題

億級雲平台

    • 雲平台項目架構設計及核心技術點整理介紹
    • 基於swoft微服務架構拆分
    • 雲平台技術解決方案


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM