1. 程式人生 > >作為阿里面試官,我究竟想問什麼

作為阿里面試官,我究竟想問什麼

原文連結地址:Nealyang/personalBlog

市面上有很多關於面試的文章,但是基本都是從應聘者的角度去分析問題的,從招聘官的角度去分享的著實不多。本文將從我的個人招聘經歷分享下關於前端一面的一些思考和自己的感悟。以下所有感悟皆為筆者個人感悟,不代表任何。有不妥之處,歡迎指出

其實不得不說,找工作,真的七分實力,三分運氣。不同的面試官有不同的看重點,所以千萬不要為一次的滑鐵盧而丟失信心。

面試環節

關於面試題的答案講解,本文將不做非常詳細的分析。具體的每個知識點,筆者後面儘量兩週更新一篇相關知識點文章於公眾號 全棧前端精選 中,歡迎關注、討論和分享。下圖是筆者計劃後續寫的總結性技術文章。

自我介紹

基本面試這是必然的開場,筆者在公司也稍微面試過不少人吧,高峰期基本每晚都要面試一兩個,聽過了各種各樣的開場介紹。這裡簡單說下筆者作為面試官比較喜歡和不喜歡的介紹吧。

我叫 xxx,畢業於(目前就職於) xxx,來自 xxx,技術棧 xxxx,喜歡 xxx。。。

類如上述的自我介紹,其實很多都在簡歷上寫明瞭,甚至很多是我並不關心的。

我只關心你能力和我職位的匹配度。所以諸如此類的簡介,筆者更是希望能夠簡短。筆者作為面試的時候,更喜歡聽到的是我做過什麼牛 x 的專案,這個專案有多難,如何攻克的,以及這個專案做完你收穫到了什麼,甚至這個專案做完,該專案對團隊、部門甚至公司而言,帶來哪方面的提高。或者可以介紹你在校獲得了什麼獎項,意味著什麼、成長了什麼。

如上的介紹,其實就能夠讓面試官眼前一亮,因為能看到你對這個專案的思考、以及這個專案對你的歷練。

劃重點:我們都知道下一個面試環節是知識點提問,所以這裡的難,可以適當的丟擲技術的難點在哪。引起面試官的興趣,從而去提問 。面試的節奏我們要學會自己掌握,別老是被面試官牽著走

走到這一步,基本有如下兩個分支:

  • 面試官對你的這個專案(獎項)比較感興趣,會接著問下去,然後問其中技術的實現細節。(所以這裡自己千萬不要吹牛x,然後補不回來)
  • 面試官不是很感興趣(很可能是面試官的技術盲區,比如我就這樣。哈哈),然後問自己準備的一些面試題。。。

這裡需要說明的,在筆者面試應聘 p7 的同學的時候,會更喜歡到你對這個專案的思考,諸如會問一下題目:

  • 現有的技術方案、行業對比
  • 你覺得你做過的專案或發起過的優化裡面最有價值是的哪個?為什麼?對業務的幫助是什麼?
  • 你做的東西可以複用於其他團隊嗎?
  • 橫向與市場已知的 xxx 解決方案,你們的優勢在哪?

上述的這些思考,其實目前我也達不到。但是,這不一定要求面試官一定要達到這個水準,專案的思考維度也還沒有這麼的深入。沒吃過豬肉還沒見過豬跑嘛。

面試題

如上面所說的,如果面試中應聘者說到了筆者比較感興趣的技術方向、或者技術點,那麼筆者就會直接問下去。如果說到了筆者不是很擅長的技術區域,那麼我筆者就不會追問技術細節了。

整體一面的時間大概也就半小時左右,加上前後的介紹,基本題目就四五題吧。筆者面試沒有固定的題目,通常根據應聘者的經歷而問。這裡舉例下在上面的介紹毫無亮點可言的時候(基本涼了一半),筆者喜歡問的一類題目吧。

基礎題目考核

JavaScript 面向物件的理解和感悟

基本剛開始問題的題目都是比較簡單和考核基礎的,比如有的時候筆者第一題一般問:** JavaScript 面向物件的理解和感悟**、題目非常的開放。給了你足夠大的舞臺表現自己。

