微软苏州面经:前两面简单,三面困难



4.22 苏州onsite 平行面
一面
面试官是个很温柔的小姐姐。
1. 先简单的自我介绍

2. 直接开始写题--最大子序列和(Leetcode原题)之前有做过
所以10min左右写完,在小姐姐的引导下开始考虑一些边界情况:讨论过程中
有涉及到防御式编程的一些技巧类似断言和错误处理(当时忘了提barricade好像)。
第二道题--最大序列乘积(依旧原题):和上一道题一样用动态规划,很快能注意到和上道题的区别所在但是花了很久没有找出解决办法
不过小姐姐一直在循循善诱最后勉强用两个dp方程做了出来。

两道比较容易的dp的题目

二面

1. 依旧自我介绍
2. 介绍项目(需求、分工、challenge、如何解决challenge)
3. 写题
反转单链表(双指针就ok,可恶的我最后返回错了指针...)

容易题


然后面试官就着我的错误问了关于内存泄漏的问题:对象在堆上分配还是栈上?/会不会内存泄漏?(虽然我是用java写的)
然后开始写测试用例:考虑一下分支覆盖和环形链表就行。
顺着问了环形链表怎么解决:快慢指针
然后问可以边反转边检测环形链表(未答出)
4. 开始问了我感兴趣的业务领域
结束了起身准备走的时候又问我对操作系统感不感兴趣
然后又问了10min左右操作系统的基础问题:
内核态和用户态的区别?
什么时候会陷入内核态?
c访问空指针会不会陷入内核态?

面完等了一个小时以为还会有三面,结果告诉我leader下班了,约了第二天的线上面试。
回南京的路上收到了邮件链接。

前两面都特别简单。



4.23上午 线上 leader面
脸比较黑的我遇到了全英面试。
1. self-intro
2. introduce your project
3. From the perspective of tech, what is you strength?
4. 第三个问题我答了自己会比较在意代码质量
5. What do you think is important for high quality of you code?
6. If you receive the code which is not live up to the standards you mentioned, what will you do?


7. 开始写题:
given a log file, scrub all the ip addresses from it.
写个函数就是删掉一个字符串中的所有IP地址。(考查正则??)

leader面难度明显加大。

面完一身冷汗...
过了一个小时收到hr电话,说要加试,leader拿捏不准我的情况...问下午两点有没有时间?
无奈之后有课...约了4.25上午

4.25上午 线上 leader面

1. 问了一些琐碎的信息(学校、课程、之前做的一些学生工作)
2. 直接写题:
通配符模式的匹配(Leetcode原题,做过...不过最优的解法忘了记得当时做的时候看了好久才看懂dp的做法)
面试的时候还是通过遍历来做的,一开始还没用递归。
后来面试官去拿电源去了让我再想一下特殊情况, 最后提出来用递归来处理特殊的匹配情况。
面试官这才说:这就对了,到点子上了。
 

猜你喜欢

转载自blog.csdn.net/wwxy1995/article/details/108395499