高盛进行了 Code Sprint,其中提出了 6 个挑战。我解决了其中的 4 个,在 10120 名候选人中排名低于 1600。在此之后,我接到了 HR 的电话,要求我参加下一轮比赛。
第一轮:HackerRank 测试(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年。问题的难度可能是基于候选人的经验。
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) 复杂度的解决方案,但面试官对此并不满意,并要求我实现一个我无法实现的平衡二叉搜索树。