📜  亚马逊面试体验(Pool Campus-2019 年 3 月)- 浦那(1)

📅  最后修改于: 2023-12-03 15:06:22.021000             🧑  作者: Mango

亚马逊面试体验(Pool Campus-2019 年 3 月)- 浦那

亚马逊是全球最大的互联网零售商之一,其核心业务包括电子商务、云计算、人工智能等。作为一名程序员,有机会加入亚马逊,是许多人梦寐以求的事情。在2019年3月的Pool Campus面试中,我有幸参加了亚马逊的面试体验,并在此分享我的经历。

面试流程

本次面试分为两轮,每轮60分钟。第一轮主要考察编程技能,第二轮则是职业技能和面试官的问题回答。以下是面试流程的详细描述:

第一轮

题目: 模拟井字棋游戏。

我们需要用C++实现井字棋游戏。具体的要求是:两个玩家交替放下棋子,当有一个玩家在水平、垂直或对角线上占据了三个格子时,游戏结束,该玩家胜利。

我和面试官一起思考最优解,我的思路是用二维布尔数组表示棋盘上的每个位置,每个玩家分别对应True和False。每当一个玩家放下棋子时,我们就检查该玩家是否胜利。如果游戏未结束,则换下一个玩家放棋子。最后,我们输出胜者并结束游戏。

时间复杂度: O(n^2),其中n为棋盘的大小。

面试官评价: 我的思路清晰,代码书写规范。然而,我没有考虑优化代码的时间复杂度。

第二轮

问题: 实现一个电影数据库,在该数据库中,用户可以查看电影信息、添加电影、删除电影以及修改电影信息。

我用Java实现了该数据库,并用MySQL作为后端数据库。我使用了JavaFX和SceneBuilder来实现GUI界面,并使用Hibernate来映射数据库和Java实体类之间的关系。

面试官提出了一些问题,例如:如何确保唯一性约束?如何优化查询速度?如何管理数据库表的外键关系?

我可以回答这些问题,并以优雅的方式重新实现了某些部分。最终,面试官对我的解决方案给予了较高评价,并让我问了她一些关于公司文化和工作氛围的问题。

总结

参加亚马逊的Pool Campus面试是一次非常有益的经历。这不仅让我从面试官那里学到了很多知识,而且还让我了解了亚马逊的工作文化。在以后的工作中,我会将这些经历运用到我的实践中,做到更好的面试表现。