手机浏览器扫描二维码访问
好,代码在白板写好了。
这里就来了下一个问题,首先检查函数的基本逻辑是否正确。
其次,检查一下是否正确处理各种边界的情况,如0,1,2等等。
以上只是两个基本问题。好了,函数写完了,也处理了边界条件。
那下一个问题:如何提高它的效率?
这里可以有算法的改进,例如从测试的最大数字n2变成n的平方根,每次循环的步长可以是2等等。
但是,如果效率还不够高,怎么办?
这里测试的就是是否可以灵活考虑使用各种其他的数据结构。例如如果分析输入范围只是0到1000,是否可以考虑hashtable?事先计算素数表。如果面试者提到这一点,好,又一个问题:如何最快计算一个范围内的素数表——素数筛法?
但是,如果效率还不够高,怎么办?
是否可以考虑caching,如果函数输入有一定模式?caching的基本模式和算法?什么样的应用程序会如此密集使用素数判断?是否合理?
这就是我说的由浅入深的提问方式。当然了,不同的人有不同的面试方法,这里说的只是一个微软经常采用的方式。
还有一点,就是如果你对某个问题不知道答案的话,也许并没有关系,因为许多情况下,面试官并不指望你能回答出所有问题。就像上个问题中的素数筛法的算法。如果这样,你可以据实回答:“这方面我并不了解,我推测可能是如何如何…”但是,如果你要不懂装懂的话,那结果可能会得不偿失。
面试收尾
这里一定会留出几分钟的时间,让面试者提问,任何问题都可以。不管面
试者的表现如何,是否决定录用,都一定要尽心尽力回答。买卖不成仁义在。?而且我自己也有若干次的面试失败经历,知道有很多因素会影响到面试表现。往往这次不行,下次说不定就过关了。在面试结束后,会把面试者带回到楼下的大厅里,然后我会通知下一位面试官,并附上我的评语。
内部换组,还要面试?
和对外招聘面试差不多!在微软这几年,我又有过三次正式的内部面试。从多媒体组,到反病毒组,到现在的SWI(SecureWindowsInitiative)。每次面试都是4+1技术面试,问的问题和对外招聘面试一样形式。不过是自己解决中饭。在微软,鼓励人员的自由流动,这是我最为欣赏的一点。
每一次面试我都可以从面试官那里学到很多东西。有时候,觉得这个问题不错,下次我就改头换面去考别人了。看完我的面试经历,有什么感想?我想,只要你能和我一样,在第三次面试时候,轻装上阵,发挥出水平,就一定会成功!
后话
看完了我面试别人的过程,希望大家对微软的面试过程和方式有更多的了解。我自己的一个建议:就知识领域而言,基础(数据结构算法)是最关键的。当然了,不排除有某位老兄,早上开车上班的路上吃了警察的一张罚单,决定要出ATL编程的考题的情况。如果你碰上了,可不要怪这里被我误导了。?
txt电子书分享平台
面试问题
微软的面试问题主要分为这样几大类:
?行为类问题。这类问题依据应聘人的经历询问应聘人在不同场景下的反应,例如“请描述一个你参加过的团队项目,你在团队里扮演了什么角色?当团队成员有不同意见的时候,你们是怎样解决问题的?”,或“如果你发现你的项目不可能在原定时间内完成,你会怎么办?”。这类问题的目的在于考察应聘人的“软”素质比如团队合作精神。这样的问题没有标准答案,提问者会不断根据应聘人的经历和回答进一步提出更深层次的问题,以最大程度地挖掘应聘者的潜质。
?专业知识类问题。根据应聘人的经历,提问者可能对感兴趣的技术问题进行发问,比如“请谈一谈你的这项关于图像处理的课程设计。这个项目解决了什么问题?用到了什么算法?你的算法比现有的做法有什么改进?”。这类问题主要考察应聘人的专业知识。微软面试不会过于强调需要死记硬背的细节,而是更强调对技术的理解程度。比如微软面试里通常不会问“在IP包里目的地址是第几个域?”,但是有可能问“为什么TCP要使用3向握手协议?”;不会问“在Windows上应该用哪个API向线程池提交一个任务?”而有可能问“在什么情况下你会选择用线程池?”。对于应届毕业生,微软招聘通常不会过于强调某一方面的专业知识,比如数据库或网络知识,而是更注重对计算机学科的基础知识的掌握。
?编程类问题。对软件设计工程师,一个必不可少的面试环节是编程问题。应聘人会被要求在白板上用30分钟左右的时间写一段小程序。这类问题考的是基本编程能力和解决问题的能力。对于应届毕业生来说,这些程序往往是关于基本数据结构和算法的。比如一道很常见的问题是“写一个函数把一个链表倒过来”。面试者不光要看这个程序是否正确,还要评估应聘人解决问题的能力,思路是否清晰和考虑问题是否全面。写完程序后,应聘人通常会被要求检查错误,分析算法的复杂度并举出其他的可能做法。
?设计类问题。在白板上写程序可以考察对小程序的设计能力,但是更进一步,应聘人可能被要求对一些更复杂软件问题阐述自己的设计。比如“怎样设计一个编译器来支持调试器的断点功能?”。这类问题往往要求口述回答并辅以框图或简单的伪代码。
?智力题。以前微软员工曾经流行用一些脑筋急转弯类的智力题进行面试,比如“怎样移动富士山?”,“美国有多少辆汽车?”,或“怎样用一架天平最快的在9个相同的铁球里找出偏重的一个?”。因特网上也有很多对这类问题的收集。但是近年来微软公司已经停止使用这些问题面试,原因是它们和微软的工作不直接相关。现在来申请微软工作的人不必再担心被问到这些让人挠头的古怪问题了。
电子书 分享网站
一道微软面试的智力测验题
——王志峰
微软在面试中使用智力测验题是业界众所周知的。在外界不仅流传着很多微软使用的趣题、难题和怪题,还有很多与解题和答案有关的有趣的小故事。我就亲身经历过一个。
故事发生在我加入微软之前,在得克萨斯州奥斯丁戴尔计算机公司总部工作期间。有一天,我同组的一位女同事不知从哪儿得到一个智力测验题,她很神秘地告诉我说,这题是最近微软面试中刚刚出现的。具说微软内部员工平均解题时间是5分钟以内,外界高手的平均水平是15分钟,而外界一般人员很多根本解不出答案,不管给多少时间。这位女同事说她已想了很久了也没有结果,于是让我试试。我通常对智力测验题不感兴趣,但听她说得那么玄乎,又被她一激,于是拿来题目认认真真解了一把,结果5分钟内解出了答案,让她连说佩服。到这里故事讲了一半。在讲故事的后半部分前,我先得把题目和答案给大家讲解一下:
题目是这样的:有四个人(A,B,C和D)要在一个月黑风高的夜里过一个很长的独木桥。桥只能一次乘载两个人,就是说每次最多两人同时过桥。过桥要用手电筒,而这四个人只有一只手电筒,也就是说两人共用这只手电筒过桥后,其中一人必须带着手电筒返回(没有其他方法),否则其他人就不能再过了。这四个人由于年龄和身体状况的差异,每个人过桥所需要的时间不同:A需要1分钟,B需要2分钟,C需要5分钟,D需要10分钟。由于共用一只手电筒的原因,当两人一同过桥时,过桥的时间是以其中慢的一人为准,比如A和C一起过桥要用5分钟。
现在问:要所有人过桥,最短要多少分钟,如何安排他们的过桥顺序?
这个问题看起来并不复杂,很容易入手,解题的策略也不难确定。既然手电筒要来回传递,根据能者多劳的原则,当然是尽量用最快的人来担此重任。因为A过桥最快,所以很快就会得出以下的答案:
第一步:A和B一起过桥,时间是2分钟
第二步:
前世孤苦一生,今世重生成兽,为何上天总是这样的捉弄!为何上天总是那样的不公!他不服,不服那命运的不公。自创妖修之法,将魔狮一族发展成为能够抗衡巨龙的麒麟一族,成就一代麒麟圣祖的威名。...
少年附身韦小宝,和康熙做兄弟,唬弄皇帝有一手绝色美女尽收,色遍天下无敌手!睿智独立,诱惑惊艳的蓝色妖姬苏荃花中带刺刺中有花的火红玫瑰方怡温柔清新纯洁可人的水仙花沐剑屏空谷幽香,善解人意的解语花双儿倾国倾城,美丽绝伦的花中之王牡丹阿珂诱惑惊艳美艳毒辣的罂粟花建宁空灵纯洁娇艳精怪的山涧兰花曾柔...
张湖畔,张三丰最出色的弟子,百年进入元婴期境界的修真奇才。他是张三丰飞升后张三丰所有仙器,灵药,甚至玄武大帝修炼仙境的唯一继承者,也是武当派最高者。在张三丰飞升后,奉师命下山修行。大学生,酒吧服务员,普通工人不同的身份,不同的生活,总是有丰富多彩的人生,不同的遭遇,动人的感情,总是让人沉醉不已。武林高手...
成仙难,难于上青冥!修真难,没有法宝没有丹药没有威力巨大的符箓,没有强悍的天赋。但是自从有了位面商铺就不一样了,有了位面商铺一切都有了。什么,修真界最普通的洗髓丹在你那里是绝世神丹!什么,你们那个位面遍地都是各种精金矿物,精铁灰常便宜!前世走私军火的商人,今生在修真界同样要将商人当做自己终生的追求。我只是一个做生意的,修炼真仙大道只是我一个副业。成为位面商铺之主,横扫诸天万界。商铺在手,天下我有!...
生长于孤儿院的少年刘翰和几女探险时偶得怪果奇蛇致使身体发生异变与众女合体并习得绝世武功和高超的医术为救人与本地黑帮发生冲突得贵人相助将其剿灭因而得罪日本黑道。参加中学生风采大赛获得保送大学机会。上大学时接受军方秘训后又有日本黑龙会追杀其消灭全部杀手后又参加了央视的星光大道和青歌大赛并取得非凡成绩。即赴台探亲帮助马当选总统世界巡演时与东突遭遇和达赖辩论发现超市支持藏独向世界揭露日本称霸全球的野心为此获得诺贝尔和平奖而在颁奖仪式上其却拒绝领奖主人公奇遇不断出现艳遇连绵不...
赵敏的娇蛮狐媚周芷若的举止优雅小昭的温柔体贴不悔的秀丽美艳蛛儿的任性刁蛮 一梦醒来,该是倚天屠龙的另一个新主角上场了...