高盛面试经验|第36组(经验丰富者)

我在11月17日采访了Goldmanc sachs。这个过程非常缓慢,因为在我的例子中,第一轮是在9月17日开始的,最后一轮是在11月17日结束的。

null

第一轮: 首先是黑客测试。两个编码问题,第一个简单,第二个中到硬级别。

注:我不记得问题的确切措辞。

1.)给定一个字符串和突发长度,输出该字符串,使字符串中相同相邻字符的计数小于突发长度。

例子:

输入:abbcaaccd,3

输出:abbd

2.)给定一个不同整数的数组,以递增或递减的顺序输出长度为3的子序列的数量。

提示:准备动态规划,因为几乎每次第二个问题都是关于DP的。

第二轮:CoderPad

这里提出了两个问题:

  1. 机器人只能向四个方向移动,上(U)、下(D)、左(L)、右(R)。给定由移动指令组成的字符串,执行指令后输出机器人的坐标。机器人的初始位置位于原点(0,0)。
  2. 给定一个整数数组和一个和,输出加法等于给定和的对数。

提示:在CoderPad回合中,首先与面试官讨论你的算法。面试官要求你写专业水平的代码。面试官还会要求你们写所有可能的测试用例,尤其是角落测试用例,你们的代码应该通过。

第三轮:视频会议

在这一轮中,许多技术问题被要求检查以深入了解C++语言。

我记得的一些问题是:

  1. 自我介绍
  2. 什么是虚拟关键字,vtable如何工作,虚拟析构函数。
  3. C++、C++ 14中的异常处理(如果你声称知道C++ 14)
  4. 给出了许多与运行时多态性相关的场景,并询问了输出是什么以及为什么
  5. STL容器映射,集合,无序映射。
  6. C++中的映射与无序映射的区别,它们的实现细节。
  7. 真实世界中地图、集合、无序地图的使用。
  8. STL容器的螺纹安全。
  9. 智能指针,比如unique_ptr、shared_ptr、weak_ptr。用例和它们之间的差异。
  10. 算法问题:给定一个整数矩阵,求和最大的子矩阵。

经过这一轮和一个月的等待,我被要求在班加罗尔进行面对面的讨论。下面这一轮都发生在GS班加罗尔,一天之内。每一轮都有两名面试官。

第四轮:面对面

又有很多关于C++的问题:

  1. 虚拟机构
  2. 纯虚拟函数使用
  3. 纯虚函数vs虚函数
  4. 输出预测:给定一些C++代码,输出什么以及为什么。(我不记得确切的问题,但有一个是运行时多态性,第二个是函数返回的本地引用)
  5. 算法问题
    • 给定一个整数数组,找到最大子数组。输出带有开始-结束索引的和。
    • 给定一个充满X和0(零)的矩阵。计算所有标有X的单元格与最近的0之间的距离。四个相邻单元格(顶部、底部、右侧、左侧)的距离为1。例如输入:X x0 X X X X

      输出: 2 1 2 1 0 1 2 1 2

第五轮

C++问题:

  1. 实现赋值运算符重载,复制构造函数。
  2. 不同类型的演员以及他们之间的差异
  3. 上下转换,为什么以及如何工作。
  4. 钻石问题及解决方法。
  5. 虚拟继承如何在内部工作。
  6. 算法问题:
    • 给定一个只有三个可能数字0、1、2的链表,对列表进行排序。
    • 给定一个排序但重复的整数数组,找出给定数字的出现次数。

第六轮

设计问题 :设计手机目录,即联系人列表,以保存手机号码、电子邮件和其他信息。我们可以在手机上进行的所有操作,如按姓名、号码等进行搜索。

算法问题: 给定两个字符串s1,s2。输出这两个字符串可以合并的所有方式,同时保持字符顺序与s1、s2中的相同。设计一个递归算法。

示例:s1:ab,s2:cd

输出:

abcd

acbd

acdb

出租车

cadb

cdab

所以,各位,希望你们会发现这对你们的面试准备有用。祝你好运!!!

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享