Pinterest工程技术面试指南

8分钟阅读 2018年9月14日

- - -

由Shayda Rahgozar(招聘),作者Nishant罗伊(工程师)和印第安纳·琼斯普伦蒂斯(工程师)

技术面试是着陆的关键工程的作用。从准备到提出正确的问题是很重要的对于一个成功的面试。在这篇文章中,Pinterest员工招聘和工程技巧分享如何通过这次面试从开始到结束。

准备你的面试

Shayda Rahgozar,招聘

实践:面试本身不应该第一次你听到和思考面试问题。练习从潜在问题提前概念真正的交易。温习核心CS,通用软件工程技能和大型系统的设计。公司不断刷新他们的面试问题银行,但您可以使用网站LeetcodeInterviewing.io找到伟大实践的问题。也别忘了看看资源像Pinterest开源项目GitHubopensource.pinterest.com

Pinterest,你可以在你喜欢的语言通常代码在面试期间,虽然准备灵活,可能存在情况下,面试官问你使用一个特定的语言基于团队和角色。为了你自己的利益请善用此当你完成练习题,并花些时间来熟悉语言的细节。

研究:表现出兴趣和激情的公司。如果你不是一个普通用户的产品,花些时间了解你能做什么。分享任何产品痛点或在采访中要改进的地方以及如何参与帮助公司成功。

参考公司自己的渠道,了解最新的趋势,发射和技术。例如,看看这个博客以及最近的新闻和我们的实验室项目Pinterest工程团队。

这是你的机会,不仅展示你解决问题和编程技能,但也显示面试官你有人想与他们的工作。

通过这个问题

作者Nishant罗伊,工程师

交流:技术面试的最重要的一个方面是你与面试官交流的能力。不要急于直接跳转到编写代码。相反,花一些时间去思考这个问题,分享你的想法。如果问题要求一些数据结构或系统设计,面试官可能预计高层讨论在你开始之前。这也是一个好主意问澄清的问题,以确保您对问题的理解与面试官。例如,贯穿几个测试用例或画一些数据来说明这个问题将帮助您正确地理解什么是预期,而且还将突出你的沟通能力和计划你的工作。

对细节的关注对于程序员是至关重要的,面试官会评估这个技能在编码面试。通常情况下,面试官不会给你所有的细节问题,如某些约束,无论是时间还是空间是更重要的是,输入格式或有效性,系统规模,等等。一旦你相信你理解问题,讨论细节会告诉面试官你思考如何写一个解决方案,是生产就绪。它还将帮助您更好地理解问题,提出一个更强的解决方案。

优化您的解决方案:一旦你相信你理解问题,编写代码之前讨论的解决方案的细节。从一个低效的解决方案开始,自言自语这样面试官可以跟随你的思路。解释为什么设计是低效的,讨论时间和空间复杂性,并试图找出任何瓶颈。此外,想想有多少空间优化问题的约束。通过这种方式,你给面试官能够想出一个天真的解决问题的办法,确定其弱点,找到改进的方法。

有一些方法来确定优化:

  • 试着简化了问题,看到如何优化的基本版本,并应用到手边的问题。看在你设计重复、多余的工作,并考虑如何减少它。
  • 思考什么样的数据结构最佳设计问题,尝试将它们集成到您的解决方案。例如,查找地图进行优化,堆排序优化,等等。

再一次,沟通是关键!只要你想大声和要求澄清或诱导性的问题,这很容易让面试官了解你的解决方案,甚至帮助你。一旦你和面试官满意解决方案设计,最后开始写代码。

时间管理:技术面试的一个最大的挑战是时间管理。虽然它总是好的花时间设计完美的解决方案,确保你不会在情况你没有时间来实现它。跟踪时间和给自己至少一半的采访写和调试代码。通常是更好的实现一个天真的解决方案和继续努力优化在任何剩余时间要比运行时间在试图实现一个最优的解决方案。

代码质量:写好,干净的代码总是你赢得面试官的批准,是否你写在电脑或白板上。良好的编码实践包括:

抽象出可重用的代码的功能

  • 写有意义的变量和函数名
  • 添加输入检查和null检查

这将使它更容易识别任何潜在的bug的代码之后,帮助面试官了解你的工作。

