DE Shaw 面试经历 |校外
我的朋友把我介绍给了 DE Shaw,并被邀请参加他们的在线编码。
第一轮 |在线编码 | 70 分钟:
- 编码部分:不记得确切的问题,但它是这样的。给定一个巧克力列表、它们的 id、口味值(比如 X)和其他一些特征(比如 Y)。你每天吃一块巧克力。你先吃味道更好的巧克力。如果两种巧克力口味相同,则吃 Y 值较小的巧克力。给定m个查询。每个查询都包含天数。对于给定的天数,您需要打印您将要吃的巧克力的 ID。 [20 分钟]
- 多选题部分:
- 技术:来自数据结构和算法、操作系统、DBMS、SQL 和网络的 10 个问题。 [20 分钟]
- 能力:定量能力、问题解决和逻辑和语言推理的 10 个问题。 [20 分钟]
- 与系统相关的 5 个问题。 [10 分钟]
第 2 轮 |第一次技术面试 | 1.5 小时:
他们告诉这将是一轮代码对,所以我期待一些编码问题。但是我被问了很多关于我的项目和 cs 基础的问题。
- 我正在从事一个项目,该项目涉及多个用户为一个公共资源做出贡献,并由管理员控制它们。因此,他询问如何处理它以及如何防止滥用该功能。
- 在我和朋友一起做的一个项目中,我被问了很多问题,叫做 Anote-
- 你的贡献是什么?我们讨论了该项目的一些特点。
- 解释你的数据库设计。然后是一些关于相同的后续问题,例如如果我更改收藏的某些部分怎么办?它会起作用吗?为什么?
- 我们使用一个字段来优化对数据库的读取/删除查询。他问这个 - 为什么使用它?它对优化有何帮助?你是如何找到这个解决方案的?等等
- Google 网络登录如何工作?什么是 JSON Web 令牌 (JWT)?你为什么用它?它是如何工作的?
- 假设您正在开发应用程序并且有未保存的进度并且 JWT 已过期(因此,您无法将更改保存到数据库,因为用户现在没有经过身份验证),您可以做些什么来防止数据丢失?
- 你为什么使用 Reactjs? Reactjs 在内部是如何工作的?它如何优化速度?等(虚拟 DOM、Diffing 算法等)
- 什么是 MVC?
- SQL 与 NoSQL?什么是 SQLite?
- 什么是休息 API?它与 HTTP 有何不同?
- 什么是饼干?
- 什么是操作系统?
- 什么是多处理、多任务、多程序?
- 当您在 PC 中启动程序(例如 MS Word)时会发生什么?
- 什么是上下文切换?什么是抢占?
- 什么是内存层次结构?当辅助存储器也可以发挥作用时,对 RAM 的需求是什么?
- 什么是陷阱?什么是中断?
- 什么是 DMA?
- 当您在浏览器的地址栏中键入 www.google.com 时会发生什么?
- 什么是 IP 地址?
- 什么是 OSI 模型?
- 什么是面向对象?
- OOP 和函数式编程之间的区别。
- 什么是口译员?
可能还有更多我不记得的问题。
第三轮 |第二次技术面试 | 〜1小时:
- 自我介绍。
- DE Shaw 两年前来到我们学院招聘实习生,我在他们的第一轮面试中被拒绝了。于是,他就这件事问了几个问题。
- 两年来,您对 NoSQL 数据库的理解有何提高?
- SQL 与 NoSQL 数据库? CAP 定理?
- 你为什么使用 Reactjs?它如何帮助您高效地创建更好、优化的应用程序? (基于组件、可重用性、虚拟 DOM、协调等)。
- 你为什么使用 Redux?它如何影响代码复杂度?它如何改进状态管理?你可以使用本地存储来存储全局状态,为什么是 redux?
- 你为什么使用 NoSQL 数据库?使您使用 NoSQL 的关系数据库中的哪些问题?
- 你为什么使用 Nodejs 和 expressjs?
- 什么是休息 API?
- 关于 `sudo` 在 Linux 中如何工作的任何想法?
- 当你打开你的电脑时会发生什么?
- 获取给定 URL 的 IP 地址的过程?
- 编译器与解释器?
可能还有更多我不记得的问题。
第四轮 |第三次技术面试 |约 45 分钟:
- 自我介绍。
- 两年前,DE Shaw 在招聘实习生的过程中拒绝了我。所以他问——你在过去两年里有什么进步,证明你现在很适合公司?
- 他问我电脑的规格。
- 当您说您的处理器速度为 2.7 GHz 时,您是怎么理解的?
- 当你说你的硬盘的速度是 5400rpm 你是怎么理解的?
- 什么是固态硬盘?您知道比 SSD 更好的解决方案吗?
- 假设您突然注意到您的 PC 速度变慢了很多。可能的原因是什么?您将如何检测和解决问题?
- 什么是分页?为什么需要它?更多相关问题。
- 什么是引导加载程序?双启动如何工作?
- TCP与UDP?
- 什么是 SYN 攻击?
- 关于DNS的一些问题。
- 交换机与路由器?
- 广播与多播?
- Http与https? https如何安全?
- 什么是 API?
- 拼图:给定 2 个相同的矩形块。一个是铁,另一个是磁铁。你将如何区分?
- 谜题:给定 2 个鸡蛋和一座 n 层的建筑物。找到鸡蛋被抛出时会破裂的最低楼层。尽量减少投掷次数。
可能还有更多我不记得的问题。
几天后,我接到人力资源部的电话,他们希望我提供在 DE Shaw & Co 的职位,并安排了一轮讨论。之后,我接受了这个提议。
需要注意的几点:
- 提到的问题可能会错过一些后续问题。他们主要是为了了解您对该主题的知识深度。
- 根据我的经验,他们专注于您构建的项目。
- 如果您在简历中提到某些内容(尤其是项目),请对它的各个方面充满信心。您应该知道为什么要使用技术堆栈、库或框架。你会被问到这件事。