高盛(Goldman Sachs)进行了一次代码冲刺,共有6项挑战。我解决了其中4个问题,在10120名候选人中排名低于1600。在这之后,我接到了人力资源部的电话,要求在接下来的几轮中出场。
第一轮:黑客测试(1小时30分钟)
1.给定 N 和一个字符串数组,打印包含数字(1,2,3)的字符串,如果有多个字符串满足条件,则按升序打印。
Input : 5 1395 1721298 102030 3215 123 Output : 123 3215 102030
2.给定一系列 M 和 N 具有 M 代表越来越多的 N 表示递减,输出遵循此模式的最小数字。
Input : MMMM Output : 12345 Input : NNNN Output : 54321 Input : MMNM Output : 2314
你需要解决至少一个问题才能进入下一轮。
第二轮:CoderPad面试(1小时)
这是一个屏幕分享环节,面试官将随时与你通话。
面试官问我的经历,我回答了一年。问题的难度可能是基于候选人的经验。
1.给定一个字符串,任务是查找字符串中最大的连续重复字符 https://www.geeksforgeeks.org/maximum-consecutive-repeating-character-string/
2.给定一个字符串,按字符串的相反顺序打印。 https://www.geeksforgeeks.org/write-a-program-to-reverse-an-array-or-string/
你需要解决至少一个问题才能进入下一轮。
第三轮:面对面技术面试(45分钟)
这是一场在高盛办公室校园进行的2对1面对面的技术回合。
1.编写查询以获得以下输出。
Table -------------------------------- | Name | Key | Value | -------------------------------- | Ram | City | Bangalore | | Ram | Age | 27 | | Ram | Title | Analyst | | Ashok | City | Delhi | | Ashok | Age | 35 | | Krishna | City | Mumbai | | Krishna | Age | 22 | | Ashok | Title | Engineer | -------------------------------- Output ---------------------------------------- | Name | Age | City | Title | ---------------------------------- | Ram | 27 | Bangalore | Analyst | | Ashok | 35 | Delhi | Engineer | | Krishna | 22 | Mumbai | - | ----------------------------------------
2.给定一个数字数组,其中每个数字都是连续序列,一旦序列结束就不会重复,请打印每个数字的计数。
Input : 1 1 1 1 6 6 4 4 4 9 Output: 1 - 4 times 6 - 2 times 4 - 3 times 9 - 1 time
3.编写一个程序,在不使用哈希表的情况下计算元素数组中每个数字的频率。
我给出了O(n)复杂度的解决方案,但面试官对此并不满意,并要求我实现一个平衡的二叉搜索树,但我做不到。