数据科学访谈:他们可能会问什么以及在哪里可以找到问题的答案



一旦收到Deliveroo的录取通知书,我就应该成为该公司的数据科学经理。在我准备履行职责时,该报价被撤回。当时我没有安全气囊,以防长时间失业。我将与您分享一切最终帮助我立即从Facebook获得两个数据科学家职位的提议。我希望这可以帮助你们中的一个摆脱我几个月前发现的困境。



1.组织是一切的关键



我去了Google(和DeepMind),Uber,Facebook和Amazon进行采访,采访了与Data Scientist职位相关的所有内容。大多数时候,我被问到诸如以下行业的问题:



  • 软件开发
  • 应用统计
  • 机器学习
  • 数据处理,管理和可视化


没有人期望您成为所有这些行业的超级专业人士。但是,您必须对他们有足够的了解,才能说服面试官您的能力和担任拟议职位的权利。您需要理解该主题的深度取决于工作本身,但是由于这是一个竞争激烈的领域,因此任何知识都将派上用场。



我建议使用概念来组织面试准备。该工具用途广泛,此外,您还可以应用间隔重复和主动召回等技术。它们有助于增强学习成果,并发现数据科学家采访中反复出现的关键问题。阿里·阿卜杜勒(Ali Abdaal)有很棒的指南使用Notion做笔记。帮助您在面试过程中发挥最大的潜力。



在采访之前,我一直在不断地重复在Notion上的笔记,尤其是积极地。这使我对自己的能力充满信心,并且关键的主题和术语都在我的“工作记忆”中,因此我不必浪费宝贵的时间,在一些问题之后有意义地说“ nuuuuuu”。



2.软件开发



您不必总是回答有关算法时间复杂度的问题。但是任何数据科学家的工作都需要编码。如您所知,数据科学不是一个专业,而是许多专业,它吸引了包括软件开发在内的各个领域的人才。因此,您将不得不与了解编写高效代码的细微差别的程序员竞争。我建议每天在面试前花费1-2个小时,掌握和/或加强以下主题的知识和技能:



  • 数组。
  • 哈希表。
  • 链接列表。
  • 两个指针的方法。
  • 字符串算法(雇主喜欢此主题)。
  • 二进制搜索。
  • 分而治之的算法。
  • 排序算法。
  • 动态编程。
  • 递归。


不要以正式的方式研究算法。这是没有用的,因为面试官可能会问有关某种算法细微差别的问题,您会迷路。相反,最好掌握每种算法的基础。探索计算和空间复杂度,并了解为什么所有这些对于创建高质量代码都很重要。



访谈者确实对算法有很多疑问,因此值得学习基础知识和常见案例研究,以使以后的访谈变得更加容易。



即使需要很长时间,也要尝试回答所有可能的问题。然后查看决策模型,并尝试确定最佳策略。然后查看答案并尝试理解为什么会这样?问自己一些问题,例如“为什么Quicksort O(n²)的平均时间复杂度?” 或“为什么两个指针和一个for循环比三个for循环更有意义?”



3.应用统计



应用统计在数据科学中起着重要作用。重要程度取决于您所申请的职位。应用统计实际在哪里使用?在需要组织,解释和从数据中提取信息的任何地方。



在面试期间,我建议您仔细研究以下主题:



  • ( , , , ).
  • (, , 5 10 ).
  • ( A / B-, T-, , - . .).
  • ( , ).
  • ( / ).


如果您认为这是要学习的大量信息,那么您就不会认为。我为您能要求面试多少以及可以在网上找到多少来帮助您进行准备而感到惊讶。有两种资源可以帮助我应对:



  • 概率统计概论是一门免费课程,涵盖上述所有内容,包括问题和自测考试。
  • 机器学习:贝叶斯和优化观点这比应用统计更多的是机器学习课程。但是,这里描述的线性代数方法有助于理解回归分析概念的细微差别。


