📜  微软面试经历| Set 96(IDC 校内实习)

📅  最后修改于: 2021-11-10 06:52:20             🧑  作者: Mango

第 1 轮:(1 小时 15 分钟)

CoCubes 在线测试包含 3 道编码问题

  1. 在对两个数字进行加法时,求“进位”的次数为 1
    Input:  56  99
    Output:   3
  2. 给定一个整数数组,将“-ve”的所有数字向左移动,“+ve”向右移动“原位”(保持所有 -ve 数字的顺序与给定数组的顺序相同,并且所有 +ve 数字的顺序与给定数组的顺序相同)
    Input: 10 7 -5 9 -12 15
    Output: -5 -12 10 7 9 15  
  3. 找出在最小级别没有子节点的所有节点的总和。如果 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 分钟)

  1. 我们必须将 ‘n’ 个多项式作为输入,我们必须为

    排序(P),加(P1,P2),子(P1,P2),乘(P1,P2)

    (根据多项式的索引和所有空间和时间优化的函数实现了Sort函数)

    大约28名学生被选中参加技术面试

第三轮:技术面试(约40-45分钟)

  1. 自我介绍
  2. 你做过哪些课程?
  3. 假设你有一些股票市场的详细信息(给出了日期和价格),只有当你购买的股票比你卖出的价格便宜时,你才能获得利润。 编写一个程序来找到可以获得的最大利润(仅使用一个循环(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 链接

  4. 进程和线程之间的区别?
  5. 假设有一个已排序的数组,并且通过旋转 k 个单位为您提供数组。通过编写程序(O(logn)时间)找到 k
    Input:    5 6 7 1 2 3 4
        Output: 3(3 rotations happened) 

第 4 轮:HR 面试(约 30 分钟)(Skype 上)

  1. 自我介绍
  2. 以前的实习经历和分配的工作细节
  3. 你学过的课程和最喜欢的课程是什么
  4. 解释所有排序算法并决定哪个更好
  5. 你做过哪些项目
  6. 使用的语言。
  7. 做你的项目时最困难的任务是什么
  8. 你如何在 json 数据中实现图书库(需要哪些字段以及类似的东西)
  9. 为什么选择 Microsoft & 你认为你有资格获得它吗
  10. 将来想实现的目标和事情

总的来说,体验很好。而且面试官很友好。

谢谢GFG。

微软的所有练习题!