📅  最后修改于: 2023-12-03 14:47:20.416000             🧑  作者: Mango
本文将分享我作为 SDE-1 在亚马逊的面试经验,这个经验是我在校外的实习期间经历的,持续了6个月。
在准备面试之前,我花了大量的时间来学习计算机科学和算法。我阅读了很多经典的书籍,例如《算法导论》、《计算机程序设计艺术》等等。同时,我也参加了很多的比赛和活动,例如 ACM 比赛、刷题等等。
除了基础算法的学习,我也特别关注了亚马逊的面试流程,包括他们喜欢问的问题和他们感兴趣的技术。我从 Glassdoor 上找到了一些常见的面试问题,并通过练习来熟悉这些问题的解决方法。
亚马逊的面试流程由三轮面试组成:电话面试、在线编程测试和在线系统设计测试。每轮面试都有不同的内容和考察点。
在电话面试中,我被问及一些基础的算法和数据结构,例如排序、查找和哈希表等。我还需要解决一些编程问题,例如反转字符串、判断回文字符串等等。此外,我还被问及了一些关于数据库和网络的问题,如 SQL 查询和 TCP 协议。
在在线编程测试中,我需要解决五到六个编程问题,每个问题时间为 60 分钟。我需要使用任何编程语言来解决这些问题。这些问题通常是与数据结构和算法相关的问题,如二叉树、链表、图和动态规划等等。
在在线系统设计测试中,我需要根据一些业务需求来设计一个大规模的系统,包括前端、后端和数据库等。我需要考虑系统的可扩展性、可用性和可维护性等。
在亚马逊的面试过程中,我学到了很多关于算法和系统设计的知识。我也通过这个过程成长了很多,更加自信地去攻克难题,并提高了我在面试中的表现和能力。希望我这些经验对即将面试的程序员有所帮助。