微软SDE面经

微软的软件开发工程师(SDE)笔试和面试主要侧重于数据结构和算法,包括数组、链表、栈、二叉树等。笔试题目中包含了排序、数组去重等常见问题,面试则涉及动态规划、二叉搜索树后序遍历等。面试官建议熟悉剑指offer和LeetCode上的经典题目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、笔试

笔试比较简单,总的来说主要考察数据结构和算法的基础知识,一共考了10个题目
1.基本的数据结构:栈、堆、数组、字符串、二叉树的基本操作,注意时间复杂度这个比较重要,比如二叉树深度算法的时间复杂度应该是logN.
2.写出一个你认为最高效的排序算法,我就写了归并
3.数组去重
4.实现单词反转,这题leetcode有
5.跳跃游戏,这题leetcode有
5.构造二叉树,剑指offer原题
6.二叉树的层次遍历
7.编程实现:一个数组中只有2个数出现一次,其他数字两两出现,请写一个算法找出这两个数。示例: [1, 6, 6, 2, 3, 4, 3, 5, 2, 1] 。
8.最小栈的实现
9.单链表的基本操作,删除当前节点,这里有个小坑。
10.数组的一个题目,求1的子序列
整体来说笔试不难。

二、面试

1.第一轮

聊项目,因为我基本上使用Java语言,所以这里涉及不多,然后就是写两个算法题。
(1)动态规划,跟0-1背包有点类似
(2)二叉搜索树的后序遍历序列,经典题
注:面试官跟我说Bing项目组基本上不会用到排序,所以没有考我排序。

2.第二轮

同样还是两个算

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值