近期论坛无法登录的解决方案


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 4337|回复: 17
收起左侧

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

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

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

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

x
大家好,我是显示器哥
找实习的路就算结束了,过程感人,现在发发所有面过的公司的面经攒人品。 按照时间顺序来

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 打扮得帅气点的重要性)

教训: 面试官不是来找一个人来解决他工程上的问题的,他只是来看看你解决问题的能力, 所以并不需要你上来就最优,如果你能最优,还有戏,万一跟我一样卡住了,基本GG。 一定要注意跟面试官的交流。 我后来
在家反省了2天为啥会如此雪崩, LZ leetcode240+ 以前在学校ACM校赛年年也能打到线下赛,基本功确实不差,但是何以栽在如此简单一题上呢? 就是心态。 面试的紧张,太渴望表现自己,反而适得其反。 望后人注意,.鏈枃鍘熷垱鑷1point3acres璁哄潧
面试官真的不是来找一个大腿抱的,他是来判断你是不是一个未来的好同事。 . visit 1point3acres.com for more.

2. 感人のIntersystems 面试
Intersystems是LZ面的最顺利的一个, 过程顺利的感人。在地里查一下, intersystems 跟Epic是用同一套题当OA, 跟普通的技术题目不一样。 第一个性格测试,第二个给你新语言,第三个类似于GRE阅读和数学。 通过了收到邀请去公司参观面试。 去了公司,被工程师带着看了两个组,跟2个
大哥交流了一番,最后见了manager,问感觉如何,问了一些behavior问题。 欢声笑语中说出了欢迎我暑假过来。 好吧,LZ拿到第一个offer,也是LZ狗血故事的开端。你没有看错,真没有技术题目。 而且很大方的给了1个月时间考虑。
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
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回了一封邮件,说能不能尽量. visit 1point3acres.com for more.
往data方向match. HR说没问题。

4. 鸽子王Amazon 3月初
去年8月就内推投了,一直沉,这学期大改了简历, 海投居然过一个星期收到了问卷。说填完了一周内给OA。 好了这时候已经 3月中旬了, 记住,楼主还有个interstystem的备胎。 到了3月15早晨, 备胎的deadline已经要到了,LZ在纠结之后,给备胎发了好人卡。结果5分钟之后,Amazon
也给我来了好人卡,说招满了。。了狗。。。真狗血,我恨不得把给备胎的好人卡收回来。。。不过当时一想,不是还有个G么,内心也没有失望。
. 鍥磋鎴戜滑@1point 3 acres
5. MS最后一次尝试
这个就是4月21号,今天的事,3轮,题目记得比较清楚, 也就详细写写吧。另外G再也不理我了。LZ心理那个落差真的很大,整个3月初到4月中,驾照路考也挂2次,其他海投的全拒绝。 真的那段时间就觉得什么事都做不好,我让我爸看看我卧室的风水,最终用衣柜把一面正对着我的床头的镜子堵上了。。不过我一直觉得4月17就是我转运的日子, 毕竟去年在所有申请学校已经 17/18拒之后,BU送来了唯一一个录取带领我从导师的坑里边爬了出来。 果然4月20号路考过了。下面说说当天微软面试的题。 3轮
.鐣欏璁哄潧-涓浜-涓夊垎鍦
第一轮,这小哥没准备好我怀疑,迟到10分钟,跟我聊了好久简历,生活。说我给你从leetcode random几道题吧,我说好啊。  第一题 valid binary search tree, 太简单了。 他说也是。 第二个是 二叉树带next那题, Populating Next Right Pointers in Each Node. 我说层序遍历,串起来,他说. 1point3acres.com/bbs
可以,不用写了。第三题Reorder List.  LZ一开始就用蛮力 把后面一个个弄过来, 但是每次要移指针到结尾。  然后LZ最后的解法是,前半段入队列,后半段入栈, 每次从两边pop一个串起来, 最后要检查是不是剩了一个。 面试官说 因吹斯汀.  第一个就过了,问问题就问他干嘛,他似乎是az云的
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
第二轮, 大写,加粗,敲黑板,划重点了哈!
上来问LZ之前做的东西,LZ以前跟同学开发过两款手机游戏。一个win phone, 一个ios的。 用得cocos2dx , C++写的。 他问我怎么管理精灵,我说了下用的游戏引擎的父类,他问是不是不会涉及八叉树之类的结构,我说不用,引擎做的。 问LZ 用C++写游戏肯定很麻烦,为什么要用C++,写了大概多少行。 我说cocos2dx 用的是C++,可以直接跨平台编译,所以用了C++, 两个游戏最终代码量10W左右,我的工作应该也有5W吧。 好,我的噩梦就开始了。。 . 1point3acres.com/bbs


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

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