說下這題在筆者面試別人時候的心裡打分點:

  • 首先,我肯定是需要你告訴我,什麼是面向物件,面向物件有哪些特點,以及這些特點的解釋。
  • JavaScript 如何實現這些特點,比如封裝、繼承、多型。如果關於上述三點,你能夠解釋到有多少種實現方式、優缺點是什麼。以及近幾年流行的解決方案是什麼。這就是加分 ,比如對於繼承吧。類式繼承、建構函式繼承、組合繼承、原型繼承、寄生組合繼承等等,說出大概的實現思路和優缺點,再介紹下 extends 或者 mixin 的實現甚至你可以衍生到JavaScript 的模組化發展甚至到為什麼現在 TS 如此流行。那麼可以說到這一環節解答的就非常棒了。
  • 回答完 JavaScript 的面向物件,是不是可以從此衍生下為什麼需要面向物件。以及當先對於軟體設計的高內聚、低耦合的思考?來個對此題一個提綱挈領的總結?

綜上所述,其實不難看出,越是這種基礎且開放的題目,可以是一個陷阱,更可以是一個機會。因為一道題真的可以全方面的感受到應聘的基礎是否紮實。

後面的題目的筆者基本喜歡根據應聘者的上一題的回答中甚至應聘者隨口說到的知識點,繼續追問。但是限於此文為分享文章,這種形式很難演示。下面就繼續介紹下後續的題目。

瀏覽器輸入 url 到頁面的展現,具體發生了些什麼可以展開說下麼

斷於上述題目知識點。第二個問題筆者通常喜歡問一些考察可深可淺的一些題目,注入:瀏覽器輸入 url 到頁面的展現,具體發生了些什麼可以展開說下麼

基本回答都是

  • 在瀏覽器位址列輸入URL
  • 瀏覽器解析URL獲取協議,主機,埠,path
  • 瀏覽器組裝一個HTTP(GET)請求報文
  • 瀏覽器獲取主機ip地址
  • 開啟一個socket與目標IP地址,埠建立TCP鏈
  • TCP連結建立後傳送HTTP請求
  • 伺服器將響應報文通過TCP連線傳送回瀏覽器,瀏覽器接收HTTP響應
  • 根據資源型別決定如何處理(假設資源為HTML文件)
  • 解析HTML文件,構件DOM樹,下載資源,構造CSSOM樹,執行js指令碼
  • 最後展現出來給使用者

基本如果應聘者只回到了上述步驟,很多關鍵步驟(前端應該瞭解的知識點)沒有提及,那麼基本涼涼一半了。這裡簡述下筆者感覺,這其中你應該具體展開說明的。

  • 瀏覽器傳送請求,是否需要檢視快取?是否請求資源在快取中並且新鮮,跳轉到轉碼步驟?如果資源已經快取,是否新鮮?如何檢查?怎麼判斷、http1.0 和 http1.1 的區別是什麼,這些欄位的優先順序是怎麼樣子的。
  • 瀏覽器解析 url 獲取協議,過程是什麼?DNS 遞迴查詢可否介紹下?
  • 建立 TCP 連結的三次握手是否可以介紹下
  • 伺服器接受到請求,是否需要檢查快取?檢查什麼欄位?什麼樣的快取會需要服務端檢查?
  • 服務端傳送 TCP 連結,瀏覽器接受 http 相應後,根據什麼來決定是否需要關閉連線?關閉 TCP 的四次揮手是什麼?
  • 瀏覽器是否需要檢查狀態碼,有哪些狀態碼?(筆者高頻考碼:304、200)
  • 在解析的時候,具體如何解析、是否有順序。(重繪重排高頻考題就在這裡)
  • 總結如上、我們是否可以給出一些基本的網站優化手段???

上述題目的每一步展開,都將會是下一個面試題。

具體的知識點介紹,不是此文主要講解內容,這裡就不多言了。

解決問題能力考查

其實上面兩(大)題後,基本基礎、網路、瀏覽器、js 執行、優化都已經考核到。對於 p6 的一個 job model 還有一項是對於問題的解決能力。

