1. 程式人生 > >阿裏巴巴2018秋招面經之前端崗(1~5面)

阿裏巴巴2018秋招面經之前端崗(1~5面)

區別 為什麽 是個 ots 印象 未來 對比 有一個 strong

作者:faremax
鏈接:https://www.nowcoder.com/discuss/35805
來源:牛客網

五面都面完了,結果還沒有出來,今早給大家貢獻幹貨吧。我沒寫問題的答案,有什麽問題可以留言區問我。

內推是在牛客上找到的,所以一定要給牛油們一份回報,樓主還算是個小白,有什麽不足歡迎指點:

一面 電話面(1小時)

電話面問題不多,但是十分考驗對相關知識熟悉程度,面試官是 P7(不理解這個就去百度吧)

  1. 以前做過什麽項目?使用了什麽技術?(balabala...)
  2. 繼續上一個問題,為什麽使用 gulp 不用 webpack?
  3. 你都使用過哪些框架?(就說熟練XXX框架,用過了解XXX框架)
  4. 繼續上一個問題 zepto 和 jquery 是什麽關系,有什麽聯系麽?
  5. 有沒有看過框架的源碼?(沒看完一個框架完整的源碼還敢出來混?我只看過 jquery)
  6. 繼續上一個問題,jquery 源碼中你對哪個部分印象最深,講一講?(我就說了構造函數返回原型鏈中的 this)
  7. 最近在實習是嗎,實習了多久,在哪實習,實習的工作是什麽?
  8. 實習過程中能不能完成公司給你的工作?工作量如何?
  9. 實習過程中遇到什麽難題,是怎麽解決的?
  10. 函數了解嗎?閉包是什麽?為什麽要用閉包?commonJS 知道不,define 時用閉包做了什麽?
  11. 對象熟悉嗎?一般考你對象的話具體會考什麽?(居然還可以這麽提問)
  12. 繼續上一個問題,你知道原型鏈是幹啥的麽,為什麽要有原型鏈?
  13. 熟悉 this 嗎?js 中的 this 和 c++/java 中的 this 有什麽區別?
  14. 繼續上一個問題,如果在構造函數中為 this 賦值 1 會發生什麽?
  15. 繼續上一個問題,那應該怎麽改變 this 的值?
  16. 學習前端多久了,平時怎麽學習前端?
  17. 未來3-5年有什麽規劃?(我提到了全棧,於是有了下面一個問題)
  18. 什麽是全棧,你理解的全棧是幹嘛的?
  19. 傾向於走什麽技術棧?(我提到了 nodejs 於是又有了下面 一系列的問題)
  20. nodejs 你了解多少?
  21. 所有的 ES6 特性你都知道嗎?如果遇到一個東西不知道是 ES6 還是 ES5, 你該怎麽區分它
  22. Express 和 koa 有什麽關系,有什麽區別?
  23. 為什麽選 nodeJS 為什麽不喜歡 php 和 python?
  24. 你對 php 和 python 掌握的怎麽樣?
  25. 你還有什麽問題想問我?
  26. 對加班有什麽看法?

二面 視頻面(1.5小時)

面試一開始面試官給我展示阿裏遠程會議的各種酷炫功能,隨後開始面試。面試官還是 P7

首先是給了好幾個代碼題,問其中每個 console.log 的輸出是什麽。這裏的代碼的確很多,面完全部面試寫這個文章的確記不起來了。值得一說的是每個題都有陷阱,十分容易錯的地方,我也不例外的掉坑裏了,面試官會告訴你錯了,然後讓你自己思考為什麽錯?正確的應該是什麽?當然還要解釋原理。

看完了題目就該自己寫了,共享桌面。

  1. 寫一個_new()函數,實現 new 關鍵字的功能;

寫完了,需要解釋思路,當然如果有那個地方寫錯了,一定是要深究的。這裏面會包含一些深層次的問題:prototype 和 proto 的關系是什麽?

三面 視頻面 (40分鐘)

二面面試官很愉快的說我通過面試了,去叫了另一個面試官。這次的面試官,應該也是 P7,上來就問問題:

  1. 自我介紹一下(發現問題點時打斷介紹,就開始問問題)
  2. 你前端是自學的呀,怎麽個自學法?
  3. 你都看過什麽書?最近在看什麽書?
  4. 用過什麽框架?有沒有看過什麽框架的代碼?
  5. 你做過什麽項目?
  6. 有沒有學過設計模式?
  7. 說一說觀察者模式吧!能不能寫出來?(能,那就寫)
  8. 為什麽只知道這麽幾個設計模式?
  9. 你最大的優點是什麽?
  10. 那你最大的缺點呢?
  11. 如果有個功能你寫的代碼有一個 bug , 剛好你同時的代碼可以彌補你這個 bug, 但是他的代碼有新的 bug 怎麽辦?
  12. 如果小組開發的時候對於一個軟件的各個功能,每個人都有一定的 bug 怎麽辦?
  13. 熟不熟悉 git,你用它做過什麽?
  14. 你大學期間做過最瘋狂的事情是什麽?
  15. 熟不熟悉 http? http 和 https 有什麽區別?
  16. 你除了寫博客還有什麽輸出?
  17. 做代碼的時候有沒有考慮過安全問題?怎麽防止註入?
  18. 如何防止 XSS 和 CORS? 被攻擊了該怎麽辦?
  19. 現在你的領導給你了一份工作,要求你一個星期完成,但你看了需求以後估計需要3周才能完成,你該怎麽辦?

四面 交叉面試 電話(50分鐘)

