如何为Microsoft软件开发工程面试做准备?

2021年3月17日15:11:02 发表评论 601 次浏览

比尔盖茨…无论你是8岁还是80岁, 人们都非常清楚这个名字及其对这个世界的贡献。一个以举止极端和举止闻名的人微软。当比尔·盖茨(Bill Gates)创建Microsoft时, 他的愿景是每个家庭都应该拥有一台计算机(最好是Windows), 并且他做到了。如今, 微软已成为全球知名的科技公司。如果你正在为进入这家公司做准备, 那么你肯定会意识到数据结构算法准备面试。

如何准备Microsoft软件开发工程采访

毫无疑问, 这是申请SDE或Microsoft或任何其他大型科技公司中的软件工程师职位的必备技能。这些公司的聘用程序有点类似, 但我们将分享一些具体的细节, 技巧, 准备策略和评估流程, 以帮助Microsoft破解面试。请记住, 这些回合的难度级别取决于你正在应用的SDE职位的级别, 并且你可以选择自己喜欢的任何编程语言。

注意事项

  • 在Microsoft中, 没有固定的采访过程或格式。它随产品组或团队而变化。面试过程中最常见的是四到五轮, 每轮都针对分析, 解决问题, 设计, 编码和测试候选人的技能。
  • 当你刚从大学(本科生)毕业时, 很少有人入选任何特定团队。有时甚至在你面试时也没有指定角色。当你从事某些工作或即将离任硕士学位时, 通常会为组织中的特定团队/角色招募你。在这些访谈中, 混合了算法和你的专业知识特定的问题。你在过去8-9年的行业工作经验。在这里, 你的经验和履历比你进行的任何技术面试都多。
  • 对公司做一些背景研究。公司目前正在做什么, 或者他们目前正在开发的市场方案或技术是什么。这表明了你对公司的兴趣, 这是判断一个人对公司有多大兴趣的好方法。
  • 面试官受过训练, 不会对你的答案做出反应, 因此不要指望他们回答是或否, 无论你是否朝着正确的方向前进。这很糟糕, 但是是评估候选人的一种非常有效的方法, 因此请准备好自己, 看看冷酷的面孔。
  • 与Google或Facebook相比, Microsoft面试问题/难度级别的一致性有所降低。

现在是时候讨论一下Microsoft进行招聘过程的策略和回合了, 然后牢记一个适用于每家公司的快速提示... 你的目标是编写适量的良好代码并进行良好的沟通。你无需支付代码, 无需思考, 找出问题并提供解决方案。要破解任何技术面试, 你只需要一台笔记本电脑, 可正常工作的互联网连接, 即可定期解决问题, 并且在几个月内你就可以了解要点。微软的面试程序类似于其他大型科技公司, 因此让我们讨论一下……

正在发送申请

你可以在以下位置申请SDE角色访问微软职业页面, 但成千上万的候选人申请了此职位, 因此招聘人员很难在面试电话中发现他们。如果你有任何推荐或与Microsoft员工有联系, 获得面试电话的机会就更多。如果你没有, 我们强烈建议你通过LinkedIn与招聘经理或招聘人员建立联系。另外, 在申请工作时, 应将重点放在简历上。以下是一些有助于你进行面试的要点...

  • 尝试做一个单页简历并且仅包含相关内容。简而言之, 因为没有一个招聘人员扫描简历的时间超过15秒。只写下你喜欢的那些东西, 不要伪造任何东西, 因为面试官可以在面试过程中轻松发现这一点。如果要提及你的项目, 那么也要提及项目的复杂性。检查链接简历建设-资源和提示准备你的简历。
  • 微软有一个特定的专门用于学生招聘的网站如果你要从大学毕业。
  • 微软有时会在招聘会, 黑客马拉松等活动中招募人才, 尽管等待这些机会中的任何一个有机增长可能都是一个漫长的等待游戏, 尤其是取决于你在全球的位置。你可以访问链接hackathon.com看看你所在地区是否有黑客马拉松。
  • 保持你的Linkedin, Github和其他个人资料更新, 招聘经理使用诸如LinkedIn, 校友数据库和专业协会之类的工具来寻找合适的候选人。

与招聘人员联系后, 他们将希望协调你的首次电话面试。

筛选面试

我们可以邀请这个候选人参加完整的循环吗?为了筛选出很多候选人, Microsoft进行了此回合, 此回合节省了公司大量的时间和资源。筛选回合可以是电话, 也可能会要求你完成编码挑战, 而你需要编写干净, 优质和无错误的代码, 并且还应该对其进行优化。此回合由基本到中级的数据结构和算法问题组成, 你将有一些在线文档可以写下代码, 并且访问者可以看到。大约需要30-45分钟, 可能会有2-3个编码问题。以下是在线编码挑战或电话采访时要牢记的重点。

  • 电话回合的设计并不是很困难, 挑战的解决方案是在现场采访中提出。
  • 你需要为面试官会问的编码问题编写代码, 并在一开始就抛出蛮力解决方案, 但是你也应该尝试改进你的解决方案。考虑时间和空间的复杂性, 看看是否可以改善这些时间和空间。
  • 大声思考并在电话面试中说清楚(在这里人们会遇到麻烦), 并向面试官说明解决问题的策略。
  • 练习在一些在线文档上编写代码。这将帮助你在面试中很好地处理电话回合。
  • 解决问题极客, 职业杯和, 黑客排名.

