📜  高盛面试经历| 1年经验

📅  最后修改于: 2021-09-23 06:11:24             🧑  作者: Mango

招聘人员通过LinkedIn联系了我,并将笔试链接发给了我。

第1轮

  1. 有一家有老式收银机的商店。每件商品的价格都是手动输入的。给定物品清单及其正确价格,将价格与每件物品售出时输入的价格进行比较。确定销售价格中的错误数量。

    例如

    Input:
    products = ['eggs','milk','cheese']
    productPrices = [2.89,3.29,5.79]
    productsSold = ['eggs','eggs','milk','cheese']
    sellingPrices = [2.89,2.99,3.29,5.97]
    Output: errors = 2
    
  2. 从字符串删除所有连续的重复项

第 2 轮(Coderpad):

  1. 给定一个日志文件,作为指定格式的一些字符串数组,其中每一行都以一个 IP 地址开头。您必须找到最常出现的 IP。

  2. 给定学生分数的二维字符串数组,找到平均分最高的学生并输出他的平均分数。如果平均值为小数,则将其向下取整为最接近的整数。

    例如

    Input:  [{"Bob","87"}, {"Mike", "35"},
             {"Bob", "52"}, {"Jason","35"}, 
             {"Mike", "55"}, {"Jessica", "99"}]
    Output: 99
    

关于 HashMap 工作的基本问题,作为上述两个问题的解决方案,我确实使用了 HashMap。

第 3 轮(技术):由 2 名具有 6-8 年经验的高级成员参加。与 GS 合作。

  1. 给定一个自定义的 HashMap,其中只覆盖了 equals() 方法,他对代码做了一些小改动,我希望在每次更改后给出 HashMap 中的条目数。
  2. 详细询问了HashMap的内部工作情况。
  3. JVM 何时创建新对象?
  4. 骑士到达目标的最小步数
  5. 股票买卖以最大化利润
  6. 给出了一个代码,其中在所有可能的场景中实现了方法和变量覆盖,我希望在所有可能的场景中给出输出。 (如果您对Java的覆盖如何工作有一个完整的了解,您可以回答它们)。
  7. 方法和变量的覆盖如何工作?
  8. 什么是不可变类?

第 4 轮(技术):由 2 名在 GS 工作 10-12 年的资深成员参加。

  1. 根据简历讨论项目和使用的技术。
  2. 字符串类以及它们在内存中的存储位置。
  3. Java 8 接口中的添加(关于默认关键字)和菱形问题,以及使用默认关键字时如何解决。
  4. HashMap 是如何工作的,以及它遵循的契约。
  5. 什么是不可变类,我被要求实现自定义的不可变类?当我实现它时,问了多个交叉问题,以检查我是否对代码的每一部分都有清楚的理解,我写的与否。
  6. 单例类,我从单例类的一个非常基本的形式开始,并在每个实现中被问到是否有某种方法可以打破单例模式。然后我在单例类中编写了带有双重检查锁定的代码。
  7. Volatile 关键字及其工作原理。
  8. 他们试图询问Java的反射 API,但我之前没有听说过,所以我清楚地告诉了他们,他们只是跳过了它。
  9. 从根到叶路径形成的所有数字的总和
  10. 异常与错误、检查异常与未检查异常的区别。
  11. Final 关键字和 Immutable 类之间的区别。
  12. 静态关键字。
  13. JVM 如何从对象中取回内存。

第 5 轮(技术):由 2 名在 GS 工作 10-12 年的资深成员参加。

  1. 什么是 minheap?
  2. 给定数字 [1,2,3,4,5],它们以任意顺序插入到一个数组中,告诉该数组是一个最小堆的概率。
  3. 查找数组中的任何局部最小值。我告诉了 O(n) 方法,然后他们要求优化它。
  4. 我需要为这个问题编写完整的代码,并希望告诉我想到的任何解决方案:给定二维平面中的 4 个直角坐标和数百万个点,我需要告诉位于矩形。我先告诉了蛮力方法,然后他们要求给出一些更优化的方法,然后我开始使用二分搜索来接近它,面试官给出了很多提示,因为他希望问题能快速完成,然后让我编写代码为了它。
  5. 再次是 HashMap 问题,以及它的契约,在 hashmap 中使用哪些对象是安全的。 (似乎 HashMap 是他们的最爱,每一轮我都被问到)。

第 6 轮(招聘经理):

  1. 被问到在现在公司的经历?
  2. 为什么是高盛?
  3. 你为什么要这么早离开组织?
  4. 2 个基于场景的行为问题。
  5. 给定一个包含括号和字符串的段落,我需要判断括号是否平衡。 (我先用堆栈告诉了这个方法,然后被问到我是否可以用任何其他方式来做到这一点)。
  6. 找出在数组中出现次数最多和最少的数字。
  7. HashMap 合约。
  8. 然后他开始解释团队和他们所做的工作,他们的技术堆栈等等……我也解决了我的一些疑问并提出了多个问题。

结果:招聘人员口头告诉我我被选中了。