首页 > 技术文章 > 微软2018预科生c++后台实习面经

sichenzhao 2018-04-28 14:38 原文

4月初投的简历,到四月底拿到offer共一个月,但面试集中在一天。全是算法题。

面试方式:Skype视频面试,每面45分钟

面试形式:共三轮技术面试,全是算法题


一面:

1.给一个m行,n列的表格,有些格子有水,用w表示,其他格子是陆地,用‘.’表示,求出表格中有多少个水域。注:水域:w的四周的8个节点如果有w的话算同一个水域。
w
w
w
w
上表就算一个水域。

2.有一排商铺,商铺中都有钱,强盗不能抢劫相邻的商铺,问如何抢劫能保证钱最多?(动态规划)



二面:

有一个m*n的滑雪场,每个滑雪场格子的海拔高度不同,只能由高向低滑,且只能上下左右四个方向滑,问一个人滑雪的最大长度是多少?注:每滑一个格子长度+1.


三面:

1.找出单向链表中的中间节点,时间复杂度要求为O(n)。
注意点:
1.快慢指针
2.要考虑链表长度的奇偶。
3.边界条件

2.找到单向链表的中间节点,并删除该节点。
注意点:边界条件
1.如果只要一个节点,返回为null
2.如果删除节点为头节点,如何返回。

推荐阅读