神鸟电子书 > 经管其他电子书 > 微软360度:企业和文化 >

第22部分

微软360度:企业和文化-第22部分

小说: 微软360度:企业和文化 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



舶伞S幸淮蚊媸裕壹堑帽晃实健叭绻阋攵岳夏耆耍杓葡乱淮牡绫洌心男┬碌墓δ苄枰杓啤薄?吹秸飧鎏饽浚蚁氩簧俣琳叨蓟峋醯猛虻サ陌桑簧偃丝隙ㄒ丫幸欢训南敕耍业笔币惨谎汲率鲆欢研孪实墓δ埽撼驳鸵簦躺繁#谠加玫纾涔衲芄蛔远谱鞅ち瑁涿虐咽帜芄蛔远馓逦潞托奶湔婊褂蠰CD可以看电视。虽然自己说的神采飞扬,可是面试官表情却不是很赞同的样子。事后等到的反馈却是“想象力丰富,可是缺乏对用户的同情心”。原来,PM的一项重要标准就是看你是否能够想用户之所想,急用户之所急,充分地为用户量体裁衣,从而设计出为用户喜爱的产品。而我的回答却完全忽视了用户是老年人这个前提,反而是为自己设计了一台电冰箱。那么好一些的回答是怎样的呢?我们可以分析一下老年人的特点,比如行动弯腰不便,容易健忘,那么设计出来的冰箱就应该考虑这些,比如把储藏室抬高一些,老人就不用弯腰去拿东西;把门设计成电力辅助的,老人开门就不会觉得吃力;还可以定时提醒老人买牛奶,或者提醒牛奶已经过期,等等。这些功能都很简单,容易实现,却实实在在解决了老人生活中的不便。当然,这类设计问题的答案是不定的,任何贴切于用户的设计都能博得面试官的好评。
  另外一类问题是情景问题,往往给出一个比较棘手的场景,考验PM如何提出解决方案。比如说,微软的产品X马上就要发布了,可是却发现两个问题A和B,每个都很重要。如果你只有人手解决其中的一个,应该解决哪一个?这种问题考察的是PM考虑问题的全面性和说服力。容易出现的错误是先入为主,马上根据自己的直觉给出一个答案,因为这样面试官往往会加入一些新的信息,从而使你的答案看起来是不正确的。比较好的做法是:做一下全面的分析,比如A和B分别会造成多大的损失,解决A和B又分别需要多少资源,产品X的市场策略是什么,微软最重要的形象是什么,等等。往往当你把所有条件都列在黑板上时,结论已经不言自明了。顺便说一句的是,这种情况的的确确会在工作中发生,到那个时候,PM们,开发经理们和测试经理们会跑到一个房间里(这个房间往往被叫做WarRoom),像刚才说过的一样,PM会把所有的信息都汇集在黑板上,然后大家一起讨论出解决方案。
  。 最好的txt下载网

测试人员的面试
微软总部常有很多测试工程师的招聘名额,有面向刚出校门的大学生、研究生的,也有面向有工作经验的。美国的大学中,除了佛罗里达州的FloridaInstituteofTechnology(FIT)外,几乎没有其他学校设置软件测试专业,而只是设置涵盖软件测试内容的一、两门课,甚至只是讲述软件工程书里的若干章节。所以微软没有要求测试工程师的应聘者有软件测试学位,但当然希望学习的是计算机专业或其他有关专业,如电子工程、数学、信息技术、通信工程等。当然,也并不完全局限于这几个专业,只要申请者具备所需的编程能力和其他软技能就可以。
  一般来说,第一个技术面试的考官会测试你的基本测试概念:比如边界条件(boundarycondition)、有效用例(validcase)、无效用例(invalidcase)、等价类(equivalentclass)等等。你开始不懂也没关系,面试官会给你耐心解释定义。等你明白了以后,就要看你是不是能应用这些概念来回答测试问题,看你能不能很快地学会新知识并应用于实践。
  测试人员的面试主要看三类能力:一是重要的软技能,二是测试能力或潜能,三是编程能力。软技能包括:分析解决问题、替用户着想、联络沟通、交际、自信度、学新知识、系统思维、追根溯源、处理困难、团队精神和协作、管理、组织、分清优先度等能力。还要执著。遇到困难不放弃才能克服困难按时保质完成任务。
  怎样评价测试能力主要是看给你一个测试问题后,你是否能够有由浅入深地分析出所有基本的、重要的、特殊考虑的测试用例。而且能否系统性地进行分析是很关键的。因为在微软测试工程师要能独立承担多个功能产品测试,我们要求测试工程师系统性地计划、执行和检查测试,不然很可能会漏掉重要的测试用例。有的应聘者能答出很多很好的测试用例,但却不能系统性地列出测试用例,而是无条理地、东一下西一下地找。比如,怎样测试一个自动卖饮料的机器(见下图)?
  理想的测试工程师候选人应该能考虑到以下方面:包括外表感觉、颜色搭配、各部件相互位置等用户界面设计、内部结构、电源系统、投钱孔、灯、说明书、商标、饮料保持温度、机器室外最低最高承受温度、饮料补充和拿取、拿取口位置、拿取难易程度、重量、材料、饮料之间空隙、振动承受度、各种极端条件、特殊用户需求(小孩、老人、残疾人)等。针对投钱孔的功能测试应该有很多测试用例。比如测试输入钱的功能,应考虑用不同种的市面流通的所有钱币或钞票。比如硬币像一分、五分、一角、五角、壹元,纸币壹元、两元、五元、十元、一百元、五百元、假币、假钞、有缺损的真币、真钞票等。还有找钱的功能。边界条件应包括该输出的硬币或钞票用光了,没钱找时,应给消费者提示。还有很多可考虑的测试用例。就留下给大家做练习吧。
  编程能力方面的问题可能和开发人员的面试问题有类似的地方,但应该简单一些,因为主要是基本的编程问题。微软从2005年前后开始对测试工程师必须要求有编程能力,因为现在初进微软的测试工程师的级别和开发人员是一样的,这主要是因为测试人员也要能编程,以便把大部分测试实现自动化。
  对测试工程师的编程有关的面试题,不单单是看你能不能写出正确的代码,还要看你的代码能不能正确处理不同的数据或本程序需要处理的信息。你应该考虑到边界条件、包括有效和无效数据在内的不同数据类型、出错信息处理、给用户提供提示等做测试时需要考虑的测试用例。
  txt电子书分享平台 

