2021 年一次比较奇葩的 AWS 面试

面试的时间是在 2021年的 11 月左右。从 2021 年开始后 AWS 貌似也不怎么狂发 OA 了,很多时候的面试就直接跳过了 OA 环节进入到白板测试中了。

非常不幸的是第一轮面试就被提示不进入下一轮了。

面试的时间是在 2021年的 11 月。

相关背景

本次面试的原因是有招聘的同事在 Linkedin 上找到我。

做的项目是 OpenSearch https://opensearch.ossez.com/ 项目相关的内容,这个项目主要因为 elasticsearch 版本许可证的问题,AWS 不能够再使用 elasticsearch 相关服务和技术了。

因此 AWS 自己开发了一个基于开源的 OpenSearch 项目来替换掉将要过期的 elasticsearch 服务。

第一轮面试相关

第一轮面试是和印度人面试的。

使用的是 AWS 自带的面试视频软件。说心里话,整个面试的过程并不是非常专业,比如说面试到一半对方消失了 10 分钟左右。

对方孩子一直在视频中叫唤等等情况。

面试题目

面试主要问了 2 个题目,同时针对这 2 个问题展开了一些讨论。

大数据情况的用户管理

在大数据情况下的用户管理,主要希望问的是假设你有一个 Google 数量级别的用户,你应该如何设计用户管理和用户数据查询。

个人感觉这个问题我的回答不是非常好,原因非常简单,因为我没有怎么设计过这类的系统,在一般的通用环境下,大部分都会使用 SQL 来解决。

但,我知道这类的设计肯定是不会使用 SQL 来解决的,因为 SQL 达不到这类的效果和访问需求。

但是如何设计,这个如果没有做过的话,那么可能会有点晕。我给的方案应该是索引和 NoSQL 的方案,但是后面他又问道了服务应该如何安排。

我知道在这里基本上会使用集群,一般可以考虑使用 ZooKeeper 来进行同步或者可以参考下 Druid 的数据设计模式,但是可能没有说的非常清楚。

个人感觉这个问题的回答不是非常好。

ATM 函数功能相关设计

ATM 中通常有取款,存款,查询余额度的相关操作。

在这里他希望设计一个函数或者程序结构什么的,这个设计可能会比较复杂也可能会比较简单。

在这里我考虑了 OO 设计中的接口和实现的方式,针对 取款,存款,查询余额设计不同的接口以及实现。

在考察面试的过程中,并不需要你完全下下所有的代码,你可以使用伪代码表达自己的意图就可以了。

总结

针对这上面 2 个面试的问题,其实还是有些坑的。

如果你没有设计过或者没有太多经历,可能会入坑的情况比较多。

在几天后,收到了拒绝的邮件,我也不知道上面的回答有什么问题,也不明白现在的 IT 面试都这么内卷了吗?

欢迎有相同经历的同学参与下讨论。