其實這裡一般都是出一道問題,然後你給出一些你的實現思路,這裡就不做距離了,因為太開放!

比如:

  • 諸如我現在需要監聽那種頻繁發生的事件,你有那些優化麼
  • 埋點的實現思路
  • 非遞迴的二叉樹遍歷
  • 檔案上傳斷點、續傳
  • 設計模式的應用場景考核

等等

切記:這類題目,一定不要說不會、不知道。哪怕真的不知道,也要給出大概的解答思路和實現思路。哪怕不對!一定要講出自己的思考過程。

進階題目考核

在面試 p6、p7 的時候,一般後面還會跟一道進階題目(根據應聘者具體情況而定)。

沒有開放性的答案其實,所以這裡筆者就不細述有哪些思考和想聽到的點了。只要你說的對就行其實

  • VUE 雙向繫結原理
  • VUE/React diff 演算法的大概思路
  • 現有的狀態管理的實現
  • webpack中 loader、plugin 的實現思路
  • 簡易版 webpack 的實現
  • KOA、Express 中介軟體的實現
  • React Filter 的理解和原理
  • 前端構建工具的、vue-cli、create-react-app 的原理和實現思路
  • 等等。。。。。

結束環節

半小時,基本只能問四五題這樣,說實話,題目的考核大概能佔參考度的 90%,還有 10%可能就是言語和感覺了。那麼對於結束的時候,說下不好的感覺:

最後,你有什麼要問我的嘛

我想諮詢下,我能不能通過這次面試,我對工資無所謂,我願意學習,特別希望能夠進入 xxx 跟大牛一起學習,歷練。

講真,這類的話聽過很多次了。如果在看的你也命中了這個。我想說,其實公司招我們進來,是搬磚的,不是給我們學習的。學習是你自己的需要,不是為了公司學的。說這類的話,太給自己降價了!

說說筆者應聘的時候,一般結束的你有什麼要問我的嘛的回答

  • 我比較在意自己的技術方向和職業發展,能夠簡單介紹下如果我面試上貴公司職位,我以後的工作內容和在團隊的價值麼?
  • 想了解下公司對於前端的重視程度以及在大前端時代,團隊對於技術的思考

大概就是筆者會問,我這個職位是幹嘛的?在公司有麼有價值?跟我自己的職業、技術規劃是否吻合?

這樣!面試官會覺得,恩~這小子有思考~~~再者,如果面試官給你介紹的非常非常詳細,那麼其實從側面就說明,他對你很滿意了!已經到了面試官開始極力展現自己的時候了~~

就比如:醫生,我老婆懷的是男孩還是女孩啊? 不能問!!!這是政策

但是:醫生,我這孩子出生我給他起名字叫王剛蛋你看合適不? _恩。。。不太合適_ 基本可能懷的是女孩了

最後

其實我想說,面試,不僅僅看運氣和實力,其實有的時候也是一場心理的博弈。

你的每一次回答都可能引出下一道面試題。有意識無意識的留點回答漏斗也是一種帶節奏的方式。

如果面試官提出一個問題,你都抓不住他的考點,那基本要涼~~

其次,我想說,上面我說的開放性基礎題的回答,大家千萬不要誤解為回答的多就是好。千萬不要一個題目回答了半個小時,沒必要!點到為止,證明自己考慮到、有這個知識儲備即可,不要回答的讓面試官都煩了。

然後,對於如何拿到面試的敲門磚:簡歷。沒有那麼多可說,也不是沒得說。

簡而言之:面試官篩選簡歷是非常枯燥的一件事情。基本是一眼帶過,不會在簡歷上撇超過 40s。

所以:

  • 簡歷要整潔,簡潔、簡潔。真的別密密麻麻都是字,沒那麼多耐心看的。
  • 重點突出,可以加粗或者顏色標識。比如:自己開源類 React 框架
  • 簡歷是一份介紹更是一個成績單,既然是成績單,成績一定要吐出:開源專案 15k star 、 推動公司技術建設 等等
  • 不得不說,名校和大廠的背景。很吸睛。

