記阿里巴巴的一次面試,教你怎樣應對到來的“金三銀四”!
在網上看到阿里在招人,便投了一份簡歷,應聘職位是高階測試開發,因為我學歷是大專,投完後當時沒報什麼希望,也沒放心上。首先結果是華麗麗的沒通過,下面是詳細過程。

u=746332853,2602284792&fm=26&gp=0.jpg
一天下午正在工作,突然接到電話,說是阿里,要做一下電話面試,真的是沒有一點點防備,因為好久沒有面試了,當時讓我做自我介紹,腦袋嗡的一下不知道怎麼說,短暫的空白了5秒鐘,趕緊開始說過往經驗,說完之後,開始讓我先介紹下目前公司做的什麼產品,把業務講一下,講完之後問了我一些她沒聽明白有疑問的地方,我一一做了解答,然後開始問技術上的問題。
先問我是公司是怎麼做效能測試,怎麼設計壓力場景,關注的指標是什麼,系統的qps是多少之類的等。
然後問我web自動化方面的,框架如何設計,為什麼要用testng,為什麼要用reportng,設計的框架有什麼優點,自動截圖是怎麼實現的等
介面自動化簡單問了一些,沒有問的特別細,就是怎麼做的,用的什麼協議等
平時怎麼管理專案的,除了專案管理的工作外,還做哪些工作
怎麼做整合的
…………
時間有點長了,忘了別的內容,電面過程持續了40分鐘,結束後,對自己的表現很不滿意,因為有點突然,加上小緊張,回答的時候,邏輯有點混亂,前言不搭後語的,最後說讓我等通知,我當時覺得肯定沒下文了,過了一週多,沒想到又給我打電話,通知讓我參加面試,當時個激動啊,趕緊準備複習了下基礎理論知識。
面試篇
一面
當天早早的來到了國家廣告產業園,跟保安說了自己的來訪ID後,給了我一個標籤,便進了大樓,保安很有禮貌給我說了怎麼走,到達前臺後,讓我做休息區坐著等會,環顧了下環境,還不錯,一面牆上貼的全是阿里的產品,支付寶、淘寶、天貓等等,一面牆是新人報道的簽名,等了一會,過來一個面試官,叫了我的名字後,邊跟他去了一間面試屋子,開始了一面。
先做自我介紹
介紹公司業務,技術架構,為什麼要用zookeeper,為什麼要用rpc等,服務怎麼部署等,優缺點是什麼等,問的很細。便籤A
效能方面,先問我公司產品線上有多少人用,然後問題由易到難,由於我不是專業做效能的,到後面難度大的不會後,便跟面試官表明對我效能的瞭解還是比較low的,不是專業的
讓我介紹介面自動化的實現,把框架設計給他說了一下,問我測試資料都在哪存放,我說在exel,然後問如果一個介面的測試資料需要別的介面提供怎麼辦,我當時回答可以先呼叫提供測試資料的介面,把響應結果中用到的測試資料存在變數或本地檔案中都可以。
用例設計,給我出了一個淘寶登陸頁面,讓我作為產品經理或者測試人員的角度設計用例,我分別從介面,易用性,功能性、相容性、安全性、容錯性、效能、配置方面做了用例設計,面試官看完後,問我登陸的時候要不要加驗證碼,什麼情況下需要驗證碼,我答了3中情況:使用者密碼輸入次數達到一定限制時、使用者在不常用地區登陸時、使用者頻繁的登入、退出操作
程式設計題,現場出了一個兩個字串,String s1 = "abcdefg",String s2="defgabc"。這兩個字串有一定的規律,讓我寫方法,判斷傳入的兩個字串是否滿足這樣的規律。我當時的思路是:
拿char c = s2.charAt(0)得到第一個字元
得到s1中c的位置,int start = s1.indexOf(c)
從s1得到一個新串,為s1temp = s1.subString(start,s1.length())
檢視s2是否包含s1的新串s1temp,如果包含s2.contains(s1temp),則往下走
拿到s1的前面3個字元的串,s1top3 = s1.subString(0,start)
拿到s2的後面3個字元的串,s2end3 = s2.subString(s1temp.length(),s2.length(0)
最後是s1top3.equals(s2end3)
寫完後問我怎麼測試我寫的對不對,我說輸入符合規律的兩個字串,檢視返回至,然後再輸入不符合規律的兩個字串,檢視返回值。然後他問如果s1 = “defabcdefg”,s2=“defgabc”,我寫的是否能滿足,當時腦袋開始小混亂了,想了下,說可以加個for迴圈,依次遍歷。程式設計題勉強過關。
架構部署,說他們系統需要好幾百臺伺服器,用到的服務更是上千個,怎麼理清這些服務,各個系統的呼叫,測試方案等,這個問題我答的很不好,因為平時做的專案都沒這麼大,沒有接觸過這樣的,想不到好的答案。便籤B
…………其他的忘了
問我有什麼問題,我問了下阿里的測試流程,然後他說完後,開始說我不是很匹配他們的要求,當時我一聽不太匹配,很是失望,畢竟很重視這次面試,也很希望來到阿里工作,不匹配的原因可能是我在技術架構這方面瞭解的還不夠深入,即前面的標籤A,B,聽完後,我給面試官表達了一下我的想法,還帶了我的自動化測試的演示作品,他看了後有點意外,說之前沒有一個人讓我看過這個,然後說我這關讓你過了吧,但是後面老大的面試不確定你能不能過,你去試試吧,然後給他們老大打了個電話,讓我去XXX面試。
一面面試官,不僅技術全面,並且人非常好,在去二面的路上,給我說他們老大會問什麼問題,比較關注哪方面,要我注意什麼,答什麼比較好,問我要不要喝水,上廁所之類的,把我帶到面試地點後,就離開了,當時有點遺憾沒有要一面面試官的聯絡方式,不管結果怎麼樣,交個朋友也好。
二面
到達二面地點後,面試官正在面試開發,我坐在不遠處等待,聽到面試物件是一個十年開發經驗的人,感覺那哥們答的很不錯,很機智,繞過了一些坑,過了一會,面試官過來開始面我。
沒有讓我做自我介紹,看了會我的簡歷
問我每個公司的測試人員多少,開發人員多少
問我每個公司的離職原因,答得不太好(說實話,我不喜歡面試官問這個)
沒了,…………真的沒了,問完就說到這吧,便送我出來了。
總結篇
出大樓後,我知道我的阿里征程結束了,仰天長嘆,很鬱悶。一面對自己的表滿意度80%,卡的問題不是很多,二面有點不知所然,個人感覺應該是二面面試官對我簡歷的學歷、公司經歷、離職原因都不是很滿意。
感覺在技術上,自己掌握的還基本能滿足,但是缺少大公司、大專案的經驗,有些東西沒有經歷過,不知道該怎麼回答,也缺少對技術架構的深入瞭解。
警醒篇
應加強技術架構的瞭解,雖然不屬於測試範疇,但是可以表現出對所測系統的深入瞭解。
都說環境圈子很重要,BAT的員工跳槽大多都在BAT之間跳,而小公司的員工大多都在小公司之間跳,排除特別優秀的大牛外。同樣能力的情況下,起點往往決定了終點。
自己之前所呆的公司、所做的專案、所用的技術,都比較的low。建議其他面試者去BAT面試的話,前面的三項至少要佔一項。畢竟BAT是靠實力說話的。
最後
針對於上面的面試題我總結出了網際網路公司java程式設計師面試涉及到的絕大部分面試題及答案做成了文件和架構視訊資料免費分享給大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分散式、高併發等架構技術資料),希望能幫助到您面試前的複習且找到一個好的工作,也節省大家在網上搜索資料的時間來學習,也可以關注我一下以後會有更多幹貨分享。
資料領取方式:加QQ群836442475,進群既領取資料!
點選連結加入群聊【架構華山論劍】: https://jq.qq.com/?_wv=1027&k=5oPNEDy