微软面试题总结

微软面试题总结一面 1 反转单链表 2 剑指 offer 第一题二维数组查找 二分优化 3 leetcode1314 二面 一个逗号分割的 csv 文件转化成二维矩阵考虑各种情况 双引号里有双引号 一行没有正常结束等 状态机三面 文件 1 有两列 p 和 kstring 类型 用 t 隔开文件 2 有两列 p1 p2 pn 和 k1 k2 kn 每列多个字符串用 隔开 两列用 t 隔开输出文件 2 中包含文件 1 行的所有行哈希建索引四面 项目问题剑指

 

一面:

1. 反转单链表

2. 剑指offer 第一题 二维数组查找(二分优化)

3. leetcode1314

 

二面:

一个逗号分割的csv文件 转化成二维矩阵

考虑各种情况(双引号里有双引号,一行没有正常结束等) 状态机

 

三面:

文件1有两列,p和k string 类型,用\t隔开

文件2有两列,p1,p2,,,,pn和k1,k2,,,,kn 每列多个字符串用,隔开,两列用\t隔开

输出文件2中包含文件1行的所有行   哈希建索引

 

四面:

项目问题

剑指offer二叉树下一个节点,测试场景

T级别文件,M级别内存空间,全排序

一面

  1. 自我介绍
  2. 你觉得情感分析方向的难点在哪
  3. 介绍一下数学建模的工作
  4. 写题:扑克牌打乱顺序,要求空间O(1)
  5. 了解动态链接库和静态链接库吗?了解虚函数么?
  6. 假如我有一个exe,这个exe是根据一个cpp文件得到的,cpp文件里面有一个main函数,main里面有一句print函数,main函数之前会有一些变量,说一下从我的鼠标点击运行开始到这个main的return之后的全部过程。
  7. 写题:链表深拷贝(可能有环,可能无环)
  8. 反问

二面:

  1. 自我介绍(英文)
  2. 你的project中代码量多少(英文)
  3. 写题:给定一个sorted array,整型,要求输出缺失的数字。比如输入[5,6,7,11,13],输出8,9,10,12
  4. 反问

三面:

  1. 自我介绍
  2. 聊项目
  3. 说一个机器学习算法吧(说了决策树)说一下决策树的构建过程
  4. 做题:剑指offer 46,输出是所有的可生成的字符串,但是a是对应的1,所以要考虑字符串以0开头和连续两个0的情况
  5. 做题:判断一个输入字符串是不是有效的ipv4地址(要考虑很多情况返回False的,c++还有大数问题)
  6. 设计:假设我现在要设计一个扫雷程序,你觉得你要怎么设计?就是假如你要设计类要设计几个,分别有什么功能?
  7. 反问
  8. 你随便说一分钟英语吧,说什么都行

AA面

  1. 自我介绍(英文)
  2. 聊项目,也没深入
  3. 你比较看重公司的哪些性质
  4. 你对于backend的工作有什么倾向
  5. 你的strength,weakness,举个例子
  6. 你觉得你在team里面期待1~3年有什么收获
  7. 你的idea公司
  8. 写一个lock/mutex
  9. 两个sorted array,写找第K大的数,分析复杂度
  10. 反问

 

 

1)中序遍历二叉树非递归实现

2)整型数组中找出所有目标和三元组

不得不说微软的面试真的太舒服了,表白面试官小姐姐!超级无敌温柔,声音也太好听了

 

1)二叉树的最近公共祖先

一面:自我介绍,问项目,问python的一些知识,装饰器,import等,出题,二叉搜索树中求大于target的第一个数,用了多种解法做

 

中序遍历,发现当前节点大于target就返回,(递归,或者非递归)

 

 

二面:自我介绍,问项目,代码实现矩阵乘,GEMM中的一些优化,算法题:最大数组和

 

做题

LeetCode 124. 二叉树中的最大路径和

设计测试用例

 

有n个二维平面上的点和距离d,将它们分成k组。

若两点间的距离小于等于d,则这两个点在一组;如果点A和点B在一组,点B和点C在一组,则点A和点C在一组。

算法返回每个点所在组的编号(0..k-1)

 

第一道题:字符串流,判断是否是合法的IPV4地址

第二道题:数组中出现次数超过一半的数字(剑指offer原题)

一面的话是自我介绍然后面试官对其中哪个点感兴趣的话会打断一下详细问一下

然后开始做题, 题目是找到一组柱状图中最大矩形的面积

我先说了一个思路把面试官绕了进去,然后他说好像可行,那你写代码吧

我代码写到最后一个栈操作的时候面试官说,我觉得你这个思路有反例,好像不行

我:嗷,那就分治法吧balabalbala。仿佛再一次把他绕了进去

他:好像确实能行,就是有点麻烦

我:嗷嗷

 

