模拟面试的亚马逊软件工程师分享了打入大型科技公司的建议

2024-11-13 19:31来源:本站编辑

  • Rahmel Bailey分享了他在科技行业通过技术面试的技巧。
  • 了解核心co概念和沟通技巧是面试成功的关键。
  • 模拟面试和有针对性的练习可以加强对编码测试的准备。
感谢您的报名!转到时事通讯偏好

这篇按要求写的文章很好骑在一辆车上25岁的亚马逊软件工程师拉梅尔·贝利(Rahmel Bailey)的对话我住在西雅图。为了篇幅和清晰度,本文经过了编辑。

我在亚马逊做软件工程师已经两年多了。我也是FYJump的负责人,FYJump是一个帮助早期科技工作者找到入门级职位、发展技能和准备面试的平台。我们的服务对象是那些在这个行业没有太多人脉,需要帮助才能进入这个行业的人。

几乎每个软件工程或相关的职位都需要某种形式的技术面试,所以对求职者来说,做好准备并表现良好是至关重要的。

我主持过许多模拟技术面试,帮助客户培养最终进入这个行业的技能。以下是我对如何通过技术面试并找到理想的技术工作的建议。

弄清楚你想找什么样的技术工作

在你开始准备技术面试之前,你需要明确你的职业目标,明确你要申请的工作类型。银行编程面试的准备工作可能与大型科技公司的面试完全不同,所以确定你的目标可以帮助你制定准备计划。

有关的故事

掌握构成编码问题的基本数据结构

我建议在小公司寻找入门级工作的新程序员掌握构成大多数技术编码问题的基本数据结构和算法。我建议掌握八种基本数据结构:数组、字符串、链表、哈希映射、集合、队列、排序算法和二进制搜索。你可以在YouTube上观看有关这些概念的视频,或者参加Coursera提供的谷歌免费数据结构和算法课程。

如果你申请的是像亚马逊或谷歌这样的大型科技公司,这些公司往往会有更深入的技术面试,你需要学习更高级的数据结构和算法,比如二叉搜索树和高级图算法。根据你的学习方式,你可以通过课程、教科书或YouTube视频来学习。

专注于重复

Leetcode是一个流行的编程面试问题在线数据库。很多人说准备面试的最好方法是在Leetcode上做几百个甚至几千个问题,但我不认为这是正确的方法。我认为彻底理解核心概念比尽可能多地解决问题更重要。

我告诉我的客户通过专注于重复来更聪明地学习,而不是更努力地学习。花尽可能多的时间彻底理解每个问题。

看一下解决方案,然后回溯,试着拼凑出你是如何得出那个答案的。当你第二天遇到一个新问题时,回到你之前的问题并尝试再次解决它。我还建议人们使用Blind 75和NeetCode来获得额外的练习问题和面试资源。

以下是阻止杰出工程师在技术面试中获胜的原因

当你独自在家练习时,能找到解决方案是一回事,有无限的时间和资源,但现场采访完全是另一回事。你不仅需要对每个问题有一个概念性的理解,你还必须在限定的时间内与面试官讨论你的思考过程,并与他们合作。

因此,我建议人们准备模拟面试。联系工程师或朋友给你面试的机会,或者在网上观看其他人接受模拟面试的视频。给别人一个模拟面试甚至会很有帮助,因为你可以从面试官的角度了解它是什么样子的。你可以成为一名出色的工程师,彻底理解每个概念。但是,如果你进入面试并开始默默地编码,你并没有最大程度地证明你的能力。我认为沟通技巧是区分那些进入更先进的科技公司的人和那些没有进入的人的区别。

一步一步指导你完成技术面试

许多技术面试大约45分钟,包括1到5个编码问题。在简短的问候之后,你会遇到一个问题。

  • 你应该做的第一件事是问面试官一些明确的问题,以了解他们想要的具体内容。根据问题的不同,你可能会问a关于数据的大小或者在某种情况下数据可以是空的。问一个关于边缘情况,也就是不太可能发生但又可能发生的情况。把你们同意的假设写下来,这样双方都能清楚地看到。
  • 接下来,在设计更好的解决方案之前,您将提供一个不是最有效的基本解决方案根据需求进行分析。一定要把你的过程讲清楚,用伪代码或简单的英语把它画出来。面试官可能会给你一些反馈或建议,直到你们达成一致。这是你开始编程的提示,并在你这样做的时候大声说出来。
  • o完成后,您可以使用提供的示例数据或通过断言测试(一个测试代码的函数)来测试代码。
  • 最后,解释你的解决方案,包括它的优点和缺点。

并不是只有一个正确答案

工程是关于正反两面的,或者是针对情况的最佳答案。面试过程并不容易,但如果你愿意花时间学习,并与愿意帮助你的人为伴,你就会成功。

如果你在一家大型科技公司工作,想分享面试技巧或经验,请发邮件给Tess Martinelli: tmartinelli@businessinsider.com

善信网声明:未经许可,不得转载。