📜  高盛面试经历(4年经验)

📅  最后修改于: 2021-09-23 05:47:16             🧑  作者: Mango

有一家咨询公司打来电话,从 naukri 门户网站选择了我的个人资料,并打电话给我关于高盛的 C++ 开发人员和 3-5 年的经验。

第 1 轮:黑客排名轮

本轮包括 2 道黑客等级问题,时间为 2 小时完成本轮

  1. 查找给定矩阵中位置元素的数量。如果在相应的行或列中出现多个位置元素,则返回 -1。 (这个问题与 GeeksForGeeks 上给出的相同,除了位置元素出现的条件:find-number-of-positional-elements)
    我能够使用相同的方法解决这个问题
  2. 根据输入对字符串编码/解码。输出应基于密钥。用户有以下 3 个输入:int(操作 o-for encode,1-for decode)
    字符串(输入字符串- 要编码/解码的单词)
    字符串(编码/解码的关键,例如 123)eg
    输入:
    0
    打开
    123
    预期输出:
    打开

    对于编码,输出中的字母应根据键重复,例如在上面的示例中,o 重复 1 次,p 重复 2 次,e 重复 3 次 &字符串的其余部分与输入中的相同。如果 key 较大,则忽略超过输入字符串长度的额外字母。类似的解码方式。在所有异常的情况下返回-1。
    我能够解决这个问题,但测试用例一直失败,直到我意识到在输入字符串进行解码时,用户可能会输入一些错误的字符串,这些字符串无法使用给定的键进行解码,就像键是 123 一样,输入字符串是“oppxn”。现在字符串中没有出现 3 次,因此在这种情况下应该返回错误。

这两个问题的所有测试用例都通过了,后来我接到了一个关于编码器垫轮的电话。

第 2 轮:编码器垫轮

面试官预计会在上午 11:00 打电话,但我在 11:20 接到电话,面试官很有礼貌,花了大约 5 分钟时间完成问题并提供了一个问题给我。

  1. 查找整数数组中的第一个非重复字符。这个问题类似于 geeksforgeeks 中给出的问题:第一个非重复字符
    最初我使用 2 个复杂度为 O(n^2) 的数组解决了这个问题,但他告诉我简化然后我能够在 O(2n) 中这样做。解决了这个问题后,我又被问到另一个问题
  2. 给定一个包含不同单词的单词(字符串)字典,您将获得一个输入字符串,例如“abd”。您需要在提供的字典中找到可用的最大单词,可以使用输入字符串的字母来制作。返回的单词只能包含与输入字符串给出的字母相同的出现次数,即如果一个字母被给出一次,那么在输出中它应该只存在一次。例子:
    1. 字典{“to”、“banana”、“toe”、“dogs”、“ababcd”、“elephant”},输入字符串是“eot”。输出应该是“脚趾”
    2. 字典与示例 a 中指定的相同,但输入字符串是“ogtdes”,输出是“dogs”和“toes”

我无法解决这个问题,我告诉他蛮力方法,但这非常模糊,我认为他对我印象不深。他告诉我 HR 会回复我,但我没有接到任何电话。