高盛面试经验分享(经验丰富)

2021年3月19日18:39:25 发表评论 1,014 次浏览

所有IIT的面试都是相同的。

根据你申请的职位, 回合可能从7到12轮不等

第一轮:HackerRank测试– 90分钟

1:在圆的圆周上找到总晶格点。

2.给定正整数/点矩阵。我们必须从左下角开始, 然后到达右上角。我们的路径应该使我们能够获取最大分数。只能上下移动两个动作, 即从一个单元格(R, C)出发, 你可以转到(R, C + 1)或(R-1, C)。

注意:要获得下一轮资格, 两个问题都需要解决。

第二回合:(设计)

设计问题:

1.设计蛇梯游戏。

算法:给定循环链表, 在其中检测循环。

参考:

https://www.lsbin.org/detect-and-remove-loop-in-a-linked-list/

2.最小翻转以使二进制字符串交替出现。

参考:https://www.lsbin.org/number-flips-make-binary-string-alternate/

第三个是基于字符串实现的问题。

第三回合:(技术-1)

1.从介绍自己和我在当前组织中所做的工作开始。然后对其进行一些讨论, 尤其是涉及REST服务的讨论。然后, 他们让我有效地编写了一种针对情况的HTTP GET方法。

2.使用堆栈实现队列。首先, 我使用两个不同的堆栈来解决它。

3.然后, 他们要求我仅使用1个堆栈来实现队列。

4.什么是二叉搜索树?

5.编写程序以检查二叉树是否为BST。

6.什么是JDK, JRE, JVM?然后, 再对我给出的答案提出一些疑问。

7.给定一个仅包含0和1的矩阵。每行将具有一定数量的连续0, 然后是一定数量的连续1。我们必须找到包含最多0的行以及该行中0的数目。首先, 我建议对每行实施二进制搜索, 以找到零的数量, 然后比较每行的零的数量。面试官说是正确的, 但他们想要更好的东西。然后, 我建议在第一行实现二进制搜索, 存储包含最后0的索引, 然后在该索引的矩阵中向下移动。如果遇到1, 则可以放心地忽略该行。如果得到0, 则可以在该行上执行二进制搜索并更新你存储的值。访调员对此解决方案感到满意。

8.数组和链接列表之间的区别。在哪种情况下, 你会选择一个?

第四回合:(技术2)

1.什么是操作员超载?编写描述操作员重载实现的代码。

2.在字符串上为+运算符编写一个运算符重载方法, 该方法将第一个字符串与第二个字符串的反向连接在一起。

例如, String1-app String2-le然后String3 = String1 + String2 = appel。

在编写方法后, 他们要求我优化我的方法。所以我建议第二个字符串的倒序更快。

3.编写一种方法来测试上面的代码。他们希望我编写一个简洁的测试代码, 这对其他对我的原始代码一无所知的人来说是可以理解的。

4.不同的测试概念。什么是单元测试, 集成测试, 回归测试?每个人都需要什么?

5.测试讨论导致环境讨论。我在回答中提到了生产和测试环境。因此, 他们开始讨论对于同一应用程序需要这么多环境的需求。

6.如果我们为你提供了要添加到应用程序中的特定功能, 你将如何做?你将如何记录, 测试?你将如何在应用程序的不同环境中使用它?

第五回合:(技术三)

1.然后问一个问题, 给定括号, 括号和/或花括号的位置, 看是否有效。像{]} {})(, {}()[()]一样。第一个为假, 第二个为真。面试官真的在寻找我何时会被困住, 并试图看我如何当我一无所知时会做出反应, 当我被卡住时, 以及当我能够找到解决方案的方式时, 他喜欢这个零件。

2.在客户端-服务器体系结构中, 有多个客户端从多个请求到服务器。服务器应保持前一小时所有请求的响应时间。什么数据结构算法将用于此?而且, 平均响应时间需要维护, 并且必须在O(1)中进行检索。

第六回合:(技术四)

1.找到堆栈中的最小元素。需要优化的解决方案。

2.在BST中删除一个节点。

3.两个链表的交点。

4, 检查链表是否是回文

5, OOPS的概念:封装, 数据隐藏, 抽象, 多态等

互斥与信号量

通用线程

第七回合:(算法)

2.列出必须互赠或互赠金钱的朋友之间的交易清单。现在, 他们必须以最少的交易数量来解决。另外, 你还返回了所有交易的清单。例如–如果B欠A Rs。 200:B-> A =200。类似地, 如果C欠B Rs。 200:C-> B =200。因此, 最小交易数为1, 应为:C-> A = Rs。 200

第八回合:(技术5)

我们获得了一个2页的代码, 其目的是合并链表, 同时删除重复项, 并且必须指出程序的CORE LOGIC中的错误, 而不能给出分号或取消引用指针之类的愚蠢错误。我想我在代码中发现了大约4或5个好的错误。第二轮选出7个人。在我的面试中, 第一个问题是, 给定三元运算符字符串, 例如a?b?c:d:e, 我们必须将其转换为树形形式。

我花了一些时间来解决这个问题, 包括编写代码大约需要25-30分钟。面试官印象深刻, 问了我第二个基于动态编程的问题。

https://www.interviewbit.com/problems/ways-to-decode/

第9回合:(技术6)

1.我们得到了一个2页的代码, 其目的是合并排序的链表, 同时删除重复项, 我们必须指出程序的CORE LOGIC中的错误, 而不能给出分号或取消引用之类的愚蠢错误指针。我想我在代码中发现了大约4或5个好的错误。第二轮选出7个人。在我的面试中, 第一个问题是, 给定三元运算符字符串, 例如a?b?c:d:e, 我们必须将其转换为树形形式。

2.花了我一些时间来解决这个问题, 包括编写代码大约25-30分钟。面试官印象深刻, 问了我第二个基于动态编程的问题。

https://www.interviewbit.com/problems/ways-to-decode/

第十回合:(Tech-7)

1.陷阱雨水

2.下一个较小的数字/下一个较大的排列

3.一元树中两个节点之间的最大距离

2)给定一棵具有边缘权重的树, 找到树中具有最大边缘总和的任何路径。

3)给定一个迷宫, 起点和终点找到从起点到达终点的最短路径。

第11回合:(导演回合)

首先, 他彻底询问了我当前的工作以及我正在从事的工作。关于我的工作经验, 我们进行了大约30分钟的讨论。

然后, 他要求我实现堆栈。我使用arraylist做到了。对此进行了盘问10分钟。

之后, 他给了我一个难题:假设你和我在圆桌旁玩游戏, 而我们俩都有无数的硬币。规则如下:

•这是一种基于回合的游戏, 因此你和我轮流交替(每回合1个硬币)

•我们必须将硬币放在桌上, 并且硬币不能相互叠放。

•硬币一旦放置在桌子上就不得移动。

•如果没有足够的空间将硬币放在桌子上, 则将最后一个可能放置硬币的人获胜。

第十二回合:(人力资源回合)

1)你对高盛了解多少?为什么要加入?

2)正常的HR水平问题。

3)有关你如何在TOP银行部门中组织活动/工作的问题。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: