大战微软面试
也许你听说过去微软面试很难,可能你没有听过一个人同时出现在微软的各个部门里面进行面试。而我就是这样的一位。在这里我很感谢中软国际,也特别感谢上海微创为我提供这么多次机会,让我在面试中不断总结,不断提高。以下是我整理的一些面试题,供大家参考:
大战微软面试
2009年3月23号 全球微软技术支持中心
1、老外面试 主要问的问题是:
1)、你是否有项目经验,
2)、你做过什么项目?
3)、简单的介绍一下你的项目
4)、你在你项目中学到了什么?
5)、项目中你担任什么角色?
6)、你觉得这几个系统最大的不同是什么?
7)、你项目中所使用的是什么技术?
9)、你最擅长的技术是什么?
10)、相对前面的项目来说,你这个项目最大的进步是什么?
以上是个人翻译所理解(听起来有很多的 what、how什么的)
2、写一封邮件 邮件的主要内容是:
你的一位客户给你写了两次信,但你都没有回。这次客户又遇到一个问题,他的IE浏览器出现了问题。现在急需要用这台电脑。能给他解决方案吗?提供更多的资料给他。
要求就是:你为什么没有回信,给他这次问题的解决方案,提供更多的信息。时间30分钟。
2009年3月24号 微软中国研发中心
1、先是一轮笔试大概题目如下(全英文)
1) 选择题15个,
l 加快表的数据的展现用什么
l What is boxing?
l What is encapsulation (封装)?
l What is delegated (委托)?
l What is the difference between the type of value and object.
l Try catch 语句的执行顺序?
……
2) 编程题
l 一个是 求N! 用递归
l 一个求 一个字符串的反串
3) 智力题 2个
l 有足够多的红黄蓝三种颜色的球。现在任取两个颜色相同的球。至少要去多少次?
l 有4个装满药丸的容器,其中有一个容器的药丸变质了质量+1.现在只称一次,怎么分辨容器的药丸变质。
4) 英文的选择题,10个
主要考的一些四级的常用词汇,其中有:一个是经理经常照顾我,帮我,说明这个经理太() A、serious B、understanding 等选项
5) 邮件写作题 题目如下:
你现在是一位技术支持工程师,一个客户说他的怎么弄虚拟内存,他发现他的播放器都无法播放,怎么扩展虚拟内存,是不要把我硬盘上的文件删掉或者说移到其他的盘,请给我一个更好的解决方案。
2、第二轮技术面试
l 现场编写冒泡排序、树的遍历算法、递归调用
l 反射机制的一种详细解说
l 结构和类的区别
l 抽象类和接口的区别及用法
l 数据库的设计 例如:现有某个产品的一个留言系统,要支持全球化,很多中语言,数据库该怎么设计?
l Using有多少种用法,在using(sqlconnection a=new sqlconnection())中using是什么作用,你再写一个架构来替代using在其中的用法。(假如说你用try ……catch ….finally try块中释放了资源怎么办?)
……
3、第三轮技术面试
l 现场编写折半查找算法、singleton 模式 贪食蛇的算法实现 类图等
l 反射机制
l Assembly 的用法,主要包括什么?
l 你怎么理解泛型,为什么要用泛型
l PV操作
l 怎么理解异步,那同步呢?
l 有一个独木桥通过的话只有10步,现在桥的两边都在不断的来人,请写一个操作,如何实现让这座桥的资源有更大的用途。
………..
2009年3月25日 全球微软 SDET职位
记得几套编程题
1、public class A
{
public static int count = 0;
static A()
{
count++;
}
public A()
{
count++;
}
}
static void Main(string[] args)
{
A a = new A();
A b = new A();
Console.WriteLine(A.count.ToString());
}
输出结果为多少?3
2、写一个函数判断n可以表示成 2的k此方的形式
3、求一个数组中(长度大于五)的第五个最大的数,不能排序。
4、求二叉树中随机两个子节点的最近父节点。
5、判断两个字符串是否相等,不能用系统本身的函数。
6、什么是自动化测试?怎么实现界面的自动化测试
7、第五题的一个test case 怎么写?
8、What is the pointer? And the diffence between char pointer and int one?
9、类的静态构造和构造函数有什么区别?
总结:
1、整个面试下来,微软对我的评价很高,特别是在心态和整体素质方面。介于今年的就业压力,微软的门槛也越来越高,甚至是某些职位已经把学历提高到硕士了。在面试中我发现技术并不是你成功的关键,而是你的经验,你的工作经验,相对微软来说,初级的人员可以说很多很多,但缺的就是高级的工程师。我想对于一个即将毕业的学生来说,经验比什么都重要!
2、英语很重要,不断的积累你的词汇量,对专业术语一定要了解,并且了解相关的英文解释,你要知道,在微软工作的每一个人都会英文,我在面试的过程中,每位面试管都会和你用英语侃几句。所以流利的英语口语加上标准的发音会让你在面试上赢得70%的信心!
3、注意你的算法,算法可以说是在微软的面试中层出不穷,而有的算法在实际的开发中并不常用,但是请记住这是面试,不是工作。算法考的就是你的逻辑思维和你的解决方案。
4、注意你的数据结构。在面试中出的最多的是树、图、队列、 堆、栈、链表等问题。
5、注意你写代码的质量。微软面试管可是要你现场写代码的。对你代码中存在的bug 可以说是一清二楚。代码写的要有艺术和质量!
后面我会把前面的电话面试题慢慢补上,希望对大家有用!