一亩三分地论坛

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

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

与君面一场,胜读十年书 - MS找实习面经,教训

[复制链接] |试试Instant~ |关注本帖
penenda 发表于 2016-4-22 12:04:29 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 硕士 实习@FB, G, MS - Other - 其他 |Otherfresh grad应届毕业生

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

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

x
大家好,我是显示器哥 . 鍥磋鎴戜滑@1point 3 acres
找实习的路就算结束了,过程感人,现在发发所有面过的公司的面经攒人品。 按照时间顺序来

1. 雪崩のFB处女面

在学校的CS day,(类似于内部job fair)上跟HR一顿坎,终于拿到找实习路上第一个面(教)试(训).  2月17周三晚上, 面试前楼主特意去游泳进了一脑子水,7点面试开始,听口音应该是美国小哥。人很好,
自我介绍加说一个challenge, 然后做题,开始了LZ的雪崩之路。

move zero.  对你没有看错, 就是这么简单,return [0 for x in nums if x == 0] + [x for x in nums if x != 0] 嗯,就一行。。 可是LZ面试的时候傻逼兮兮的想写出个inplace, 0(N)算法。  最后卡在某一步沉默了,
我估计面试官也无语了,看我不说话。。 沉默5分钟LZ居然慌了,,然后一直改一直不对。。最后小哥给我点破了。。面试结束。。幸运的是LZ给HR发了一封态度诚恳的道歉信,HR安慰了LZ几句,并送来拒信,问
还有没有问题,LZ说会不会block LZ秋招,HR最终回复再帮你一把,不会block. (论career fair 打扮得帅气点的重要性)
.鏈枃鍘熷垱鑷1point3acres璁哄潧
教训: 面试官不是来找一个人来解决他工程上的问题的,他只是来看看你解决问题的能力, 所以并不需要你上来就最优,如果你能最优,还有戏,万一跟我一样卡住了,基本GG。 一定要注意跟面试官的交流。 我后来
在家反省了2天为啥会如此雪崩, LZ leetcode240+ 以前在学校ACM校赛年年也能打到线下赛,基本功确实不差,但是何以栽在如此简单一题上呢? 就是心态。 面试的紧张,太渴望表现自己,反而适得其反。 望后人注意,-google 1point3acres
面试官真的不是来找一个大腿抱的,他是来判断你是不是一个未来的好同事。

2. 感人のIntersystems 面试
Intersystems是LZ面的最顺利的一个, 过程顺利的感人。在地里查一下, intersystems 跟Epic是用同一套题当OA, 跟普通的技术题目不一样。 第一个性格测试,第二个给你新语言,第三个类似于GRE阅读和数学。 通过了收到邀请去公司参观面试。 去了公司,被工程师带着看了两个组,跟2个
大哥交流了一番,最后见了manager,问感觉如何,问了一些behavior问题。 欢声笑语中说出了欢迎我暑假过来。 好吧,LZ拿到第一个offer,也是LZ狗血故事的开端。你没有看错,真没有技术题目。 而且很大方的给了1个月时间考虑。. Waral 鍗氬鏈夋洿澶氭枃绔,
. 鍥磋鎴戜滑@1point 3 acres
3. 花式作死 の Google
这个也是在CS day上搞定的。 不要脸的说,那天的女HR楼主都搞定拿面试了( 正装! 梳头! 皮鞋! 牛仔裤不要! 油头不要!),倒是Epic, Bloomberg, GE, Fedelity这几个来的,还是BU校友,居然跟我欢声笑语中打出GG。2月底面试G, 题目记得不太清楚了,大概回忆一下。
吸取了FB血的教训,更多的把面试当成一种与面试官的交流。 题目都是leetcode原题。 不过第一个小哥过分了啊, 三道leetcode 25% 以下的通过率的hard题, 上来啥也不说, let's begin,写了三题。过了一个星期收到HR通知准备match.  LZ作死就作在跟HR回了一封邮件,说能不能尽量
往data方向match. HR说没问题。

4. 鸽子王Amazon 3月初
去年8月就内推投了,一直沉,这学期大改了简历, 海投居然过一个星期收到了问卷。说填完了一周内给OA。 好了这时候已经 3月中旬了, 记住,楼主还有个interstystem的备胎。 到了3月15早晨, 备胎的deadline已经要到了,LZ在纠结之后,给备胎发了好人卡。结果5分钟之后,Amazon
也给我来了好人卡,说招满了。。了狗。。。真狗血,我恨不得把给备胎的好人卡收回来。。。不过当时一想,不是还有个G么,内心也没有失望。

5. MS最后一次尝试
这个就是4月21号,今天的事,3轮,题目记得比较清楚, 也就详细写写吧。另外G再也不理我了。LZ心理那个落差真的很大,整个3月初到4月中,驾照路考也挂2次,其他海投的全拒绝。 真的那段时间就觉得什么事都做不好,我让我爸看看我卧室的风水,最终用衣柜把一面正对着我的床头的镜子堵上了。。不过我一直觉得4月17就是我转运的日子, 毕竟去年在所有申请学校已经 17/18拒之后,BU送来了唯一一个录取带领我从导师的坑里边爬了出来。 果然4月20号路考过了。下面说说当天微软面试的题。 3轮

