作者 | Jay Feng
译者 | 孙薇,责编 | 屠敏
头图 | CSDN 下载自东方 IC
出品 | CSDN(ID:CSDNnews)
以下为译文:
苹果公司是全球最大的技术公司之一,从事电子消费产品、计算机软件以及在线服务的设计、开发并销售工作。其所有部门都一直渴求富有创造力、热情及专注力的数据科学家,从以研究为主的Siri AI开发团队,到基于云的iCloud架构开发部门,苹果公司一直缓慢但持续地组建其数据科学家团队,以处理日常积累的大量数据。
在苹果,数据科学家是什么角色?
与其他大型科技公司一样,苹果的数据科学家所担任的角色千差万别,要取决于所属的团队。苹果的数据科学家实际所担任的职责更接近于全栈数据科学家,也就是说这份工作包含的内容从数据分析到机器学习软件设计再到纯工程层面。
鉴于苹果是一个庞大的多元化企业集团,所使用的数据技能也因团队而异。市场、财务、销售等不同部门有许多数据分析团队,产品及服务部门还有更多基于机器学习及深度学习的团队,比如Siri、云服务甚至硬件。
所需技能
大多情况下,苹果更愿意聘请有至少几年相关经验的申请者,要求包括:
在实际业务中应用数据科学的经验达三年以上(高级职位需5年以上);
对机器学习技能有切实的理解,包括在回归、时间序列分析、聚类、决策树技能以及分类算法方面的经验;
具有关系数据库方面的工作知识,包括SQL数据库以及Spark和Hadoop这样的大规模分布式框架;
精通数值及脚本编程语言,如SQL、Python、Java、C++、PHP或Perl;
出色的表达技巧,可将复杂的分析及概念提炼成以业务为重点的简明摘要。
在苹果,数据科学家有哪些类型?
从技术上来讲,苹果不会雇佣特定类型的数据科学家,而是根据不同团队的需求和所需的技能来招聘。许多数据科学家需要负责跨多个部门的大量数据分析工作,还要负责机器学习类的重要职责。根据团队不同,数据科学家在苹果所负责的职能可能包括:
与业务团队合作探索洞见及机遇,了解需求,并将其转化为技术解决方案;
与数据工程师及平台架构师合作,部署强大的产品实时及批处理决策解决方案;
使用机器学习技术推动自动化流程,比如评分系统;
使用机器学习、用户模型识别及数据建模方面的最新技术来设计、开发并管理大数据驱动的预测模型,以提高用户参与度;
处理大量数据;使用Sparks SQL操作并提取数据。
苹果的面试流程
苹果的面试流程非常标准化。首先,人力资源部门会进行初步的电话面试,之后是招聘经理面试,以评估进一步的兴趣和职位适合度,再就是简短的电话面试来考察技术。最后,在现场面试前,可能还会根据应聘者资历及所应聘的职位类型进行“开卷挑战”(take-home challenge)。
苹果公司的机器学习杂志
技术筛选及开卷挑战
下一步就是技术招聘经理的电话面试,可能还会有个开卷挑战。技术招聘经理的面试会在代码共享环境中完成。
技术面试的问题一般是Python演练和数据科学推理问题。将自己的想法步骤在技术面试中表达清楚,并清晰传达是非常重要的。这一步是测试应试者使用基础数据结构及算法概念的能力,所需要的关键技能是能否提供全面性的解决方案,并快速分析出相应解决方案的运行时复杂度。
苹果的数据科学类开卷挑战一般限时三天,通常挑战的是机器学习方面的问题,如何建立模型并根据数据集作出预测。
苹果数据科学家的技术面试问题样例:
针对指定的整数列,找出数组左半部分总和等于右半部分时的指数;
在数以千计的产品中,如何吸引数百万用户分别完成数百项交易,并将用户细分到有意义的组中;
根据指定的字符串列表,用Python编写一个函数,以返回相应字符串的所有易位构词。
现场面试
最后一步是现场面试。面试小组通常包含5到6轮面试,通常由面试职位所归属的团队来执行。每次面试会面见一到两位面试官,并由面试经理负责在苹果园区安排与其共进午餐。请注意,虽然可能是在非正式场合,但午餐面试在很大程度上属于面试文化的一部分。
现场注意事项
每轮现场面试的反馈是分开的,也就是说一轮面试的表现不佳,不会影响到下一轮面试;
请记住:苹果的数据科学家这个头衔涉及了与数据科学相关的众多团队,考虑到对全栈数据科学职位的各种要求,询问招聘者现场面试的内容会有所帮助。如果某个数据科学职位更注重数据分析,大量练习SQL和产品案例相关的问题更有用。如果某个职位需要构建模型和机器学习的知识,请复习机器学习系统设计及实施的相关概念;
通常来说,在白板编程面试中,面试官似乎更偏爱链表、数组/字符串及系统设计方面的问题;
苹果的数据科学家工资可能会很高,取决于你所属的级别。例如,第四级普通员工的年薪为15万到18万美元,另有工资10%的奖金,以及价值20万到30万美元的公司股票。每年股票的增值也很可观。
苹果的数据科学面试问题
描述L1及L2正则化之间的差异,特别是它们对模型训练过程影响的差异;
ACF和PACF的含义是什么?如何计算?
如何设计某个客户端-服务器模型:客户端必须每分钟发送一次位置数据?
编写一个函数,以检测二叉树的左右子树是否都是镜像。
假设有个过去5年内每月分组的时间序列数据集,如何确定本月与上月之间的差异是否显著?
XGBoost如何处理偏差方差权衡?
假设多个服务器上分布着10万个文件,想要处理所有的文件,如何处理?如何使用Hadoop来处理?
作者:Jay Feng, Interview Query网站的创始人,在Racketracer网站撰写数据等方面的文章。
原文:
https://towardsdatascience.com/the-apple-data-scientist-interview-2db967cabbce
本文为 CSDN 翻译,转载请注明来源出处。
【end】
◆
原力计划
◆
《原力计划【第二季】- 学习力挑战》正式开始!即日起至 3月21日,千万流量支持原创作者!更有专属【勋章】等你来挑战
推荐阅读
你点的每个“在看”,我都认真当成了AI