开发工程师的面试(1)
开发人员的工作,主要就是围绕着软件开发的各个阶段,设计,编程,测试,调试等。理所当然,开发人员的面试,就是针对考核这几方面的能力。
  (1)编程。有句话说微软的面试不写程序就不是微软面试了。没错,对于开发人员的面试这是真的。编程就是考你的基本功。
  如果你的手已经生硬,多年没有写过一行代码,开发人员的面试一定搞砸。“能写程序”(cancode)是从大学毕业生一直到架构师,开发部主管都要过硬技术。平时多写程序是唯一的准备应付策略。取巧的人一般会被问得很尴尬。
  但这里不是考你的死记硬背的功夫,例如告诉我一个Win32API的具体调用方式,或者是如何使用ATL或MFC里的一个类。更有可能的编程问题则会是涉及字符串操作,链表操作,二分查找,位操作等等这些不需要特定领域知识的东西。至于编程语言,一般人常用的是C/C++,不过你愿意用什么都行,JAVA,C#,伪代码(pseduo…code)都可以。
  这里我想特别的说,要注意白板编程(whiteboardcoding)的练习。所谓白板编程,就是直接在纸上或者是黑板/白板上写出程序。看似简单,实际上是很能磨炼能力的。有时候你觉得自己心里面想清楚了,实际上往纸上一写发现完全不是那么一回事。
  (2)设计。这也是开发人员面试中必考的分析问题和解决问题的能力。事实上没有什么可以特别准备的。“数据结构/算法”在大学念好了,平时用得多了,这就不是一个问题了。
  同编程一样,着重的也是面试者活学活用的能力。在互联网上可找到许多微软面试编程/设计的问题,很多这些问题都没有单一答案。提问者希望面试者通过思考找到最佳算法,而不是只会死记硬背。例如,会延伸问题来验证面试者的优化能力,就像我前面举出的素数的那个考题中展示的样子。
  特别的,微软的算法问题一般十分重视优化:运行最快,用最少内存等等。最好的准备是在日常工作中多问自己几次:“这可以更快更好吗?”日子久了,优化就变成自然的本能。微软的很多开发人员都有这种本能。这也是开发队伍引以为豪,一直相传的素质。当然了,如果你问我既然这样,为什么WindowsVista在我的256M内存的机器上还跑得这么慢的话,本人拒绝回答。(玩笑,玩笑,嘿嘿)
  (3)测试。开发人员也要管测试?没错,正如测试人员需要懂编程一样,开发人员也要具备基本的测试程序的能力。
  开发人员是自身程序的第一个测试者:单元测试(unittesting),就是开发人员来做的。可不是写好了程序,往测试组一丢就行了。想一下,如果测试组在你的不足50行的函数里一口气发现七八个问题的话,他们的工作量倒是上去了,你的面子可就不那么好看了,不是吗?
  所以往往开发人员的面试中会有这种情况,让你写出一段程序,然后看你会不会做最基本的测试。当然了,测试不会是开发人员面试的重点,但也必须是准备的一个方面。
  (4)调试。从已有程序中判断问题所在,调出错误代码的功夫,是每个有志于开发工作的诸位,必不可少的能力。设想一下,如果测试组发现了问题,也许压根不是你的代码的事,对不起,身为开发人员一份子,你的责任就是要找出症结所在。
  所以往往我会在面试者写出一段程序后,看他或她能否发现自己刚写的那段代码中,有没有什么错误或考虑不周的地方。也许,我会直接给出一段有错误的代码,让面试者看看。如果一时没有发现,我会稍许提示。不过我要是心里嘀咕,老兄,这么明显的内存溢出,怎么就看不到呢?那么最终的评价,肯定要有所折扣了。:)
  最好的准备,就是平时的实践。写好一段程序,先别急着测试或运行,闭上眼睛想一想,心里走一遍逻辑,看有没有一眼可以发现的错误。
   txt小说上传分享

开发工程师的面试(2)
(5)其他。这里主要指其他的软能力,例如交流,团队合作,工作热情等等。这里就不具体说了。
  稍许小结一下,就像前面面试故事中提到的,不仅仅要知其然,而且要知其所以然。死记硬背不行,真正掌握,会活学活用才是关键。
  书 包 网 txt小说上传分享

微软面试指南
面试前后
  知己知彼,百战不殆。面试也是如此。怎样才能做到知己知彼呢?知己就是认识自己。首先你自己要明确在今后的几年内你自己到底想要做什么?你的奋斗目标是什么?你有什么优点,什么缺点?你怎样才能通过学习和练习来弥补你的不足之处。知彼意味着了解对方。了解对方有很多含义。从大方面说,是招聘公司的情况。从外部看,是公司的主要产品,强烈的竞争对手,关键的客户对象和今后的战略目标。从内部看,是公司的企业文化,员工特点。从小方面�

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的