然后邮件通知一面过了,第二天下午13:00二面lead面,如果二面通过就15:00老板面,如果二面通不过就没力

我:嗷

lead面先自我介绍然后开白板做题目
第一题是数字三角形找最大和路径
动态规划写的
第二题是二叉树中找两个节点的最近公共祖先节点
用前序遍历然后对比找最后一个相同的节点
 




三面AA面

 

一面(3.19):

一面是在中午,面试官是个很温柔的哥哥?,感觉很年轻。因为一些原因面试官上线迟到了20分钟,所以整个过程很紧凑,惯例做题:

1、单向链表交换奇偶节点

比较简单,考虑了一些边界情况,还特意美化了一下代码hhh,面试官看了一下就过了

2、TopK问题,没有时间了就不用写代码,口述思路

从简单到复杂:先说了冒泡排序和插入排序,随口说时间复杂度是O(kN);然后说堆排序和快速排序;最后扯了并行计算。

说完后面试官问了TopK快排的时间复杂度,我写了算式,算到最后一步脑子抽筋等比数列求和都没算出来,紧张的不行,面试官安慰我说没关系,还跟我说其实有公式(这两天上课我才知道有主定理这个东西,后悔ads去年没选上/捂脸)

最后的最后聊了会儿天,没有怎么介绍微软,倒是给了我一些读研和工作的建议(我以为挂了结果过了)

Lead面(3.26):

Lead面据说是最终工作的组的老板,感觉很耐心很专业,惯例做题:

1、最大子序列和

非常非常经典的题,如实说自己做过,10分钟写完了

2、取整问题

例如3.14取整到3.1,3.15取整到3.2,3.25取整到3.2,3.取整3.3。先说规则以及为什么要这么取整。然后码代码,给float和取整位数n。

一开始说float乘10幂次判断,两个问题是超过范围以及float不能比较,超过范围很快说了解决思路,不能比较面试官说这里忽略这个问题。最后写的时候有个小技巧最高位进位不处理,面试官指出了这个问题,我说明了我的思路(不处理进位也没关系hhh心机)。然后边界情况也是照例考虑。

两道题做完才30分钟,面试官说太快了哈哈就问我有什么问题,然后聊了研究生本科生的差异之类的,最后40分钟面试结束。

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/173459.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月27日 上午8:45
下一篇 2026年3月27日 上午8:46


相关推荐

  • SpringBoot InputStream转File(InputStreamToFile)

    SpringBoot InputStream转File(InputStreamToFile)SpringBootIn 转 File InputStreamT SpringBoot 读取 resources 里的静态文件 SpringBoot 读取 resources 里的静态文件由于 SpringBoot 打包后是 jar 包 可以不用解压运行 所以无法直接使用 newFile 来获取静态文件 我的解题思路是这样的直接将文件存储到 windows Linux 服务器上

    2026年3月17日
    2
  • ArrayList扩容机制(基于jdk1.8)

    ArrayList扩容机制(基于jdk1.8)一.ArrayList继承了AbstractList,实现了List接口,底层实现基于数组,因此可以认为是一个可变长度的数组。二.在讲扩容机制之前,我们需要了解一下ArrayList中最主要的几个变量://定义一个空数组以供使用privatestaticfinalObject[]EMPTY_ELEMENTDATA={};//也是一个空数组,跟上边的空数组不同之处在于,这个是在默…

    2022年6月14日
    27
  • 常用图片格式介绍

    常用图片格式介绍位图 像素点组成的图像 也是最常见的图像 放大后会失真 二次编辑会产生永久破坏性 格式 jpg png bmp tiff gif 等矢量图 矢量图是使用直线和曲线来描述的 根据数学公式和几何特性生成的图形 矢量图只能靠软件生成 特点是放大后图像不会失真 可二次编辑 适用于动画设计 文字设计和一些标志设计 版式设计等 格式 svg ai cdr 等 HDR 高动态范围图 附带光照信息的图像 一般用于摄影师拍照

    2026年3月20日
    3
  • Vue-cli3 项目在安卓低版本系统和 IE 上白屏问题解决

    Vue-cli3 项目在安卓低版本系统和 IE 上白屏问题解决

    2021年7月4日
    112
  • Spring Cloud 基础(Greenwich版)

    Spring Cloud 基础(Greenwich版)SpringCloud 基础 Greenwich 版 基础环境 parent demopom xml parent groupId org springframew boot groupId artifactId spring boot starter parent artifactId version 2 1 6 RELEASE version parent

    2026年3月18日
    2
  • httprunner(2)下载安装[通俗易懂]

    httprunner(2)下载安装[通俗易懂]环境要求HttpRunner是一个基于Python开发的测试框架,可以运行在macOS、Linux、Windows系统平台上。这里使用macOS系统进行演示对于python版本要求:py

    2022年7月30日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号