15年10月参加微软onsite的校园招聘。之后HR 就消失了, 发邮件问了一次。是不是会有onsite 什么时候。跟我说没有找到合适的组,让我等,或者最坏就是,没final 了。
心一凉,白特么背题了。算了。作为一个姑娘也确实不应该骂人。
说说当天的情况,面试我的组似乎CRM 和ERP。我就觉得的吧,真有企业买他们的软件产品么? 那不都被Orical 和 SAP 包了。当然这不是重点,重点是他们组缺人。
周五是 早上一场,下午一场,大概总共20多口子。
面试一共四轮,听说某些组5轮。
都说微软面试简单,从我个人经验,数据结构 和算法题并不是我的强项。而且都说他们出的是leetcode 和CC ,然而童话里都是骗人的。
behavior question 基本上没问,可能问了,但我不知道那是behavior question。
第一轮,是丧尸脸的美国大叔,在MS 干了15年,我去也算是骨灰了,很好。那还不随便虐待我这个小白。先固定套路介绍自己,我自我介绍,开始滔滔不绝的讲我的social networking 项目。可能是口语太烂,他并不感兴趣。
我还非让他登录我们网站看,然而邀请半天没反应。算了,我只好说我负责哪部分,我自己写的后台,用 spring mvc restful web app。
然后他说既然你是写后台的,你datastruct 和算法如何,我说水的一塌糊涂。意思就是告诉他,我不怎么会他说那考你道设计题吧。
我说好啊,就出了一个 project manager 的员工管理项目管理系统。有点儿像ibm 的rational , 和teambition Jira 这种软件。
一开始我不知道他想让我写什么,于是我就照着CC 设计题的思路,问除了 who what where why 等一系列的问题,其实我也就是例行公事进行交流。今儿开始设计class,写code。
写着写着 ,他说,我不是让你implement code ,我是问你怎么设计数据库。我说 创建 table 还是花 dagram ? 他说类似 database 的那个什么图。于是我就开始画。
画到后面,我就不知道如何表示。一个project 里面 员工 和需要一个manager 的关系。 例如 有个prarent class 叫 employee 然后 subclass 有 manager 和 一般员工?
貌似有点儿问题。这道题我隐约记得 CC 设计题里面有一个人力资源设计系统。可以参考,但考官问的方式不一样。后来他实在看我不知道如何 画了。
他说算了,我给你画吧,于是给我画了三个表。这时候我才知道他想干嘛,最后 让我写了query ,就结束了。
经验总结,HR 之前就提醒我们不要互相透题。然而我觉得他们是见人下菜碟,如果你说你做个什么项目有什么经验,他就会揪着你会的一只问你。
话说还问了left jion in 和jion in 的区别。最终灰头土脸的出来了,如飘雨的西雅图。
第二轮,貌似是个印度小哥,别人都带个笔和本儿写写画画,他就拿了个手机,我去要怎样?
你知道我是谁么?算了,小哥 口语还可以,虽然 我并不知道他念python 会不会是“白当”, but 人还不错,大家都觉得老印不好,不想遇到老印。
似乎,我们的故事这样开始,又是介绍自己,我照着既定背了一遍,开始推销我做的social network 网站,继续绘声绘色不气馁的聊起来,我说你想看看么?
他说好啊,于是我说了网址,老天保佑服务器没荡,介绍项目,然后他提了问题,说你觉得你们网站还有哪些功能需要完善,我说了几个,他说,还有么,我说暂时产品经理没提需求。
他说,那你给我介绍下你后端框架。我轻车熟路了扯了5分钟。然后他表示还不错,然后问我你对后台用线程了么?
我说当然啊。要么怎么玩儿。他继续说那我给你出个题,有个board 其实就是个matric 上面给你一堆虫子,然后同时移动,要求不能 collision 。
然后给我写一个。于是我就根据要求,开始写, 刚把 方法名写完,他说嘎嘎嘎, 你先跟我说说思路,我说好呀,就是 虫子用 array 存棋盘位置,board 用 01 代表 有没有虫子 当前 棋盘状态。
然后就是search 下一个可以移动的有没有 被占用 i,j 什么的,他说 好啊, 但有问题大家同时动啊,我说是么,那我们就check 2步 如果都是空 就打不走起来,他说如果两只虫子同时面临 同样的资源咋办。
当时我还没想出他想做什么,然后他说你知道线程,和资源池,我说是呀 线程可以有自己的 内存 和 栈,他们还有共同的 棋盘公共资源,。
我哦,需要个locker ,我说机智啊,估计他心说,你这都不知道。本来以为他想考人工智能,我刚想展示我卓越的人工智能 算法知识。
结果 最后就是问我 lock 你准备怎么实现。听说有人还问了,除了锁以外还可以用什么其他方法实现。作为一个只会跳舞的码农来说,必须不知道啊。
第三轮,白人,ERP 的manager 做customer support 问我 背景 卡卡的说。
然后继续介绍我的project 坚持不懈,但白人大叔没兴趣。于是, 有因为我说的这事,让我做个设计题,应该累死 CC 的 图书馆订阅系统。
由于从第一个面试官那里学来的方法。我现学现卖。
成功设计好了,table,然后他问我 你知道relationship 和 segma 么,我隐约的忘记了,但从此以后全部的数据库 基础知识。
还好我唯一认真学了database 虽然很多都忘了,还问了我 traggle ,但我确实写过,但不记得了。
后来问我怎么优化,我就把我教授的理论讲了一遍,他说我不是问你 数据库设计,是前端读数据库,减少大量读写操作的问题。
我若有所思,然后他直接告诉我了答案,我说就这样啊?要是 时时的你打算怎办,数据库 性能就靠 读写 响应速度了。
他说可以查找加index ,我说那其实用 有个online 都是 个表key‘ 那个查不就得了,他说 index 跟 找key 还不一样,我突然想起来我好想看过教材上关于index 的定义,扯了一会儿。
总之 , 摆明了就是觉得我不知道得样子,给我各种科普,秀经历。
最后出了个subset的题,我觉得还可以吧,就是给个int 加起来都是 子集都是这个数例如 3 ,有 {0 ,3} {1 ,2} { 1 , 1, 1}, 就是用receive ,然而不会写,不过 他就帮我写了,我说是这个意思。 88了
最后一轮,是 crm 的 manager 感觉必须拍印度领导马屁了。上了继续自我介绍,然而 特别囧的事情发生,介绍自己的网站,不知道为什么SSL 被 IE 禁了,你妹的。于是我之后 唾沫恒飞的 考白板说。
也不知道他是不是听明白了。然后 我提了句MVC 他说你给我解释下什么事MVC 我就把这学期 选的JAVA OOD 课的内容说了一遍, 我说你看是不是很好用,他说你说了这么一大堆,有什么不好?
我说有啊很明显,scale out 那一堆 一堆的mvc 第一 需要·奥统一 或者多个controller互相管理,有很多逻辑会变得复杂,而且很难 管理 或者trouble shooting。
后来出了一道 找最大profile 的编程, 年 和 profile 的 矩阵,我直接给丫简化为 array 了,他说年呢,我说你不就想知道从哪年到哪年 连续的 profile 最大么。
我输出一个连续index 不就得了,回头再去对应表里找呗。他说也行,所以就直接大于0 就开始加, 一旦小于0 就停,保留 当前 index 集合,和最大maxprofile。
如果下一组 大,就换,不大,就keep current,然后 结束。我说要优化么,他说无所谓。我心说这么好。估计真实看女生也不可能会,都说印度大叔,有大男子主义。
估计一直把我当白痴。姐真的不会啊。
结束语,基本上每轮必考设计。然后例行code。没有任何leetcode 原题。刷题最重要是理解精髓,微软考的都是基础知识。所以基础比写出花样的算法重要。
要多说project ,最好有实践。我跟manager 说我们网站我自己写的后端,从根本不会spring mvc 通过 看文档,search 找例子,自己研究出来。
开始一堆不过,熟悉了,就越写越快。虽然不知道结果如果,但是也总算有新突破。虽然不知道别人的题是不是一样,但manager 级别绝对都是 见人看项目出题,很可能都不一样。
同期塔姆的同学,考的就完全不同,我问的那些他都没问过。
所以,尽量说你会的,然而如果你说会,就千万别一知半解,那还不如说你不会。
就这么多,女生面试可能比较水,但原则不变,就是基础的知识一定要牢固,考什么都不怕。CC 多看几遍把每行解释都认真读明白,觉得不清楚的,一定要弄明白。
资讯来源说明:本文章来自网络收集,如侵犯了你的权益,请联系QQ:850873385进行删除。
Copyright © 2014-2018 500d.me. All Rights Reserved.