最好不要死记硬背。您需要解决尽可能多的任务。Glassdoor是一个很好的资料库,用于存储您通常在面试中遇到的应用统计问题。我遇到的最困难的采访是G-Research的采访。但是我真的很乐意为此做准备,Glassdoor帮助我了解了我在掌握该主题方面取得的进展。



4.机器学习



现在我们来谈谈最重要的事情-机器学习。但是,这个主题如此之大,以至于您完全可以迷失其中。



以下是一些资源,这些资源将为您入门机器学习奠定坚实的基础。这是一组按主题排列的详尽主题。



指标-分类











-, Over/Under-Fitting











Sampling





假设测试



本主题与应用统计信息更多相关,但在A / B测试中尤其重要



回归模型



有大量有关线性回归的信息。您应该熟悉其他回归模型:





聚类算法





分类模型





数量很多,但是如果您擅长于应用统计,它看起来并不可怕。我建议学习至少三种不同的分类/回归/聚类方法的细微差别,因为面试官总是可以问(并且确实),“我们还可以使用其他哪些方法,优点/缺点是什么?” 这只是知识的一小部分,但是,如果您知道这些重要的示例,则面试会更加顺利。



5.数据处理和可视化



“在应用机器学习算法之前,向我们介绍数据处理和清理的各个阶段。”



我们提供了一组特定的数据。首先也是要证明您可以完成EDA。最好使用Pandas,如果正确使用Pandas,则它是数据分析工具箱中功能最强大的工具。学习如何使用熊猫处理数据的最好方法是下载许多数据集并使用它们。



在一次采访中,我需要加载数据集,清理,渲染,选择,构建和评估模型-全部在一小时内完成。真的很疯狂,我们非常努力。但是我只是在练习数周,所以即使丢失了线程,我也知道该怎么办。



组织数据生活中



有三件重要的事情:死亡,税收和获得合并数据集的请求。熊猫几乎是完美的工作,所以请练习,练习,练习。



资料分析



此任务涉及了解数据集的“元”特征,例如数据中数字,类别和时间特征的形状和描述。您应该始终努力回答一系列问题,例如“我有多少个观测值”,“每个功能的分布情况如何”,“这些功能的含义”。这种早期分析可以帮助您从一开始就放弃不相关的功能,例如具有数千个级别的分类功能(名称,唯一标识符),并减少您和计算机的日常工作量(聪明,不费力,或类似的东西醒了)。



数据可视化



您在这里问自己:“我的功能分布是什么样的?”快速提示:如果您没有在本教程的“应用统计”部分中了解箱形图,现在是时候了,因为您需要学习如何以视觉方式识别异常值。当查看每个函数的分布特性时,内核密度直方图和图形是非常有用的工具。



然后我们可能会问“我的函数之间的关系是什么样的”,在这种情况下,Python有一个名为seaborn的软件包,其中包含酷而强大的工具,例如pairplot和用于相关图的漂亮热图。



处理空值,语法错误以及重复的行/列



值的丢失是不可避免的,此问题源于许多不同的因素,每个因素都以自己的方式影响偏移量。您需要学习如何最好地应对缺失的价值观。查阅本指南,了解如何处理空值



当数据集包含手动输入的信息(例如通过表单)时,通常会发生语法错误。这可能导致我们得出错误的结论,即分类函数具有比实际更多的级别,因为“热”,“ hOt”,“热/ n”被认为是唯一的级别。查阅此资源来处理脏文本数据。



最后,重复的列是不必要的,重复的行可能会使显示失真,因此值得及早处理它们



标准化或归一化



根据所使用的数据集和选择使用的机器学习方法,数据进行标准化或归一化可能会有所帮助,以便不同变量的不同比例不会对模型的性能产生负面影响。



总的来说,帮助我的不仅仅是了解所有内容对培训的帮助。在使我意识到以上所有内容都不是只有少数人可以掌握的深奥概念之前,我在许多采访中都失败了。这些是数据科学家用来构建酷模型并从数据中获得重要见解的工具。



关于这个话题:






All Articles