最後,秋招開始了,祝福所有找工作的同學,都能順順利利拿到 offer!加油~

學習交流

關注公眾號: 【全棧前端精選】 每日獲取好文推薦。

公眾號內回覆 【1】,加入全棧前端學習群,一起交流。

相關推薦

作為阿里面試究竟什麼

原文連結地址:Nealyang/personalBlog 市面上有很多關於面試的文章,但是基本都是從應聘者的角度去分析問題的,從招聘官的角度去分享的著實不多。本文將從我的個人招聘經歷分享下關於前端一面的一些思考和自己的感悟。以下所有感悟皆為筆者個人感悟,不代表任何。有不妥之處,歡迎指出 其實不得不說,找工

作為一個面試是怎麼來面試測試人員的?

其實之前關於面試也說了好多,知乎上我也開過一個面試的Live,也有幸被選進了知乎2016精選。不過今天我想說的是在實際過程中如果我去面試了,我會怎麼進行面試,會問什麼問題,會遵照哪些原則。我本身的行事風格就是比較特殊的,希望對廣大應聘者和麵試官有所幫助。   只關心對方

作為IT面試如何考核計算機專業畢業生?作為培訓班老師又如何提升他們?

    我最近幾年一直在做技術面試官,除了面試有一定工作經驗的社會人員外,有時還會面試在校實習生和剛畢業的大學生。同時,我也在學校裡做過兼職講師,上些政府補貼課程(這些課程有補貼,學生不用出錢),所以我會在不同的場合承擔兩種截然相反的職責。     幸好我的公司不會從

作為阿里面試有話說。

面試,面試官比候選人還難 近期面試了許多,真的是許多同學,講道理其實我是比較有耐心的面試官,但是還是忍不住想要吐槽,因此寫下這篇文章,一方面希望可以幫助到正在面試,或者在來面試路上的同學,另一方面,純粹吐槽。 作為面試官,我是真心希望為團隊招到優秀的候選人,招到優秀的合作伙伴,其實面試官比候選人還著急。

作為面試是怎麼快速判斷程式設計師能力的?

技術面試是一個工程師成長到一定階段後必然要承擔的一項工作,優秀的技術面試官能幫助公司篩選出優秀的工程師,並且潛移默化的吸引候選人選擇加入公司。相反,糟糕的面試不僅會錯失優秀候選人,甚至還會給公司招來大麻煩。儘管技術面試如此重要,我還是瞭解到,很多公司的技術面試官都是“無證上崗

第一次作為面試很緊張

我作為應聘者,從來不緊張,哪怕是第一次應聘的時候,但在前幾天作為面試官的時候,我很緊張。 為什麼緊張呢。因為作為應聘者我只要為我自己負責。但是作為一個面試官,我不是在為自己負責,而是在為應聘者與公司負責。當肩負這樣的使命後,就感覺有一定的擔子。 可以說面試是一個人的基本技能

包裝嚴重的IT行業作為面試是如何甄別應聘者的包裝程度

在網際網路極速膨脹的社會背景下,各行各業湧入網際網路的IT民工日益增大。 早在2

阿里面試講講Unicode講了3秒說沒了面試說你可真菜

本文首發於微信公眾號:程式設計師喬戈裡 喬哥:首先說說什麼是Unicode、碼點吧~要想搞懂,這些概念必須清楚 什麼是Unicode? 下圖來自http://www.unicode.org/standard/WhatIsUnicode.html中的截圖 Unicode編碼定義了這個世界上幾

阿里面試實現一個執行緒安全並且可以設定過期時間的LRU快取蒙了!

目錄1. LRU 快取介紹2. ConcurrentLinkedQueue簡單介紹3. ReadWriteLock簡單介紹4.ScheduledExecutorService 簡單介紹5. 徒手擼一個執行緒安全的 LRU 快取5.1. 實現方法5.2. 原理5.3. put方法具體流程分析5.4. 原始碼6.

作為技術面試為什麼把你pass了

