什么?技术大厂的面试题泄露了???当然不是啦~ 国外知名博客平台 Medium 上有一位工程师,花时间整理了苹果、谷歌、Facebook 等一线技术大厂的 AI 面试题,为众多读者提供了不小的帮助,有人还真的因为看了他的文章,提前做好了准备,并通过了大厂的面试。本文将这些文章收集整理了起来,并进行了中文翻译,相信会对你有所启发,走上人生巅峰或许就是此刻了!
1.微软
微软在企业中的统治地位是众所周知的。微软已经驾驭了云计算浪潮。在第一财政季度,其 Azure 服务和 Office 365 在线生产力业务的收入分别增长了 90%和 42%。
在微软 CEO Satya Nadella 最近致所有微软员工的一封信中,Intelligent Cloud 和 Intelligent Edge 组建了两支新团队,以塑造下一阶段的创新。这意味着人工智能将要给微软的业务带来十分重大的改变。毋庸置疑,微软在此公告之后可能会招聘更多 AI 相关员工。所以,现在你的机会来了。
面试流程
像大多数雇佣工程师的其他公司一样,微软有一套经典的面试过程。通常有电话面试(涉及编码),然后进行现场面试。现场有大约 4-5 轮面试。面试过程中可能有 2-3 个确实深入研究数据科学相关的问题,包括研究和模型。其余的目的是测试编码技能。
面试题
- 合并 k(在这种情况下 k = 2)个数组并对它们进行排序。
- 如何最好地选择 500 万个搜索查询的代表性样本?
- 三个朋友告诉你今天会下雨,他们中每个人都有三分之一的概率说谎,那么今天下雨的可能性是多少?
- 你能解释朴素贝叶斯的基本原理吗?如何设定阈值?
- 你能解释一下 MapReduce 是什么以及它是如何工作的?
- 你能解释 SVM 吗?
- 你如何检测新的观察结果是否异常?什么是偏置 - 方差权衡?
- 如何从产品用户群中随机选择一个样本?
- 你如何实现自动完成?
- 描述梯度提升的工作原理。
- 在整数列表中查找子序列的最大值。
- 你会如何总结 twitter 推文?
- 在应用机器学习算法之前解释数据争用(wrangling )和清洗的步骤。
- 如何处理不平衡的二进制分类?
- 如何测量数据点之间的距离?
- 定义方差。
- 箱形图和直方图有什么区别?
- 你如何解决 L2 正则化回归问题?
- 如何通过使用一些计算技巧来更快地计算逆矩阵?
- 如何在没有计算器的情况下执行一系列计算。解释步骤背后的逻辑。
- 好的和坏的数据可视化之间有什么区别?
- 你如何找到百分位数?为它编写代码。
- 从一系列值中查找最大总和子序列。
- 正则化指标 L1 和 L2 有哪些不同?
- 创建一个函数来检查单词是否是回文。
2.Amazon
亚马逊从成为“地球上最大的书店”变为“地球上最以客户为中心的公司”。首席执行官杰夫·贝佐斯一次又一次地在他的致股东信中定义了公司的发展道路。亚马逊利用 Alexa 部署深度语言学习功能,并通过 AWS 为 AI 提供云基础架构。它还在 Amazon.com 上大规模地构建和部署了世界上第一批推荐系统。
面试流程
在现场面试的过程中,会有一场称为 Bar 面试。Bar raiser 的意思是,面试小组中最有经验的人,他的动机是决定你是否在亚马逊的前 50% 的员工中。Bar raiser 有权否决一个候选人,不管其他面试者是否喜欢这个候选人。
面试题
- 逻辑回归模型中如何知道系数是什么?
- 凸和非凸成本函数之间的区别 ; 当成本函数是非凸的时候它是什么意思?
- 随机权重分配是否优于为隐藏层中的单位分配相同的权重?
- 给出一个条形图并且想象你正从上面倒水,如何确定条形图中可以保存多少水?
- 什么是过拟合?
- 主要会员费的变化如何影响市场?
- 为什么梯度检查很重要?
- 描述树,SVM,随机森林和 XGBoost 算法。谈谈他们的优点和缺点。
- 你如何在天平上重复称重 9 个弹珠三次以选择最重的弹珠?
- 查找西雅图客户过去 6 个月中前 10 名利润最高的产品的累计总和。
- 描述特定模型选择的标准。降维为什么重要?
- 逻辑回归和线性回归的假设是什么?
- 如果你可以构建完美(100%准确度)的分类模型来预测某些客户行为,那么
- 应用程序中会出现什么问题?
- 项目位置 A 的项目概率为 0.6,项目位置 B 的概率为 0.8。在亚马逊网站上找到项目的概率是多少?
- 给定带有 ID 和数量列的“csv”文件,5000 万条记录和数据大小为 2 GB,请用
- 您选择的任何语言编写一个程序来聚合 QUANTITY 列。
- 使用数组实现循环队列。
- 如果您每月都有时间序列数据,那么它有大量的数据记录,您将如何发现本月与前几个月的数值存在显着差异?
- 比较套索和岭回归。
- MLE 和 MAP 推断有什么区别?
- 给定一个带有输入的函数:一个 N 个随机排序数的数组,以及一个 int K,返回一个 K 个数最大的数组。
- 当用户浏览亚马逊网站时,他们正在执行几项操作。如果他们的下一个行动是购买行为,建立模型的最佳方式是什么?
- 鉴于全国范围内可能性很低,估计一个城市的疾病概率。在这个城市随机询问 1000 人,全部为负面反应(无疾病)。这个城市发病的概率是多少?
- 描述 SVM。
- K-means 如何工作?你会选择什么样的距离度量?如果不同的特征有不同的动态范围呢?
- 什么是提升 (Boosting) 算法?
3.Facebook
Facebook 不需要过多介绍。经过近十年来累积大量数据之后,2013 年起,Facebook 内的工程师开始尝试使用 CNN。之后,Facebook 认识到 AI 和 Deep Learning 的重要性,并聘用了他们的第一位 AI 工程师——Google 大脑 Marc'Aurelio Ranzato。随后又聘请了 CNN 的发明人 Yann LeCun(现已不再负责 Facebook AI 研究院的领导工作)。
面试流程
Facebook 面试过程是大多数公司使用的标准面试过程。可参考:
https://www.facebook.com/notes/facebook-engineering/get-that-job-at-facebook/10150964382448920/
面试题
- 有一个 100 层的建筑物,2 个相同的鸡蛋。您如何使用 2 个鸡蛋来查找阈值楼层 N,在 N 层及 N 层以上,鸡蛋肯定会摔碎。
- 从 100 个硬币中随机抽取一枚硬币:1 枚不公平的硬币(都是正面),99 枚公平的硬币(一正一反)并投掷 10 次。如果结果是 10 个正面,那么这枚硬币是不公平的概率为多少?
- 在 Python 中为数值数据集编写排序算法。
- Facebook 想要开发一种方法来估计人们生日的月份和日期,而不管人们是否直接给我们提供这些信息。你会提出什么方法和数据来帮助完成这项任务?使用 python 内置包来处理'csv'数据。
- 您如何比较两种不同后端引擎的自动生成 Facebook“朋友”建议的相对表现?给定 KPI,选择正确的指标,执行 ETL。(使用 SQL / 代码)
- 你即将坐飞机去西雅图。你想知道你是否应该带一把雨伞。你可以给 3 个随机的朋友打电话,每个人都会独立询问是否下雨。你的每个朋友都有三分之二的机会告诉你真相,并有三分之一的机会通过撒谎与你打交道。所有 3 位朋友都告诉你正在下雨。在西雅图实际下雨的可能性有多大?(同微软的那道题)
- 考虑一个有 2 名玩家 A 和 B 的比赛。A 有 8 个棋子,B 有 6 个棋子。比赛进行如下。首先,A 滚动一个公平的六面模具,并且模具上的数字决定 A 从 B 接收多少个宝石。接下来,B 滚动相同的模具,并且完全相同的事情发生在相反的位置。本轮结束。谁在比赛结束时拥有更多的宝石则赢得比赛。如果玩家在回合结束时获得相同数量的宝石,则会形成平局并且接下来会有一轮。B 在 1,2,...,n 轮获胜的概率是多少?
- 你如何得到一个句子中每个字母的数量?
- 通过了解性别或身高,你如何证明男性平均身高比女性高?
- 什么是猴子补丁(monkey patch)?
- 给定一个对象列表 A 和另一个与 A 相同的列表 B,一个元素被删除,请找到被删除的元素。
- 给定一个整数列表(正数和负数),编写一个算法来查找是否至少有一对总和为零的整数。你会如何提高算法的性能?
- 制作 2 个变量的直方图。
- 在 SQL 中构建回帖计数的直方图(包含 x 个回复,x + 1 个回复等的帖子数)。建立一个表格,其中包含每个用户每天使用的功能使用情况摘要(跟踪用户的最后一个操作并每天汇总)。
- 你在一个赌场掷色子,如果掷出 5 则赢,并获得 10 美元的奖金。你能赚多少?如果你一直玩到你赢了 (不管花多长时间),那么你的预期支出是多少?
- 如果您试图让客户注册 Facebook 广告,您会向小型企业展示什么指标?
- 给定发送好友请求和收到好友请求的表格,找到拥有最多好友的用户。在平台上花费的赞 / 用户和分钟数正在增加,但用户总数正在减少。最有可能的根本原因是什么?
- 多少人在他们的档案中列出的高中是真实的?我们如何发现并大规模部署寻找无效学校的方法?
- 你如何将昵称(Pete,Andy,Nick,Rob 等)映射到真实姓名?
- Facebook 认为赞的年同比增长 10%,为什么会这样呢?
- 如果一位管理人员表示他们希望将新闻源广告的数量加倍,那么如何确定这是不是一个好主意?
4.Google
谷歌拥有一些世界上最有才华的人工智能研究科学家、数据工程师和数据科学家。Google 首席执行官 Sundar Pichai 专注于将 Google 重新整合为一家人工智能第一公司。谷歌已经将其所有或大部分产品的人工智能编码从 Gmail 迁移到拥有大量数据的自动驾驶系统。
面试流程
Google 的技术面试流程是标准的技术面试流程。它由电话视频面试和现场面试组成。详情参见:
https://careers.google.com/how-we-hire/interview/#interviews-for-software-engineering-and-technical-roles
面试题
- 什么是 1 / x 的导数?
- 绘制曲线 log(x + 10)
- 如何设计客户满意度调查?
- 掷硬币十次,得到结果为 8 个正面和 2 个反面。如何分析一枚硬币是否公平?p 值是什么?
- 你有 10 个硬币。你每掷硬币 10 次(共 100 次)并观察结果。你会修改你的方法来测试硬币的公平性吗?
- 解释一个不是正态的概率分布以及如何应用它?
- 为什么使用特征选择?如果两个预测因子高度相关,那么对逻辑回归中的系数有什么影响?系数的置信区间是多少?
- K- 均值和高斯混合模型:K 均值和 EM 之间有什么区别?
- 当使用高斯混合模型时,你怎么知道它适用?(正态分布)
- 如果标签在聚类项目中是已知的,那么如何评估模型的性能?
- 有一个谷歌应用程序,做了一个改变。如何测试指标是否增加?
- 描述数据分析的过程?
- 为什么不进行逻辑回归,为什么选择 GBM?
- 推导 GMM 方程。
- 如何衡量有多少用户喜欢视频?
- 模拟双变量法线
- 导出分布的方差
- 每年有多少人申请 Google?
- 如何建立中位数的估计量?
- 如果回归模型中的两个系数估计值中的每一个都具有统计显着性,那么您是否期望两者的测试仍然很重要?
5.Uber
面试流程
Uber 的技术面试流程是一个标准的技术面试流程,由电话视频面试和现场面试组成(通常是 5-6 轮面试)。Uber 在其工程博客上详细解释了这一点:
https://eng.uber.com/engineering-interview/
面试题
- 描述二值分类
- 计算 ROC 曲线的 AUC
- 如何使用 A / B 测试?
- 使用随机伯努利试验发生器编写函数以返回来自正态分布的值样本
- P 值是什么意思?
- 解释线性回归、线性假设和线性方程
- 定义 CLT,它和 Uber 有何关系?
- 解释 Logistic 回归、Logistic 假设和 Logistic 方程
- 一个车队要花多少钱才能看到我们每个大城市的街景照片?
- 如何建立汽车租赁司机成本的模型?
- 解释 surge 定价算法是如何工作的,以及如何测试哪种策略更有效?
- 什么是交叉验证?
- 网络效应如何影响选择来定义实验和测量结果?
- 什么是异常检测方法?
- 驾驶状况和拥堵对 Uber 收入有何影响?
- 驾驶状况和拥堵如何影响 Uber 的收入或司机体验?
- 高速缓存如何工作以及如何在数据科学中使用它?
- 如何优化各种营销渠道之间的营销支出?
- 如何计算一个城市 Uber Pool 的半径?
- 如何决定一个地点是否应该包含在 Uber Pool 中?
- 什么是时间序列预测技术?
- 解释 PCA,PCA 假设,PCA 方程式。
- Uber 会造成交通堵塞吗?
6.Apple
AI 被包含在苹果硬件之上的软件中。也就是说,人工智能是苹果的一种服务。根据他们在 2018 年一季度的收益报告,他们的服务收入比去年增长了 18%。截至去年 12 月底,所有服务产品的付费用户数量都超过了 2.4 亿。
面试流程
与大多数雇佣工程师的其他公司一样,苹果公司也有典型的面试流程,电话面试与现场面试兼有。现场大约有 4-5 名团队成员进行面试。详情可参考:
https://www.quora.com/What-is-the-recruiting-and-hiring-process-of-Apple-How-does-one-contact-their-HR-department
面试题
- 如何以数百万的交易数量吸引数百万用户,并将这些用户集中在一个有意义的细分市场中?
- 我们对数据进行预先筛选以消除欺诈威胁 - 那么我们如何找到可用于确定欺诈事件真实表示的数据样本?
- 给定一张带有用户 ID 和用户购买的产品 ID 的 1B 的表格,以及具有用产品名称映射的产品 ID 的另一张表格。我们试图找到经常由同一用户一起购买的配对产品,例如葡萄酒和开瓶器,薯片和啤酒。如何找到这些并存的成对产品中的前 100 名?
- 请详细描述 L1 和 L2 正规化之间的区别,特别是对于它们对模型培训过程本身的影响的差异。
- 假设你有 100,000 个文件分布在多个服务器上,如何在 Hadoop 中处理这些文件?
- Python 和 Scala 有什么区别?
- 解释 LRU 缓存。
- 如何设计一个客户端 - 服务器模型,客户端每分钟发送一次位置数据?如何将数据从一个 Hadoop 集群传输到另一个 Hadoop 集群?
- Java 中有哪些不同类型的 memory?
- 如何处理数百个标题的元数据同时进行的日常繁琐任务?
- 在数据流和可访问性方面,如何衡量在隐藏时间框架内的成功,在这个时间框架中,核心超载了将计算机能量重定向到地窖圆顶的过度复杂文件系统的边界结构?
- 你最想拥有的超能力是什么?
- 你有时间系列的传感器,预测下一个读数。
- 使用 SQL 创建超市购物篮输出。
- 你有什么心理实践经验?(基于研究组合的问题)
- 您在表征方面的专长是什么?通常使用什么?你如何在研究中使用它并找到有趣的结果?(Research Portfolio based question)
- 你如何处理失效分析?
- 检查一个二叉树是否是左右子树上的镜像。
- 什么是随机森林?为什么朴素贝叶斯更好?
总结
六家代表着顶尖科技的技术企业,六套面试题,大家可以在这几套题中看到每家公司的侧重点有何不同,建议先收藏再慢慢研究。如果你能把上面这几套面试题研究透彻,就算进不了这六家公司,相信国内的 AI 大厂同样会为你敞开大门,未来就在你的手中!
参考链接
- https://medium.com/acing-ai/microsoft-ai-interview-questions-acing-the-ai-interview-be6972f790ea
- https://medium.com/acing-ai/amazon-ai-interview-questions-acing-the-ai-interview-3ed4e671920f
- https://medium.com/acing-ai/facebook-ai-interview-questions-acing-the-ai-interview-5982add0af55
- https://medium.com/acing-ai/google-ai-interview-questions-acing-the-ai-interview-1791ad7dc3ae
- https://medium.com/acing-ai/uber-ai-interview-questions-acing-the-ai-interview-9532794bc057
- https://medium.com/acing-ai/apple-ai-interview-questions-acing-the-ai-interview-803a65b0e795