我投的是天貓事業群,交叉面試就是找個別的事業群的面試我,防止作弊。這次是一個 P9 段位的面試官:

  1. 自我介紹一下
  2. 為什麽學前端?
  3. 你學過 c++ 是麽,問你幾個 c++ 的問題(簡歷裏寫了以前學過 c++):
  4. 你學 c++ 到什麽程度了?
  5. 你用過 STL 嗎?裏面的 Map 類是什麽結構的?
  6. static 關鍵字怎麽用?
  7. static 變量存儲在堆還是棧?
  8. Qt 中 main 的執行過程是什麽樣的?
  9. 最近做過什麽項目?使用了什麽框架?
  10. 有沒有看過 wordpress 等博客框架的源碼?
  11. 為什麽使用 Express 不用 koa?
  12. gulp 和 webpack 有什麽區別,為什麽你要用 gulp?
  13. 知道 XSS 吧,怎麽防護?cross-site script
  14. 你項目中如何進行用戶輸入過濾的?都過濾了那些內容?(根據回答有了下一個問題)
  15. 為什麽沒有過濾<img>標簽?
  16. 知道 CSRF 麽,怎麽防止 CSRF? cross-site request forgery
  17. 你前端用了Bootstrap, 知道它的響應式是如何實現的嗎?
  18. 媒體查詢的原理是什麽?
  19. 知道流媒體查詢嗎?
  20. 那我告訴你什麽是流媒體查詢(......此處省略100000字),你懂了嗎?(我說懂了就有了下一個問題)
  21. 現在要你實現一個流媒體查詢,你怎麽做?
  22. 你現在在實習是麽,實習的主要工作是什麽?
  23. 你實習過程中在做一個 app, 如果讓你來主導這個項目,你使用什麽框架?為什麽?
  24. 學過 es6 是麽。知道 promise 麽?它用來做什麽?
  25. promise 只有2個狀態,成功和失敗,怎麽讓一個函數無論成功和失敗都能被調用?
  26. Promise.all() 是幹什麽用的,怎麽用?
  27. 怎麽判斷一個對象是不是數組,盡可能多的說出你知道的方法?
  28. 怎麽把一個類數組對象轉為數組?
  29. 知道本地存儲嗎,localStorage 是幹什麽的?
  30. localStorage 的最大存儲空間是多少?如果存超了對怎麽樣?
  31. localStorage 是註冊在幾級域名底下的?
  32. 說一下 Nodejs 的 event loop 的原理
  33. Angular 和 vue 的數據綁定是怎麽實現的?有什麽區別?
  34. 平時是如何學習 js 的,從哪裏獲得相關信息?
  35. mysql 和 mongoDB 有什麽區別?

五面 HR面 電話(30分鐘)

  1. 你平時的是怎麽學習前端的?
  2. 你的專業比較偏硬件,為什麽不學習硬件了?
  3. 你為什麽要學習前端?
  4. 你轉行學前端和專業的畢業生比能有什麽優勢?
  5. 你學習過什麽框架,現在在學習什麽框架?
  6. 為什麽先開始學習 React 而不是 vue、Angular 或其它框架呢?(不愧是阿裏巴巴的 HR,技術面感覺撲面而來)
  7. 你平時是如何獲取前端知識的?
  8. 你是通過業余時間完全自學的前端,你是如何制定學習計劃和學習目標的?
  9. 你學習的過程中,有沒有真正的做過什麽東西?
  10. 除了做這些東西你還有什麽輸出?
  11. 有沒有經常和前端同行業的人交流,通過什麽途徑交流?
  12. 你現在在實習是麽,實習工作是什麽?
  13. 那你為什麽不想留在現在實習的公司?
  14. 你在實習期間最大的收獲是什麽?
  15. 前端現在更新的這麽快,你對前端行業有什麽看法?
  16. 現在給你一個項目,有兩個框架可以選擇,一個你比較熟悉,另一個是個新框架,大家都沒用過,你會如何選擇?
  17. 你家是(xx隱私省略)的,現在在青島上學,以後讓你來北京的話你有什麽看法?
  18. 你除了前端還有沒有想從事的行業,不限於技術?
  19. 你還投了哪些公司,現在招聘進度如何?

寫在最後

我覺的整個過程心態實在太重要了。作為一個前端人,阿裏巴巴,是我最想去的國內公司,我看重的也不是他薪水如何,完全在於他的技術,這一點 github 可以說明一切。阿裏是個十分重視基礎的公司,和浮躁的前端大環境形成鮮明的對比。但其實,前端的更新速度如此快,還是基礎的東西日久彌新。

我不是第一次投阿裏巴巴,所以心態一開始還是挺平和的。電話面也很放松,也適當的開了個玩笑(給面試官黑了一把世界上最好的語言)。但這是我第一次電話面試通過(以往不是被筆試虐了,就是掛在了面試。別問我投過多少次),隨後通過二面,三面,hr面,真的會感到越來越緊張,越來越患得患失。平時在公司實習,本來就沒有時間準備面試,但偏偏這種心態十分影響復習效率。可能是真的太在乎這個面試結果了,在整個過程(1個月)中都會感覺這是我離夢想中的公司距離最近的一次,絕對要保證萬無一失,要表現的很好。這是自己給自己的一種無形壓力和緊張情緒,有時連做夢都在面試!!還好我堅持下來了,堅持到最後了。

    • 技術型崗位的應聘雖然不需要為每個公司有針對性的編寫簡歷,但是一定要足夠了解這個公司,明白公司需要什麽,你能為公司帶來什麽。
    • 如果你還年輕,距離找工作還有幾年,那你需要一個清晰的規劃,學什麽知識點,掌握什麽技術,這些規劃都應該以目標公司的需求為導向。
    • 最後留個博客地址,Faremax,也是個博客,內容是一樣的。

來源 https://www.nowcoder.com/discuss/35805

阿裏巴巴2018秋招面經之前端崗(1~5面)