📜  微软 SDE-1 面试体验(校外)(1)

📅  最后修改于: 2023-12-03 15:09:52.805000             🧑  作者: Mango

微软 SDE-1 面试体验(校外)

简介

微软是全球著名的科技公司之一,其在操作系统、人工智能、云服务等领域均有深入涉猎。微软拥有众多知名品牌,如Windows、Office、Bing、Xbox等。微软的SDE-1岗位是公司中的初级工程师岗位,属于从事研发工作的技术岗位之一。

面试流程

微软的面试流程一般分成以下几个环节:

1. 电话面试

在提交简历之后,微软 HR 会先进行电话筛选。如果通过,将会进入到下一轮面试。

2. 技术面试

技术面试一般分为两轮,每轮 45 分钟。技术面试的问题主要集中于算法、数据结构和系统设计等领域。一般会通过视频通话或在线代码共享方式来进行。

3. 行为面试

行为面试主要是考察面试者的软技能,如沟通能力、解决问题的能力、学习能力等。

4. 公司文化面试

公司文化面试的主要目的是考察面试者对微软公司的了解程度和是否符合微软的文化价值观。

面试内容

下面是我参加 SDE-1 面试时遇到的问题:

技术面试1
  1. 给定一个升序排列的数组nums和一个目标值target,找到目标值在数组中的索引。如果目标值不存在于数组中,则返回它将会被插入的位置索引。
    def searchInsert(nums, target):
         i = 0
         j = len(nums) - 1
         while i <= j:
             mid = (i + j) // 2
             if nums[mid] == target:
                 return mid
             elif nums[mid] < target:
                 i = mid + 1
             else:
                 j = mid - 1
         return i
    
  2. 编写一个函数,接受一个字符串参数和一个字符参数,返回字符串中字符参数第一次出现的位置,否则返回-1。
    def strStr(haystack, needle):
         if needle == "":
             return 0
         if len(haystack) < len(needle):
             return -1
         for i in range(len(haystack) - len(needle) + 1):
             if haystack[i:i+len(needle)] == needle:
                 return i
         return -1
    
技术面试2
  1. 简述TCP和UDP的区别。
  2. 设计一个仿真程序,用于模拟火车系统,让火车和乘客在站台上候车、上车、下车和离站。请画出站台上的类结构图并描述各个类的职责。
行为面试
  1. 描述一个你遇到过的技术难题,及你如何解决它。
  2. 你是如何管理和解决项目中的问题的?
公司文化面试
  1. 你了解微软吗?如是,请简要概括微软公司的文化和理念。
  2. 你为什么要加入微软?你希望在微软得到什么?

以上是我的面试体验,希望对各位程序员有所帮助。