矽谷巨頭AI崗位面試題匯總:谷歌+微軟篇
來自專欄 景略集智
谷歌、微軟、亞馬遜······這些巨型矽谷 IT 公司應該是很多 IT 從業者們的夢想之地。
這些科技巨頭過去十幾年在互聯網領域叱吒風雲,而在當下風生水起的 AI 技術浪潮中,這些公司依然走在科技的最前沿,吸引大批 IT 人才慕名加入。雖然谷歌、微軟和蘋果等大廠這兩年擴招了很多 AI 職位,但入職的路上依然困難重重。最近機器學習專家、Acing AI 創始人 Vimarsh Karbhari 分享了谷歌、微軟、亞馬遜等矽谷 IT 巨頭 AI 職位的面試習題,希望對準備將來加入這些公司的你能有所幫助。即便是現階段沒有此項計劃,看看大廠的要求也是可以的。
作為全球知名的科技巨頭,谷歌將世界上許多最頂尖的 AI 科學家、數據科學家和研發工程師招至麾下。自從去年穀歌 CEO 宣布「AI 先行」戰略後,谷歌開始將 AI 技術應用在自家產品上。與此同時許多有志於在 AI 領域發展的人也躍躍欲試,申請加入谷歌。
此前谷歌的 AI 研究主要有三大領域:數據基礎設施與分析,谷歌大腦項目和谷歌 AI 醫療。不過今年 4 月初,谷歌對旗下業務大幅調整,將谷歌大腦和其它業務整合為 AI 業務。
谷歌在 AI 領域的研究成果主要涉及三塊:
- 機器智能
- 機器感知
- 自然語言處理
面試過程
谷歌的技術面試流程就是標準的技術面過程,先是電話或視頻面試,然後是現場面試。對於技術面試需要注意的地方,谷歌 Career 上有詳細的指導,可以參考一下:
https://careers.google.com/how-we-hire/interview/#interviews-for-software-engineering-and-technical-roles
谷歌 AI 有關的重要讀物和資料
- TensorFlow
TensorFlow 是谷歌推出的一款重量級 AI 學習系統,面試谷歌 AI 職位,它是必須要熟悉的。
參考讀物:https://arxiv.org/pdf/1605.08695v2.pdf
- 谷歌在硬體和軟體方面應用的各種AI工具
參考資料:https://ai.google/tools/
- 非官方谷歌數據科學博客
資料地址:http://www.unofficialgoogledatascience.com/
谷歌 AI 和數據科學 20 道面試習題
- 1/x 的導數是?
- 畫出 log(x+10) 的曲線
- 怎樣設計一份客戶滿意度調查?
- 將一枚硬幣投擲 10 次,8 次正面,2 次反面。你該怎樣分析這枚硬幣是否重量分布均勻?p 值為多少?
- 假設你有 10 枚硬幣,把每一枚都投擲 10 次(總共投擲 100 次),並觀察結果。你會修正自己測試硬幣重量分布是否均勻的方法嗎?
- 解釋一種非正態概率分布,以及如何應用它?
- 為何使用特徵選擇?如果兩個預測值高度相關,對邏輯回歸的係數有何影響?係數的置信區間如何?
- K 均值聚類方法與高斯混合模型:K 均值聚類演算法與 EM 演算法的區別是什麼?
- 當使用高斯混合模型時,你如何確定模型是適用的?(正態分布)
- 如果聚類中的標籤已知,如何評估模型的性能?
- 假如你有一個谷歌應用,對其作出了修改。你怎麼測試一個度量是否發生變化?
- 描述一下數據分析流程
- 為何不用邏輯回歸,而用 GBM 演算法?
- 推導 GBM 演算法的公式
- 你如何衡量用戶對視頻的喜歡程度?
- 模擬一個二元正太分布
- 推導一個分布的方差
- 每年有多少人申請加入谷歌
- 如何估計中位數?
- 如果對一個回歸模型中的兩個係數分別進行估計,在統計上是顯著的,你認為將二者一起估計,在統計上是否依然顯著?
Microsoft
和谷歌一樣,微軟今年也大幅調整了自家業務,擁抱 AI。微軟 CEO 納德拉在給員工的內部信中宣布成立兩個全新的部門:Intelligent Cloud 和 Intelligent Edge。這表明微軟決定全力參與這場 AI 浪潮,不用說微軟會招攬更多的 AI 人才。
面試流程
微軟的面試流程和其它招聘軟體工程師的公司一樣。不過數據科學職位通常會做些變動,這也反應了此類職位的重要地位。面試過程通常包括電話面試(會聊到寫代碼)和現場面試。其中現場面試大概有 4-5 輪面試,可能有 2-3 輪面試中會深入探討數據科學相關的問題、研究和模型,剩餘的面試部分主要是測試編程能力。
微軟 AI 職位相關參考資料
和谷歌一樣,微軟最近也發布了自家 AI 學習平台—— AI School。其核心 AI 平台被分為三塊:服務,基礎設施和工具。
- 微軟 AI School:https://aischool.microsoft.com/learning-paths
- AI Demos(數據表示和可視化展示):https://aidemos.microsoft.com/
- 微軟 Azure AI Solutions(和亞馬遜 AWS 類似):https://gallery.azure.ai/
- 微軟研究播客:https://www.microsoft.com/en-us/research/blog/category/podcast/
AI/數據科學相關面試題
- 合併 K(這裡設 K=2)個數組,並將它們排序。
- 從 5 百萬個搜索請求中選出一個代表樣本的最佳方法是什麼?
- 你在西雅圖的 3 個朋友告訴你那裡在下雨,其中一人撒謊的概率為 1/3,那麼西雅圖在下雨的概率是多少?
- 能否解釋一下樸素貝葉斯的基本知識?你如何設定闕值?
- 能否解釋一下什麼是分散式計算(MapReduce)?它的工作原理是什麼?
- 能否解釋一下支持向量機?
- 如何檢測一個新的觀測值是否為異常值?什麼是偏差-方差權衡(bias-variance trade off)?
- 探討一下如何從產品用戶群體中隨機選一個樣本
- 如何實現自動完成(AutoComplete)?
- 描述一下 Gradient Boost 演算法的工作原理。
- 找到一個整數列表中子序列的最大值。
- 如果要概括一份推特簡訊,你會怎麼做?
- 解釋一下在應用機器學習演算法前進行數據整理和清洗的步驟。
- 如何處理不平衡二元分類問題?
- 如何衡量數據點之間的距離?
- 定義方差。
- 箱型圖和直方圖之間的區別是什麼?
- 你怎麼解決 L2 正則回歸問題?
- 如何用一些計算技巧更快的計算逆矩陣?
- 怎樣在不用計算器的情況下進行一系列的計算?解釋自己解決步驟背後的邏輯。
- 好的數據可視化和糟糕的數據可視化之間有哪些不同?
- 你怎樣找到百分位?請寫出實現代碼。
- 從一組值的序列中找到最大子序列和。
- L1 正則化矩陣和 L2 正則化矩陣的區別是什麼?
- 創建一個函數,檢查一個詞是否為迴文結構。
從面試題中也可以看出,微軟的面試中有不少開放式問題,可以有很多中解決方法。也有一些問題基於數據表示和可視化,這和其他一些公司有些不同。
下一篇準備整理蘋果和亞馬遜的面試題,想看的同學就給這篇戳個讚唄?
參考資料: https://medium.com/acing-ai/microsoft-ai-interview-questions-acing-the-ai-interview-be6972f790ea
推薦閱讀:
※一眨眼《復聯3》來了,你知道每個復仇者的口頭禪嗎?
※2017無人駕駛智能車Hackathon(太庫站)正在進行中!
※我們離《黑鏡》中的黑科技還有多遠?
※《天才槍手》要失業?AI讓作弊更容易!
※邁向深度學習的第一步!零基礎深度學習:感知機