一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 560|回复: 2
收起左侧

微软onsite

[复制链接] |试试Instant~ |关注本帖
izzy 发表于 2016-11-3 05:51:36 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@Microsoft - 内推 - Onsite |Pass在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
参加的hiring event,上午8点到12点,总共四轮,每轮45分钟 + 15 分钟休息。效率挺高,周五的面试,周一就拿到了口头offer。

1. 印度叔。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
上来说我们来个简单的预热一下,难题留在后面几轮吧。就让我写个Remove Duplciates from Array,我用的HashSet。做完之后让我解释了一下,然后问你知道bloom filter吗?我说听说过,然后给我大概讲解了一下,让我实现函数boolean bloomFilter(int n)。实现很简单,就是每调用一次这个函数,就把input n与一个global variable 进行&操作,然后再把global variable更新一下,最后返回&操作的结果。
然后问我bloom filter怎么样应用到刚才的remove duplicate中去,我就在检查数组元素是否在hashset中存在前调用bloomfilter(nums[i]) 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

2. 分不清哪国人,是个director。behavior 30min,期间让我介绍一下现在的公司,如果让我设计我现在公司的系统,我会如何设计。剩下十五分钟问了一下怎么实现word软件中的辨识错别字的问题。我一开始说用hashset维护一个dictionary,然后每次输入一个单词看这个单词是否在。问还有什么解决办法,我说可以用trie,然后让我大概讲解了trie的结构,最后实现在trie中lookup,然后问了具体的复杂度,以及与hashset相比的优缺点。面试官全程很nice,题目也不难,所以我也很放松。

3. 印度中年,不怎么说话,问在web中用户与服务器是交流的。我就blabla从用户输入网址开始讲起,我不知道他想问什么,所以就事无巨细的讲了很多,面试官估计觉得我废话太多,不怎么耐烦,中间直接打断问服务器是怎么识别不同的user的,我说用session cookie,然后让我设计一个session。就写了个session类,session的有效期是五分钟。两个函数,一个添加新session,一个lookup by session key,我是用的HashMap来存的session以及timestamp,然后问怎么样把过期的session删除掉,我的设计就只能对hashmap进行for loop。面试官不怎么满意,说你这个太没有效率了,每次都要查找整个hashmap,还有没有别的办法。然后我卡住了好久,最后五分钟想到如果session的失效期300(五分钟)固定不变的话,可以维护一个size为300的数组,每次有新的session的时候,把它的timestamp % 300, 求余之后的值就是这个session在array中的index。抓紧说完之后,面试官就站起身说喜欢最后一种解法,然后也不问我有什么问题就走了。

4. 美国人。上来直接出了个printstar的题目,比如输入为3,输出:
    *
  *  *-google 1point3acres
*  *  * 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  *  *
    *

感觉回到了大一的c语言课,用了十五分钟才写出来,面试官还说你写的挺快的... 下面我们来测试一下吧,我用的java中的system.out.print()。问我你怎么测试啊,我说了一些test case,然后他说对对对,但是你把结果都是用print函数打印出来了,那么在进行测试的时候怎么测试你的结果是对的?我就蒙圈,不怎么明白,然后面试官说你怎么样修改自己的函数,让它可以testable?我仍是不明白,最后面试官说我们测试的时候是调用这种函数: Assert.isEqual(printStart(3), '想要的结果'),我说如果这样的话我的函数必须要返回一个东西啊,可是我的函数是void的,我直接把结果放在char数组中去返回出来就可以了。你不会是想问我这个吧。面试官说对这就是我想问的。。。。. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
后面再问你听说过测试中profiler吗,我说没有。。面试官便给我讲了一下什么是profiler,profiler可以测试你代码中的每一行所用的时间,我说真棒。面试官边说你觉得你的代码中哪一行最慢啊?我说大概是System.out.print吧,因为比较要调用其他的库,面试官说对,那你怎么优化,我说放到char 数组中,最后的时候再print出来。面试官说好,你写了一段代码,你让你的代码testable,然后根据测试结果你还优化了一下。然后就送我走了。. 1point3acres.com/bbs

.鐣欏璁哄潧-涓浜-涓夊垎鍦

评分

1

查看全部评分

say543 发表于 2016-11-3 14:38:51 | 显示全部楼层
楼主面什么组的hiring event
回复 支持 反对

使用道具 举报

qxr 发表于 2016-11-4 09:32:50 | 显示全部楼层
恭喜楼主,想问一下,从内推到onsite大概用了多久 谢谢!
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-11 02:42

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表