假设:这是完全可以接受的假设,只要你解释!是不合理的期望你还记得每一个细节的语言或实现每一个常见的数据结构和算法在有限的时间内。除非一个组件的实现是至关重要的解决这个问题,面试官通常会允许甚至希望你抽象出一些细节。然而,重要的是要清楚地说明和解释你的假设。例如,而不是实现一个helper函数,你可以设计方法签名,解释如何以及为什么你会使用它,然后继续前进。

测试你的代码是软件开发的最重要的部分之一。注重良好的实践和正确的,没有错误的解决方案而不是你能完成的速度问题。

  • 花点时间去重读逐行代码,寻找任何明显的错误。
  • 想出一些基本测试用例和单步调试代码一行。
  • 在每一行注意正在发生的事情。
  • 写下关键变量值。
  • 确保你得到预期的答案。

最后,冒天下之大不韪,试图打破你的解决方案,专注于:

  • 角情况下
  • 意想不到的输入格式和类型
  • 错误或异常处理、系统可靠性等。

你不需要实际实现甚至想出了一个解决所有这些问题,但它将显示你的面试官你考虑代码的局限性以及如何改进它。

有更多的技术面试只是编码了一个解决方案。面试官正在寻找另一个关键因素就是他们会与你的队友。有时候选人需要一些帮助,但显示很多优势在他们的设计和开发过程可能是评价高于候选人很快要自己正确的解决方案,但没有显示喜欢规划自己的工作或测试实施。

你解决问题和编程技能是通过技术面试您的机票。然而,编码问题并不是唯一留下一个好印象。从你的介绍你所问的问题可以帮助你充分利用面试。

提出正确的问题

印地赛车普伦蒂斯,工程师

除了技术问题,大多数面试官离开时间结束时你要问自己的问题。不过这是另一个机会留个好印象,最重要的是,你把你的问题回答。

即使你觉得你的面试问题,使用你的研究准备额外的问题来展示你的价值观和对公司的兴趣。这不仅显示了面试官你认真学习的机会和兴奋,但也允许您评估公司是否适合你。面试之前,花点时间反思什么才是最重要的,比如团队多样性,工作和生活的平衡,影响的机会,参与开源社区,或者与设计师合作。这是你的说话机会评估公司是否适合该法案!

除了价值观取向的问题,有很多通用的问题你可以问任何一个官来获得额外的信息公司,围绕这个话题开始谈话。这些问题可以围绕你的研究或面试官的角色。

一些例子:

  • 一个典型的一天是什么样的人吗?
  • 什么是你最喜欢的和最不喜欢的事情你的工作吗?
  • 你为什么选择加入,为什么你住吗?

帮助你充分利用时间和面试官的,确保你所问的问题是最适合的人。问题应该在工程师的经验的专业领域和适合讨论与一个陌生人。

例如:

面试结束时,你可能仍然有其他问题要问面试官。除非他们提供他们的联系信息,你可以跟进,最好不要让他们当场问。相反,您可以通过招聘人员找出最好的办法跟进。

虽然你的技术性能有助于确定候选人,面试是寻找员工不仅仅是这些技能。Pinterest,我们寻找超过强大的工程师。我们的团队是由人兴奋的产品,技术挑战,对全面发展的生活价值重要。最终我们要找的人会保持,在Pinterest感到高兴。参与候选人有一些原因想要来这里,无论是产品或技术的挑战,是最令人兴奋的。

使用时间作为候选人找到适合你的公司。充分利用非技术方面的面试可以确保你和你的公司是一个很好的匹配!

我们有越来越多的开放为我们的工程团队角色。如果你有兴趣学习更多关于在Pinterest工作,看看我们职业页面!

- - -

- - -

如何破解系统设计在2023年采访?准备技巧,问题和资源

11分钟阅读

2022年5月14日

职业切换器指南你梦想的科技工作,第1部分

21分钟阅读

2019年9月14日

王牌技术面试:让我进入谷歌,微软和更多

9分钟阅读

2019年5月26日,

如何王牌前端系统设计面试吗

4分钟阅读

2022年12月1日

获得领导的采访

5分钟读

2018年4月12日

数据工程面试学习指南

7分钟阅读

2021年4月22日

如何王牌技术采访你的下一个凯蒂·托马斯,自学在谷歌软件工程师吗

3分钟阅读

2017年2月27日

数据工程面试指南

6分钟阅读

2020年4月22日

如何王牌软件工程面试——第1部分(算法和数据结构)

5分钟读

2020年1月29日,

建议从媒介betway娱乐官网

列表

看到更多的建议
Baidu