📜  亚马逊面试经历-系统开发实习生

📅  最后修改于: 2021-11-15 08:29:44             🧑  作者: Mango

笔试

有 30 个基于 DBMS、OS、输出问题、OOP 概念的 MCQ。并且有 2 个编码问题

  • 一个基于数组的简单问题。
  • 第二个基于动态规划的方法数来获得具有 n 个 m 面骰子的给定总和。

两个编码问题都需要解决才能进行面试。

根据我在笔试中的表现以及我的简历,他们选择我参加系统开发实习生的面试。

面试第-1轮

面试官看了我的简历。没有浪费任何时间,他说让我们进入编码。他告诉我,首先他会解释/写下这个问题。然后我将不得不讲述我的方法,然后在最终的方法之后,我将在 A4 大小的纸上写下工作代码。

问题 – 在已排序和旋转的数组中搜索元素

我告诉他使用二分搜索找到主元的方法,然后在两半中应用二分搜索来找到元素。他告诉我,如果我可以使用二分搜索找到枢轴,那么我也可以在不找到枢轴的情况下找到元素。我在这一刻卡住了。然后我问他一个提示,他说你有数组中的第一个元素,最后一个元素和中间元素你如何使用它,使用它我能够解决并在论文中编写工作代码。

为什么我使用 mid= start +(end-mid)/2 ? (避免溢出!)

程序的时间复杂度被问到。 ( O(log n))

然后他问了我一些关于我的项目、实习的问题,一切都很顺利。

面试第-2轮

面试官开始说之前的面试官讨论了您的项目和实习,让我们从编码开始。他问了一个简单的字符计数程序,但基本上想知道我对 STL 的了解,即 Map 的使用。

主要采访从主题的问题开始

  • 像 cd、pwd 这样的基本 shell 命令,还问我 grep、cut 命令,就像之前在我的项目中所做的 shell 脚本一样。
  • 操作系统相关问题,调度
  • 当我写一个 URL 并在浏览器中按 Enter 时会发生什么。
  • 网络相关问题,如 TCP 和 UDP
  • 他给了我一些例子,并问我这里使用的是哪种协议。
  • 以及一些场景我们应该使用哪一种,为什么?
  • 什么时候应该增加服务器数量,什么时候应该提高服务器的性能。 (垂直和水平缩放)

这就是我被选中的那一天结束时的全部内容。