第 1 轮:(1 小时 15 分钟)
CoCubes 在线测试包含 3 道编码问题
- 在对两个数字进行加法时,求“进位”的次数为 1
Input: 56 99 Output: 3
- 给定一个整数数组,将“-ve”的所有数字向左移动,“+ve”向右移动“原位”(保持所有 -ve 数字的顺序与给定数组的顺序相同,并且所有 +ve 数字的顺序与给定数组的顺序相同)
Input: 10 7 -5 9 -12 15 Output: -5 -12 10 7 9 15
- 找出在最小级别没有子节点的所有节点的总和。如果 root 为 NULL,则返回 -1
Input: (Root of the tree is passed into the function) 5 / \ 2 6 /\ /\ 7 3 9 4 / \ 8 3 Output: 14 (7+3+4)
大约 65 名学生被选入第二轮
第二轮:团体飞行(约 45 分钟)
- 我们必须将 ‘n’ 个多项式作为输入,我们必须为
排序(P),加(P1,P2),子(P1,P2),乘(P1,P2)
(根据多项式的索引和所有空间和时间优化的函数实现了Sort函数)
大约28名学生被选中参加技术面试
第三轮:技术面试(约40-45分钟)
- 自我介绍
- 你做过哪些课程?
- 假设你有一些股票市场的详细信息(给出了日期和价格),只有当你购买的股票比你卖出的价格便宜时,你才能获得利润。 编写一个程序来找到可以获得的最大利润(仅使用一个循环(n) 时间和 O(1) 空间)
Input: Day : 1 2 3 4 5 6 7 Price: 60 10 5 12 8 40 9 Output: 35 (40-5)
GeeksforGeeks 链接
- 进程和线程之间的区别?
- 假设有一个已排序的数组,并且通过旋转 k 个单位为您提供数组。通过编写程序(O(logn)时间)找到 k
Input: 5 6 7 1 2 3 4 Output: 3(3 rotations happened)
第 4 轮:HR 面试(约 30 分钟)(Skype 上)
- 自我介绍
- 以前的实习经历和分配的工作细节
- 你学过的课程和最喜欢的课程是什么
- 解释所有排序算法并决定哪个更好
- 你做过哪些项目
- 使用的语言。
- 做你的项目时最困难的任务是什么
- 你如何在 json 数据中实现图书库(需要哪些字段以及类似的东西)
- 为什么选择 Microsoft & 你认为你有资格获得它吗
- 将来想实现的目标和事情
总的来说,体验很好。而且面试官很友好。
谢谢GFG。
微软的所有练习题!