📜  DE Shaw 面试经历 |设置 11(校内)(1)

📅  最后修改于: 2023-12-03 14:40:40.982000             🧑  作者: Mango

DE Shaw 面试经历 | 设置 11(校内)

背景

DE Shaw是一家全球领先的量化投资公司,总部位于美国纽约市。在全球范围内,DE Shaw主要从事可以量化的交易,这个团队通常由来自数学、统计学、物理学、工程学、计算机科学、金融等领域的科学家和工程师组成。在2021年,DE Shaw曾在学校内进行了招聘,并参加其面试。

面试准备

在参加DE Shaw的面试前,我对其业务进行了深入地研究,同时也对数据结构和算法进行了全面的复习。我还亲自制作了一份简历以及一份详细的面试答题集,以备不时之需。

面试流程
一面

DE Shaw的第一轮面试主要是关于算法和数据结构的问题。面试官会问一些基本的数据结构和算法的问题,例如哈希表、树、堆、排序算法、动态规划等等,然后会要求你详细地解释你所选的算法的时间复杂度和空间复杂度。

在我的面试过程中,我被问到了以下几个问题:

  • 什么是哈希表?如何解决哈希碰撞?
  • 如何找到一个数组中的最大值?如何找到前n个最大的数?
  • 什么是二叉堆?如何对其进行操作?
  • 什么是动态规划?请给出一个例子。

我的策略是首先给出简短的答案,然后解释它的时间复杂度和空间复杂度。面试官也对我的解释非常满意。

二面

第二轮面试主要是关于编程的问题。面试官会给出一些编程题,让你在给定的时间内完成它们。在我的面试中,我被要求完成以下两道题目:

题目一:

给定一个字符串s,找到其中的最长回文子串。

示例:

输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。

输入: "cbbd" 输出: "bb"

解题思路:

回文字符串是一个从左向右和从右向左读取都相同的字符串,即一个回文字符串是一个正着看和反着看都是一样的字符串。

在我的解法中,用了一个中心扩展的方法,即以某个字符为中心向左右扩展,如果左右两边的字符都相等,就继续扩展。这个解法的时间复杂度为$O(n^2)$。

题目二:

给定一个二叉树,设计一个算法来返回其最大深度。

示例:

给定二叉树 [3,9,20,null,null,15,7],

    3
   / \
  9  20
    /  \
   15   7
   

返回它的最大深度 3 。

解题思路:

这道题是一道比较经典的树的题目。在我的解法中,我使用了递归的方法,先判断当前节点是不是空,如果是空,返回0。如果不是空,递归地求出左右两个子树的深度,返回它们的最大值+1。

三面

在第三轮面试中,面试官会问一些更具体的问题,例如你对某些算法的了解、编程语言的细节和你的项目经验等等。在我的面试中,面试官问到了以下几个问题:

  • 你对机器学习有什么看法?
  • 你在以往的项目中是如何调试代码的?
  • 你知道哪些Python的内置数据结构?
  • 你在以往的项目中使用了哪些开源库?
面试总结

DE Shaw的面试非常严谨和正式,考察的内容非常全面,包括算法、数据结构以及对编程语言和项目经验的了解。在成功通过DE Shaw的面试后,我对自己的编程水平和技能有了更深的理解和认识。