. 鍥磋鎴戜滑@1point 3 acres第一轮,这小哥没准备好我怀疑,迟到10分钟,跟我聊了好久简历,生活。说我给你从leetcode random几道题吧,我说好啊。  第一题 valid binary search tree, 太简单了。 他说也是。 第二个是 二叉树带next那题, Populating Next Right Pointers in Each Node. 我说层序遍历,串起来,他说
可以,不用写了。第三题Reorder List.  LZ一开始就用蛮力 把后面一个个弄过来, 但是每次要移指针到结尾。  然后LZ最后的解法是,前半段入队列,后半段入栈, 每次从两边pop一个串起来, 最后要检查是不是剩了一个。 面试官说 因吹斯汀.  第一个就过了,问问题就问他干嘛,他似乎是az云的

第二轮, 大写,加粗,敲黑板,划重点了哈!
上来问LZ之前做的东西,LZ以前跟同学开发过两款手机游戏。一个win phone, 一个ios的。 用得cocos2dx , C++写的。 他问我怎么管理精灵,我说了下用的游戏引擎的父类,他问是不是不会涉及八叉树之类的结构,我说不用,引擎做的。 问LZ 用C++写游戏肯定很麻烦,为什么要用C++,写了大概多少行。 我说cocos2dx 用的是C++,可以直接跨平台编译,所以用了C++, 两个游戏最终代码量10W左右,我的工作应该也有5W吧。 好,我的噩梦就开始了。。


面试官说那么你一定对C、C++有独特的见解 (内心:没有, 求move on), 答,soso, 但是他们真的很难。 第一题, 实现strcpy. 贴一段LZ第一次写的伪代码:
int strcpy(char* t, const char* m){
     if m == NULL
        return -1
   
      l = length(m)
      t = malloc(l)
      i: 0->l
        t=  m
      return 1. from: 1point3acres.com/bbs
}

. more info on 1point3acres.com
面试官说,你这个我用一会儿就内存漏光了。  然后在LZ标红的地方就是起因,因为t进来的时候可能已经指向一段申请好的内存了。 你这儿把t指向另外一个地方, 之前那儿就漏了。 有道理, 于是LZ抛弃了 strcpy的原型写了如下原型
char* strcpy(const char* t)
才刚写完,他就看到了我接下来要干嘛,说, 你这是clone, 而不是操作缓冲区,失去了这个函数最初的意义。并告诉我,调用这个函数的用户有义务维护 t和m的各方面特性,他们进来的时候就应该指向了各自缓冲区。。哦LZ懂了,写了如下
int strcpy(char* t, const char* m){
assert(t !=NULL && m != NULL);.鏈枃鍘熷垱鑷1point3acres璁哄潧
while(*t++ = *m++);
return 1
}


面试官说, 不对,你这个函数永远退出不了, 不过刚说完,就改口了, 说beautiful.  我感谢他点出了我的盲区。 鏉ユ簮涓浜.涓夊垎鍦拌鍧.


第二题 bfs 伪代码。  2分钟搞定。。。 好了哈, 还剩下30分钟干嘛呢,他当然不会让我闲着。


做游戏用到了啥设计模式,给我介绍两个? LZ介绍了 facade, bridge.
OOP, OOD的关键? 继承封装多态  -- 给我讲讲多态-- LZ举了个例子, 他表示认可. From 1point 3acres bbs
struct{
unsigned_32 a;
unsigned_8 b;
unsigned _16 c;
char d;
}.鐣欏璁哄潧-涓浜-涓夊垎鍦
问sizeof()他的实例。  LZ知道考对齐,,可是,就是忘了,问了一下CPU宽度,和编译器配置,他说CPU 32位, 编译器你自己指定对齐,并写出计算方法。 LZ萌了吧唧的 32+8+16+8.   嗯,就这么呆萌 8bits的char我的sizeof直接写8. 我面试就
这么干了。。现在想想真是脑袋抽了。写出一个天方夜谭的数字,他说,这个有很大的出入,我说,真忘了。。于是move on

问了我啥叫二叉树, 我说了之后,他问我,一个树每个节点至多2子树,跟二叉树有啥区别,听他那嘿嘿嘿的语气我就感觉有坑,可就是想不到,就说没区别。 他说还是有点区别,然后嘿嘿嘿嘿也不告诉我啥区别就move on 了

要我写一个单例, 他想让我用C++写,我最后给了个Java的, 但是忘记把构造函数私有,经指出改正。这里LZ又嘴贱了,我是这么写的, 我说,这是最简单的写法,更严谨应该加锁,或者volatile
class Main{
private Main(){}

private static Main instance = new Main();.鐣欏璁哄潧-涓浜-涓夊垎鍦
-google 1point3acres
public static Main sharedInstance(){
    return instance;.鐣欏璁哄潧-涓浜-涓夊垎鍦
}
}

