云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

企业邮箱_阿里云服务器是什么系统_评分榜

小七 141 0

工程面试-招聘经理脱颖而出指南

问任何处于成长期的公司的工程主管,他们的首要任务是什么,他们很可能会说招聘。当我们想到一个工作的决定对公司和求职者来说有多重要时,几个小时的面试时间似乎很短。我们要确保我们的面试过程充分利用这段时间,帮助求职者和数据员了解这个职位是否合适。我们希望了解您的情况,确保您获得做出最佳决策所需的信息。最好的方法之一就是设计强调对话和合作的面试。现实世界的问题是混乱和复杂的。我们更希望了解应征者如何解决抽象的挑战,而不是具体的解决方案。在进入面试流程之前,您希望应聘者了解Databricks数据团队的哪些内容?尽管Databricks运行的基础设施规模很大,但我们的工程组织相对较小。我们操作着数以百万计的虚拟机,每天生成数兆字节的日志和处理数兆字节的数据。在我们的规模内,我们定期观察云硬件、网络和操作系统故障,我们的软件必须优雅地保护我们的客户不受上述任何一种影响。我们用不到200名工程师来完成这一切。我们的规模意味着我们可以灵活地采用或创造我们认为是解决每一个工程挑战的最佳解决方案的技术。另一方面,我们的基础设施的许多部分仍在不断成熟,因此许多计划的关注点已经超出了单一服务的范围。它还是一家初创企业,所以所有权和责任的界限并不总是清晰的。这意味着你很容易做出改变,并在你的核心关注领域之外产生影响,你将拥有比其他地方更多的项目。在Databricks工作后,你打算成为什么样的大师?您将能够在大数据和机器学习领域创建可伸缩系统。大多数工程师在他们的日常工作中不使用applicated ML,但我们深刻理解它是如何在一系列行业中为我们的客户使用的。如何准备技术面试问题?我们的工程面试包括45到90分钟的技术和软技能评估。虽然我们的一些技术面试是更传统的算法问题,侧重于数据结构和计算机科学基础知识,但我们一直在转向更多的动手解决问题和编码评估。即使是在算法问题上,也欢迎考生在笔记本电脑上解决问题,而不是在白板上(如果他们愿意的话)。这有助于我们了解他们如何在更现实的环境中编写代码。对于我们的编码问题,我们较少关注算法知识,而更多地关注设计、代码结构、调试和学习新的领域。例如,我们的一些技术问题可能会使用您不熟悉的语言/框架,因此您需要展示阅读文档和在新领域解决问题的能力。其他的问题包括通过遵循一个特性规范逐步构建一个复杂的程序。我们还会根据应聘者的背景、工作经验和角色调整面试。对于更多的fullstack角色,我们将更多的时间花在web通信(http、websockets、身份验证)、浏览器基础知识(缓存、js事件处理)和API+数据建模上。对于更低级的系统工程,我们将强调多线程和操作系统原语。我建议准备三件事:在网上找到编码问题并练习完全解决它们。这意味着在不考虑解决方案的情况下创建完整的工作代码和测试。创建测试很重要;我们的一些技术问题有几个阶段,因此您需要能够在面试期间快速设置一个测试工具,以便快速编辑/编译/调试循环,就像您在日常工作中一样。复习计算机科学基础。了解常用的数据结构、每个方法的运行时和内存利用率,以及它们在您计划使用的语言中的接口。这本关于GitHub的技术访谈手册很好地概述了不同的数据结构,但您还应该学习多线程、并发、锁和事务等系统概念。做模拟面试。模拟面试的时间压力和对话是一个很好的方式,让你在真正的面试前感到舒服。让一个朋友问你一些你不知道的问题,并在需要的时候给你提示。Haoyi在我们的开发工具团队写了一篇关于如何有效面试的博客文章,这篇文章让我们深入了解了我们如何组织面试,以及我们在寻找什么。你在面试中最常见的错误是什么?既然我们已经介绍了我们要找的东西以及如何准备面试,那么在工程面试中,你应该有意识地避免做一些事情。主要原因是对这个角色缺乏激情或兴趣。记住,你也在面试公司,而且你要表现出你对匹配的投入是很重要的。热情不高,不熟悉Databricks产品,不提任何问题,通常都是你不感兴趣的迹象。正如你希望面试过程能挑战你,深入了解你的技能和兴趣一样,我们也希望应聘者能问我们一些棘手的问题,并花时间了解我们。对于技术面试,如果应聘者正在寻求一个不起作用的解决方案,我们会在花大量时间实施之前帮助他们认识到这一点。如果面试官在问问题,他们很可能是在暗示你走另一条路。与其停留在单一的解决方案上,不如花一分钟退一步,用新的提示或问题重新考虑你的方法。记住,你的面试官可能已经问了几十次同样的问题,并看到了一系列的方法。他们还想看看你在现实世界中会如何应对,在现实世界中,你将与一个以类似方式提供帮助的团队合作。对于注重工作经历和软技能的面试,有具体的例子。从泛泛的概括开始是可以的,但是要讲一个故事,讲一个你过去工作经历中的具体例子是如何回答这个问题的。当谈论你的工作经验时,试着(1)清楚地定义问题,(2)你的解决方案,(3)结果,(4)对改进的任何思考。提供深思熟虑的答案的一个好方法是使用明星访谈回应技巧。你在你的团队中看到了哪些成功和有影响力的工程师的品质(包括现在和过去)?在像Databricks这样的初创公司,我在成功的工程师身上看到的最重要的品质就是所有权。我们的发展很快,每周都会带来很多新的挑战,但我们并不总是清楚团队之间的责任划分和优先事项是如何确定的。伟大的工程师通过提出最具影响力的问题来处理这种模糊性,而不仅仅是那些局限于他们当前团队职责范围内的问题。有时这意味着直接帮助构建解决方案,但通常这会激励其他人优先考虑工作。我们关注的第二个品质是学习和成长的能力,尤其是对于那些在职业生涯早期的人。知识的衍生往往比候选人目前的技术技能更重要。我们正在解决的许多工程问题没有现成的模板可供遵循。这意味着要不断突破抽象层来考虑更大的系统——从最低级别的cpu指令,到如何在浏览器中呈现可视化效果。我是如何在面试中看到这些品质的?拥有大量所有权的工程师通常可以详细介绍他们过去工作所依赖的相邻系统。例如,他们知道他们使用的特定存储层或构建系统的优缺点以及原因。他们还经常创建变更来帮助他们的团队变得更有效-通过工具改进或流程更改。成长来自于对过去工作的反思。没有完美的解决方案,伟大的工程师知道他们下一步会做什么或做些什么不同。很多求职者表示,成长的机会是他们选择下一份工作的主要标准,但他们应该能够谈论自己已经在做什么来成长。也许这是一个副业项目,一个他们最近学到的新技术,对他们的开发环境的一些改进,或者他们在当前角色中培养的导师关系。您的团队正在解决哪些问题?你在寻找什么样的技能可以让求职者成功地解决这些问题?工作区团队有一个相当广泛的产品用例集来支持,并且大多数团队都在全套工作。我们寻找有能力快速学习新技术的多面手。我们也非常面向客户,需要工程师深入了解我们的用户制定需求。一些团队成员过去要么有自己的创业公司,要么在初创公司担任早期员工。理解一个角色最好的方法之一就是问:"我将成为什么的大师?"对于工作区团队来说,这是三项主要技能。快速学习新技术。工作区团队做了大量的探索性工作和原型工作。这个团队有许多多面手,他们需要将产品感和适应现有技术以适应新问题的能力结合起来。一个很好的例子是调整开源Jupyter,使其在Databricks托管的云中运行,并使用Databricks集群。另一个是创建一个pub/sub-infra,通过graphqlapi将更新流式传输到实时web客户端。围绕数据科学、机器学习和数据分析的工作流程。我们正在为这些角色构建产品,因此您将深入了解弗吉尼亚州数据科学家和数据工程师的日常工作流程