前言 首先宣告,樓主不是什麼大牛,沒有多牛逼的技術,只是公司擴招團隊,有幸作為技術面試官,面試了這麼多人之後的感想,希望對大家有一點點幫助。 準備 當上級下達命令之後,身為下級得我就得去執行,而且要求快,求穩,求好的完成任務(ps:這是想象中的場景) 我們前端團隊需要n名,所謂中級、

某程序員趣聞:面試了曾經的面試把他曾經的又了他一遍

相聲 docker 招生信息 流轉 零基礎入門 inf ali image 開會 想必最近有不少互聯網同行都在面試,大家進行的怎麽樣呢? 近日,騰訊某程序員在互聯網社區分享了自己作為面試官的趣聞:今天面試了個百度來的,他不記得我了,我前年在百度二面的面試官就是他&hell

面試求求你不要這麼簡單但又刁難的演算法題了

有時候面試官往往會問我們一些簡單,但又刁難的問題,主要是看看你對問題的處理思路。如果你沒接觸過這些問題,可能一時之間還真不知道怎麼處理才比較好,這種題更重要的是一種思維的散發吧,今天就來分享幾道題面試中遇到的演算法題(當然,不是我自己遇到過,是別人遇到過,我挑選出來的) 案例1 題目描述:求1+2+3+..

面試準備——如何回答面試“你還有什麼的嗎?”

1. 您認為誰是最適合這個職位的人選?我和他相比有什麼缺點呢? Who do you think would be the ideal candidate for this position, and how do I compare? 通過這個問題可以

剛從阿里面試回來和程式設計師們談談(阿里的必看)

       最近面試了多家網際網路公司,最終收到了阿里offer,面試前在網上也蒐集了面試題目, 但有些不是過時的,就是題目雜亂,歸納不繫統。 這次面試過後,我把面試上阿里的面試過程整理了一下,當做是一個總結,後來有朋友問我要面試記錄,索性發布出來,跟大家一起分享

轉importnew阿里面試回來和 Java 程式設計師談一談(職業學習規劃參考)

(點選上方公眾號,可快速關注) 引言 其實本來真的沒打算寫這篇文章,主要是LZ得記憶力不是很好,不像一些記憶力強的人,面試完以後,幾乎能把自己和麵試官的對話都給記下來。LZ自己當初面試完以後,除了記住一些聊過的知識點以外,具體的內容基本上忘得一乾二淨,所以寫這篇文章其實是很有難度的。 但是

阿里面試回來和java程式設計師聊聊

【本文完全轉載,寫的超好,自己真垃圾啊】【轉載路徑:http://www.banzg.com/archives/679.html】 引言 其實本來真的沒打算寫這篇文章,主要是LZ得記憶力不是很好,不像一些記憶力強的人,面試完以後,幾乎能把自己和麵試官的對話都給記下來。L

阿里面試回來和Java程式設計師談一談

引言        其實本來真的沒打算寫這篇文章,主要是LZ得記憶力不是很好,不像一些記憶力強的人,面試完以後,幾乎能把自己和麵試官的對話都給記下來。LZ自己當初面試完以後,除了記住一些聊過的知識點以外,具體的內容基本上忘得一乾二淨,所以寫這篇文章其實是很有難度的。        但是,最近問LZ的人

親愛的面試這個可沒看過!(Android部分)

如何保證Service不被殺死 Android 程序不死從3個層面入手: A.提供程序優先順序,降低程序被殺死的概率 方法一:監控手機鎖屏解鎖事件,在螢幕鎖屏時啟動1個畫素的 Activity,在使用者解鎖時將 Activity 銷燬掉。 方法二:啟動前臺service。

作為面試如何考察工程師的軟素質

機制 打開 清晰 是個 比較 技能 區塊 移動架構 全局 本文會跟大家一起分享我的思考,包括但不限於如下話題: 工程師的軟素質模型如何識別工程師的軟素質如何發現並改進自己軟素質方面的不足工程師的職業發展美團點評的工程師文化如果你也對這些話題感興趣,歡迎留言交流。 概述 技

阿里Java面試:請別再3次握手與4次揮手了!

在面試中,三次握手和四次揮手可以說是問的最頻繁的一個知識點了,我相信大家也都看過很多關於三次握手與四次揮手的文章。