听说你提到了多线程?
啥叫线程安全?  xxxxxxx
volatile怎么实现? 内存屏障,,其实这部分javadoc我没太看懂。他问你是不是瞎比扯,volatile是重调指令用,我说就是重调指令来避开临界区从而来实现保护共享变量。
听说你懂临界区,给我说说。 xxxxxxxx大概是说,代码并不是计算机执行时候的原子操作, 指令才是,一行代码对应很多指令,但是线程调度时候不确定操作系统啥时候会把一个挂起,出现读写冲突的时候就是临界区开始的时候
为啥多线程之间会出现竞争? 我不太懂这个问题,我就说,线程共享进程上下文, 进程对自己的线程在地址访问上不设防。我举例子说比如主线程搞了一个变量在栈上,两个子线程是有办法找到它的。
那在堆上会不会有什么问题? 会, 比如出现越界读写经常出现意想不到的结果。 毕竟都在同一个进程上下文之内
. 1point 3acres 璁哄潧
至此就结束了。 , 也没让我问问题。

第三轮:

还是问了一下简历,说一个challenge. 做题  第一 search in rotated array. 分治 logN.  然后给了一个类似于最大网络流的问题,我说用线性规划, 他探讨了一会儿不置可否,过了。
最后问了自动售货机找零,说要让最终的钱币数量最小, 我说基于当前货币面值系统,贪心算法是可以的,尽可能取大的。 他问那能不能找一个货币系统,贪心算法不管用。我纠结了好半天没有试出来,我是先设计系统再设计一个目标金额。
快结束的时候突然灵机一动,先确定金额,再凑系统, 最终是 $1.6 = 4*0.4 = 3*0.5+ 2*0.05. 这个系统是 0.5, 0.4, 0.05. 他表示可以,问问题,结束。
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

好了,找实习到此结束了。 跌宕起伏,曲折动人。 有自己的问题导致的雪崩,也有Amazon这种放我鸽子的。 自己成长了不少,虽然现在两手空空,但是对自己的能力有了更清晰的认知。 有没有offer都move on吧。 .鏈枃鍘熷垱鑷1point3acres璁哄潧
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
好吧,标题是我想给MS第二位面试官说的话。 不要嘴太贱瞎BB,除非有100%把握



















补充内容 (2016-4-27 23:12):
MS GET!

评分

9

查看全部评分

2015fallcser 发表于 2016-4-22 15:52:04 | 显示全部楼层
我自己的感觉也是微软面试考察的挺灵活的  不是纯做题类型的  楼主面的东西好难  要我面都不知道挂几百次了。。。膜拜一下

回复 支持 1 反对 0

使用道具 举报

安如画 发表于 2016-4-22 13:27:18 | 显示全部楼层
很好奇那个二叉树问题的答案是什么
回复 支持 反对

使用道具 举报

 楼主| penenda 发表于 2016-4-22 13:28:56 | 显示全部楼层
安如画 发表于 2016-4-22 13:27
很好奇那个二叉树问题的答案是什么

问了好几个人,,也都没觉察出来,,不过有可能我复述有问题
回复 支持 反对

使用道具 举报

mnmunknown 发表于 2016-4-22 14:22:07 | 显示全部楼层
lz很厉害,不过你遇到的面试官可真是一肚子坏水啊。。
回复 支持 反对

使用道具 举报

dangertrip 发表于 2016-4-22 14:54:37 | 显示全部楼层
为什么我的注意力集中在王司徒和欢声笑语中GG上,楼主一定很逗
回复 支持 反对

使用道具 举报

碇真嗣 发表于 2016-4-22 22:04:24 | 显示全部楼层
LZ不是有info system的offer吗?
回复 支持 反对

使用道具 举报

 楼主| penenda 发表于 2016-4-22 22:37:33 | 显示全部楼层
碇真嗣 发表于 2016-4-22 22:04
LZ不是有info system的offer吗?

intersystem,说了啊,我自己作死deadline的时候把人家推了等亚麻和G啊。,阅读理解啊,(敲黑板)
回复 支持 反对

使用道具 举报

lxxxxxxx 发表于 2016-4-23 00:42:52 | 显示全部楼层
楼主加油 = = 看完之后其实很想看楼主爆照
回复 支持 反对

使用道具 举报

kunge12345 发表于 2016-4-23 01:08:09 | 显示全部楼层
mark,神贴火前留名
回复 支持 反对

使用道具 举报

garnetw 发表于 2016-4-23 01:25:35 | 显示全部楼层
感谢分享~以及这字里行间的逗比感让我想到了byr飞跃榜上的一位学长XDDDD 估计没认错人吧哈哈
回复 支持 反对

使用道具 举报

 楼主| penenda 发表于 2016-4-23 01:45:18 | 显示全部楼层
garnetw 发表于 2016-4-23 01:25
感谢分享~以及这字里行间的逗比感让我想到了byr飞跃榜上的一位学长XDDDD 估计没认错人吧哈哈

就是我jajaja
回复 支持 反对

使用道具 举报

menderr 发表于 2016-4-23 02:23:42 | 显示全部楼层
这是段子啊, 不带挖坑不管填的, 那个 二叉树到底咋回事 。。。
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-6 03:00

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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