现场采访

在上一轮中被选中后, 系统将邀请你进行为时一整天的循环, 其中包括四到五单独的采访。这些面试中的每个面试大约需要一个小时, 而这将是白板回合。确切的回合数取决于你在每个回合中的表现以及所申请的职位。现在, 这里介绍了DSA和核心CS主题的主要角色, 以检查你的编码, 解决问题的技能和对计算机科学基础知识的掌握。你需要准备好所有项目, 实习经验, 以前的经验以及绝对的编码和解决问题的能力。问题的难度级别取决于你在Microsoft中申请的角色(SDE1, SDE2等)。

1.技术面对面交流

使用数据结构和算法知识测试候选人是否可以解决现实世界中的问题。期望能够针对给定的问题找到最优化的解决方案。必须具备与算法一起传达算法知识的能力。

以下是Microsoft面试中通常遇到的问题类型的分布。此数据基于Microsoft Glassdoor的采访经验。

面对面的技术问题-微软面试准备

检查链接如何在基于产品的公司中找到工作?处理深入的技术编码问题, 面试过程中应遵循的方法和技巧。

查看Microsoft招聘人员提供的面试技巧。

提出所有澄清的问题, 考虑蛮力方法, 优化解决方案, 然后写下代码。这是我们建议你遵循的简单步骤, 以解决编码问题。

你需要对过去的经验或实习期间完成的项目感到满意。面试官将从那里提出问题, 因此请确保你对项目有完整的了解和详细信息, 以便向面试官解释。

我们强烈建议你阅读CTCI(破解编码面试)书, 尤其是在lsbin, HackerRank和CareerCup上练习问题进行面试。

你在Microsoft采访中会遇到的大多数问题都涉及对数组和字符串的一些理解。除此以外, 还有链接列表和图/树数据结构的问题。

不要忘记在所有情况下都测试你的代码。编写解决方案后, 你必须测试你的代码, 即使是最低限度的测试, 因为如果你不这样做, 则会扣分。

2.系统设计回合

  • 系统设计问题是不限成员名额的对话, 这一轮主要由经验丰富的候选人进行, 他们将测试你设计和扩展基于技术的系统(如设计)的总体能力Gmail, YouTube, Uber等
  • 检查链接系统设计面试问题, 系统设计面试准备并检查极客
  • 面试官通常对数据库, 存储, 日志等资源的选择感兴趣;功能的高效算法;识别所有可能在系统出现问题时存储的重要数据和类;最终用户拥有哪些功能, 哪些功能不暴露给最终用户呢?扩展涉及的系统和服务器;多线程, 消息队列, 高速缓存等的使用
  • 对各种数据库技术, 它们如何扩展以及如何进行比较, 框架和不同技术的知识有扎实的了解, 这对系统设计大有帮助。

面试评估标准

面试后, 所有面试者之间都要举行会议, 与招聘经理和人事代表讨论, 辩论并证明其个人等级。进行面试后, 你将与其他候选人进行比较, 考虑以下一些因素, 面试官将找到最佳人选。

  • 面试官在接受面试时通常会有一种心态, 即如果他/她可以与应聘者一起每天工作, 那么请不要在面试时表现出傲慢或自我的迹象。
  • 面试官将在实施代码时检查你是否使用了合适的数据结构和算法。
  • 采访者将注意到你如何优化解决方案, 有关编程语言选择的知识, 编码速度, 错过的任何极端情况以及如何分析时间和空间复杂性的方法。
  • 他们将检查你如何传达你的思维过程以逻辑方式解决特定问题。他们还将检查你是否能够抓住提示并能够继续解决问题。

提示

  • 学会"大声思考"在整个面试过程中, 否则面试官不会知道你在想什么。向面试官展示你对问题的思考过程以及解决问题所要遵循的方法。
  • 永远不要说你做不到。即使存在你之前从未解决过的问题, 或者似乎无法解决的问题, 请从不同的角度来不断解决问题, 面试官会给你提示。重要的是尽快捕获提示并继续解决。如果你无法捕捉到提示, 那将是一个很大的危险信号。
  • 在跳转到解决方案之前, 请务必提出相关问题, 以使其更加清晰。在前往解决方案之前, 请务必与面试官核对你的假设并清除所有疑问。
  • 你的面试官希望在你的代码中看到3个关键要素。它应该运行快, 不占用过多的内存, 并且稳定且易于维护。做到这一点, 你已经领先于大多数人。

重要链接:

  • Microsoft面试问题
  • 微软面试经验
  • 必须做编码问题公司明智
  • Glassdoor Microsoft软件开发工程师面试问题
  • 微软面试最问问题

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: