亚马逊面试经历 |设置 360(校园内)
第一轮:(在线测试)
时间:HackerEarth 平台 1 小时 30 分钟
20 MCQ(Gen Apti、OS、TOC、网络和 DS)
编码:
- 最大非相邻子序列
GeeksforGeeks 链接 - 利润排序(查找给定范围内的元素数量)
第 2 轮:(问题解决轮)
- 二叉树的垂直总和。
讨论可以使用的各种数据结构。终于想出了hash map。 - 二叉树的宽度
- map 如何在 C++ 内部存储?
- 如果一个班上有 N 个学生互相对战,每个学生与班上的所有其他学生对战,求出要进行的比赛的总数。
另外,如果班长必须将学生排成一排,每个学生都会输掉与他前面的学生的比赛(记住:学生可能会或可能不会赢得与他前面的学生的比赛) .设计一个合适的数据结构来维护这样的顺序。
第三轮:(数据结构和算法轮)
- 项目讨论
- Kindle 应用程序可以使用各种库。所有这些库必须适当链接才能包含在 Kindle 中。库之间会有依赖关系。应用合适的数据结构,使库不能在其依赖项之前添加。我讨论了拓扑排序方法。最后写了代码并测试了。
- 关于在线测试中提出的第二个编码问题的讨论。我被要求提出一个更好的解决方案,因为我可以使用额外的空间。我提出了一种基于散列和计数排序的方法。
- 线程与进程。他们印象深刻,因为我用一个实时示例进行了解释
- 程序如何存储在内存中?程序的堆栈框架?
- 当两个线程同时访问一个代码时,会发生什么。它是如何预防的?
- 互斥量和信号量之间的区别。
- 优先级继承和优先级倒置。
第 4 轮:(CS 基础)
- 说说你自己
- 设计一个音乐播放器应用程序
我被要求首先列出所有可能在 2 分钟内添加的功能。我想出了大约 30 个功能。面试官选择了其中的一些特性,并要求为其绘制类图。 - 到目前为止,我有一个大小不一的数据库。将来将添加具有额外空间的新数据库。数据库将如何修改?要修改什么?如何缩放它?
- 分布式计算概念
- 操作系统中的多个分区
- MVC 设计模式
- 我一生中最昂贵的错误
- 问一些其他人没有的关于我自己的有趣的事情。
- 无论我喜欢后端还是前端。讲道理。
第 5 轮:(提高标准轮)
- 项目讨论
- 空间中有k颗恒星和一颗起源星,找到离起源恒星最近的100颗恒星。
我首先提出了蛮力方法。
后来设计了一个最大堆解决方案并编写了相同的代码 - 虚拟机
- 关于 AWS、S3
- 设计模式。要求在Java中实现单例设计模式
- 调度算法。现代操作系统使用哪种调度算法?
- 强与弱
- 我获得的最新技术知识。我最近阅读的技术文章。
- 我在大学写过的最大代码量。
- 我这边有什么问题吗?
我是从我的大学中被选为亚马逊全职 SDE 的三人之一
亚马逊的所有练习题!