📜  微软面试经历|第 178 集(IDC 校内实习)

📅  最后修改于: 2021-10-27 08:11:37             🧑  作者: Mango

一共进行了3轮。第一次是在线编码,第二次是书面编码,最后一轮分为三个部分,基本上是 3 个技术面试。

第1轮:

CoCubes 在线测试包含 3 道编码问题(仅完成函数)。给出的总时间为 75 分钟。

  1. 求字符串中所有字符的 ASCII 值总和的平均值。
    例子:
    Input : swati
    Output :110.4
    
    LOGIC:  (115+119+97+116+105)/5= 110.4 

    GeeksforGeeks 链接

  2. 评估中缀字符串的值。该字符串不会有任何空格或括号,并且 ‘*’ 和 ‘/’ 的优先级大于 ‘+’ 和 ‘-‘ 的优先级。

    例子:

    Input : 5+10/2*6-3
    Output :32
    
    LOGIC: 5+5*6-3 = 5+30-3 = 35-3 = 32

    GeeksforGeeks 链接

  3. 给定一个 BST,一个最小值和一个最大值,删除 BST 中数据小于最小值和大于最大值的节点。
    例子:
    Input :
                        10
                     /      \
                  8           13
               /            /     \
             2           11        15
           minValue= 3   maxValue= 13
    
    Output :
                       10
                     /    \
                    8      13
                          /
                        11
    

    GeeksforGeeks 链接

线上一轮比较简单,看学生的基本概念是否清晰。共有 109 名学生参加了在线轮次,其中 31 人有资格进入下一轮。

第二轮:

笔试有 2 个问题,总时间为 45 分钟。

  1. 给定一个数组和一个键,您需要将数组元素旋转“键”次。
    例子:
    Input 1:  arr[]= [1, 2, 3, 4, 5, 6]
    
    key=2
    
    Output : [ 3, 4, 5, 6, 1, 2]
    
    Input 2 : arr[]= [1, 2, 3, 4, 5, 6]
    
    key=24
    Output : [1, 2, 3, 4, 5, 6] 

    GeeksforGeeks 链接

  2. 给定一个字符串,您需要打印其所有子字符串
    按字典顺序。
    例子:
    Input :  ABC
    Output : A AB ABC AC ACB B BA BAC BC BCA C CA CB CAB CBA 

    GeeksforGeeks 链接

多写注释,让你的程序可读性越来越强。确保您的工作整洁,并尝试编写最优化且占用空间最少的代码。但是,如果优化的代码没有引起您的注意,您就可以编写您能想到的逻辑。在此轮之后,14 名学生被选入第三轮。

第 3 轮:

本轮分为3场技术面试。

技术面试一:

  • 主观问题:
    1. 如何实现虚拟析构函数?
    2. 哪个更适合遍历数组或链表?
    3. 递归和函数循环有什么区别?
    4. 您认为可以在 MS Word 中添加或修改哪些功能?
    5. 堆栈的实际用途。
  • 编码问题:
    1. 给定一个十进制数,将其转换为等效的罗马数字。
    2. 给定数组中的前 n 个自然数,则称缺少一个数。编写一个代码来查找丢失的数字。
    3. 给定数组中的前 n 个自然数,现在说缺少两个数。编写代码以查找丢失的数字。

当我收到OOPs的第一个问题时,我告诉面试官我还没有研究OOPs的事实,并要求他从Data Structures提问。最后他问我有没有什么问题要问他,所以我让他评估我作为他们公司的候选人以及我需要学习和改进的概念。除了这些问题,我们还讨论了我的大学,以及他想给所有渴望在任何跨国公司(不一定仅限于微软)从事技术工作的学生提供什么建议。

技术面试2:

  • 一般的问题:
    1. 为什么微软应该雇用你?是什么让您与其他入围面试的候选人不同?
    2. 他询问了我的暑期实习以及我在简历中提到的项目。
    3. 问栈、队列和链表的区别,还有哪个更好。
  • 编码问题:
    1. 给定一个字符串列表,找到由列表中其他字符串组合组成的最大长度字符串。
      Input :[Information, Technology, Batchof2020, 
      InformationTechnology, Batchof2020InformationInternship]
      
      Output : InformationTechnology
      
      Note:"Batchof2020InformationInternship" is the longest string 
      but its has a sub string Internship which
       is not a string in the given list, hence its not the output.
      

技术面试三:

这一轮面试官把我的整个简历都翻了一遍,问了我的兴趣爱好,辩论是最突出的。所以他和我就一个优秀演讲者的角色进行了一场伪辩论和讨论。

之后我们玩了一个猜词游戏,我不记得游戏的名字了。他基本上向我解释了游戏并告诉了我所有的规则。玩完游戏后,他告诉我为游戏编写代码,这将是我当天的最后一个问题。我在 4-5 分钟内编写了代码。他似乎对代码很满意,并祝我好运!

这是选择过程的结束,在我被告知我被选中后大约 10 分钟😀

这是我的第一次面试经历,我被选中了! 10 小时的过程结束,给了我一生中最好的机会。