面试官说, 不对,你这个函数永远退出不了, 不过刚说完,就改口了, 说beautiful.  我感谢他点出了我的盲区。


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

做游戏用到了啥设计模式,给我介绍两个? LZ介绍了 facade, bridge.
OOP, OOD的关键? 继承封装多态  -- 给我讲讲多态-- LZ举了个例子, 他表示认可
struct{
unsigned_32 a;
unsigned_8 b;
unsigned _16 c;
char d;
}. more info on 1point3acres.com
问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();

public static Main sharedInstance(){
    return instance;
}
}

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

第三轮:

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


好了,找实习到此结束了。 跌宕起伏,曲折动人。 有自己的问题导致的雪崩,也有Amazon这种放我鸽子的。 自己成长了不少,虽然现在两手空空,但是对自己的能力有了更清晰的认知。 有没有offer都move on吧。 . 鍥磋鎴戜滑@1point 3 acres

好吧,标题是我想给MS第二位面试官说的话。 不要嘴太贱瞎BB,除非有100%把握




. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷


.鏈枃鍘熷垱鑷1point3acres璁哄潧


.1point3acres缃
. 1point3acres.com/bbs


. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴



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

评分

9

查看全部评分

 楼主| penenda 发表于 2016-4-22 22:37:33 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
碇真嗣 发表于 2016-4-22 22:04
LZ不是有info system的offer吗?

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

使用道具 举报

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

回复 支持 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吗?
回复 支持 反对

使用道具 举报

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 | 显示全部楼层
这是段子啊, 不带挖坑不管填的, 那个 二叉树到底咋回事 。。。
回复 支持 反对

使用道具 举报

kamibear 发表于 2016-12-20 08:20:54 | 显示全部楼层
"
In practice, strcpy would not be written as we showed it above. Experienced C programmers
would prefer
/* strcpy: copy t to s; pointer version 2 */
void strcpy(char *s, char *t)
{
while ((*s++ = *t++) != '\0').鏈枃鍘熷垱鑷1point3acres璁哄潧
;.鐣欏璁哄潧-涓浜-涓夊垎鍦
}

As the final abbreviation, observe that a comparison against '\0' is redundant, since the
question is merely whether the expression is zero. So the function would likely be written as
/* strcpy: copy t to s; pointer version 3 */
void strcpy(char *s, char *t)
{
while (*s++ = *t++)
;. 1point3acres.com/bbs
}
Although this may seem cryptic at first sight, the notational convenience is considerable, and
the idiom should be mastered, because you will see it frequently in C programs.
.鏈枃鍘熷垱鑷1point3acres璁哄潧
"    摘自 C programming language page 88
回复 支持 反对

使用道具 举报

森林火柴 发表于 2016-12-20 13:05:35 | 显示全部楼层
赞一个楼主的文风!!
回复 支持 反对

使用道具 举报

laahaa 发表于 2017-1-27 03:56:01 | 显示全部楼层
MS那个目前完全看不懂。。为什么自己都是简历挂我知道了。。。
回复 支持 反对

使用道具 举报

Myron2017 发表于 2017-1-27 08:06:04 | 显示全部楼层
楼主加油!~赞,这个经历就是成长
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-6-25 06:33

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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