• 1. 招聘成功的人才 微软招聘过程及经验
    • 2. 为什麽讲这个题目?
    • 3. 微软聘用的独到之处面试更看重必备的竞争条件(多于工作经验长短) 非常严谨而规范的面试过程。不存在例外,包括内部人员流动。 筛选及面试的淘汰百分比很高 - 宁缺勿滥. 注重培养实习生。实习经验及表现在正式聘用中起一定作用。 内部人员流动更注重目前工作表现,级别及评语 聘用部门而不是人事部门作最后决定。 并不保证所有的合格候选人被聘用(取决于名额) 高科技企业中较难也是最长的面试过程。
    • 4. 日程招聘目标 (Goals) 招聘过程 (Process) 竞争条件及必备条件 (Competency) 面试与决策 (Interview) 如何招揽并留住人才(Keep talented people)
    • 5. 招聘目标 聪明 (BillG) 能够迅速创造性地理解和着手解决复杂问题 要锋利, 并能够及时吸收和消化新事务 在任何情况下, 当有人向你解释当时状况时,能立刻建议说:这样做怎么样? 能够问有深度的,透彻的问题。 能够实时地吸收和消化信息 记忆力强 能够把似乎不相关的领域的事物联系起来 富有创造性,使工作有高效率 勤奋,合作,适应性和灵活性强 特殊技能 技术热情 着眼大局(有利于全公司)
    • 6. 招聘过程确定人才资源需求 实例: Authorization Manager 项目 中型长期项目,受限于Windows.Net 日期 1 项目经理, 2 设计人员 (高级, 初级), 1 测试 Hotfix Manager 项目 小型短期项目,Web发布,要求快 .5 项目经理, 1 设计人员, 1 测试
    • 7. 招聘过程确定人才资源需求 描述工作性质和必需条件 实例: The Software Design Engineer will be a team member on the Authorization Manager project, leading design/implementation of the Authorization Manager engine. Authorization Manager implements a role based access control model, which allows applications to control user access based on role information defined via policy. The person holding this position will own the dual interfaces to the engine, XML policy store management, business rule evaluation , access check functionality of the engine, and be involved in design of the next generation Authorization Manager. Candidates should have solid background in C/C++, COM, XML, WIN32, and good design and leadership experience for medium-sized projects. The candidate should have 5 years related working experience and ideally also have knowledge on Windows security in general. The Hiring Manager for this job requests that candidates be at least level 62 to be considered for this job.
    • 8. 招聘过程确定人才资源需求 描述工作性质和必需条件 实例: The Software Design Engineer will be a team member on the Authorization Manager project, leading design/implementation of the Authorization Manager engine. Authorization Manager implements a role based access control model, which allows applications to control user access based on role information defined via policy. The person holding this position will own the dual interfaces to the engine, XML policy store management, business rule evaluation , access check functionality of the engine, and be involved in design of the next generation Authorization Manager. Candidates should have solid background in C/C++, COM, XML, WIN32, and good design and leadership experience for medium-sized projects. The candidate should have 5 years related working experience and ideally also have knowledge on Windows security in general. The Hiring Manager for this job requests that candidates be at least level 62 to be considered for this job.
    • 9. 招聘过程确定人才资源需求 描述工作性质和必需条件 实例: The Software Design Engineer will be a team member on the Authorization Manager project, leading design/implementation of the Authorization Manager engine. Authorization Manager implements a role based access control model, which allows applications to control user access based on role information defined via policy. The person holding this position will own the dual interfaces to the engine, XML policy store management, business rule evaluation , access check functionality of the engine, and be involved in design of the next generation Authorization Manager. Candidates should have solid background in C/C++, COM, XML, WIN32, and good design and leadership experience for medium-sized projects. The candidate should have 5 years related working experience and ideally also have knowledge on Windows security in general. The Hiring Manager for this job requests that candidates be at least level 62 to be considered for this job.
    • 10. 招聘过程确定人才资源需求 描述工作性质和必需条件 实例: The Software Design Engineer will be a team member on the Authorization Manager project, leading design/implementation of the Authorization Manager engine. Authorization Manager implements a role based access control model, which allows applications to control user access based on role information defined via policy. The person holding this position will own the dual interfaces to the engine, XML policy store management, business rule evaluation , access check functionality of the engine, and be involved in design of the next generation Authorization Manager. Candidates should have solid background in C/C++, COM, XML, WIN32, and good design and leadership experience for medium-sized projects. The candidate should have 5 years related working experience and ideally also have knowledge on Windows security in general. The Hiring Manager for this job requests that candidates be at least level 62 to be considered for this job.
    • 11. 招聘过程确定人才资源需求 描述工作性质和必需条件 发布工作位置空缺信息 收集筛选简历集区 员工推荐,公司网站,内部空缺信息,合同公司 建立面试循环小组 – 确定协调人 面试准备 面试 提供面试决策 跟踪
    • 12. 日程招聘目标 (Goals) 招聘过程 (Process) 竞争条件及必备条件 (Competency) 面试与决策 (Interview) 如何招揽并留住人才(Keep talented people)
    • 13. 招聘标准:必备条件解决问题能力 创造力 模糊问题决策能力 沟通能力 驱动能力
    • 14. 招聘标准:部门合作团队精神 沟通 冲突协商 听取意见 人际关系
    • 15. 招聘标准:个人素质自我开发 自信 真实可信 镇静 模糊决策 创造力 勇气 身体力行
    • 16. 招聘标准:工作能力决策力 驱动力 工作表现 计划组织及协调力 解决问题能力 管理能力
    • 17. 招聘标准:技术知识技术热情 对技术的热情及执著 创新力 知识和技能 取决于个别工作性质和要求
    • 18. 招聘标准:其他长期发展 领导力 公司决策力 培养他人能力 客户至上 客户意见 代表公司整体
    • 19. 日程招聘目标 (Goals) 招聘过程 (Process) 竞争条件及必备条件 (Competency) 面试与决策 (Interview) 如何招揽并留住人才(Keep talented people)
    • 20. 微软技术职务分类项目经理 (PM) 非管理职务 软件设计工程师 (SDE) 软件设计工程师/测试 (操作系统部门)(SDE/T) 软件测试工程师 (STE)
    • 21. 项目经理工作特性管理产品中的某些功能。 具有组织领导才能,并对产品有很强的所有感。 对产品设计有强烈兴趣,对技术问题能透彻理解。 能对复杂的任务紧密跟踪,并设定轻重缓急。 利用各种渠道和方法来沟通解决问题。 有能力做出适当的取舍。
    • 22. 软件设计工程师工作特性有扎实编程基础,能写坚实, 有逻辑和高质量的程序。 能设计并实现功能块和应用程序接口 思考模式: 有条理, 结构化, 或有创造性 高级设计工程师应具有PM的某些特性: 部门间沟通,组织领导决策力 系统设计能力,复杂问题解决能力 对复杂的项目紧密跟踪,能做出适当的取舍。
    • 23. 软件测试工程师工作特性从不同角度看问题,永远持怀疑态度 以用户身份测试产品 俯视总体设计并制定测试方案 很快学会新任务所需要的知识 能找出边角问题及负面问题 在OS部门,需要编写程序来测试产品。 有很好的写/读原码的能力,能从中找到攻击弱点和错误
    • 24. 准备面试面试人必须参加培训 清楚面试过程及一般要求 清楚基本劳工法 清楚不能问的问题 身份,年龄 身体状况 婚姻状况 宗教信仰 政治敏感问题
    • 25. 准备面试清楚面试策略及回馈要求 理解工作的必备条件 工作级别,性质,及最低要求 审阅简历 准备具体面试问题 技术和问题求解 具体情况分析 试探, 启发式问题
    • 26. PM面试问题实例:讲述以前做过项目的系统结构,设计及技术要点。 具体怎麽做的,为什麽?为什麽不这样做? 指出设计漏洞,如何补救? 如果需要裁减,你要裁哪部分?为什麽? 设计一个项目模块 明确模块功能 – 输入输出 结合变化参量(平台,用户,模式,网络,等) 技术认定,为什麽 基本技术概念 – 影响决策 Tree, link list, COM, RPC, …
    • 27. SDE/SDET面试问题实例:设计并实现一个16位对齐的存储管理器 存储指针运算 连接链及树的各种运算 遍历,加减节点,排序,存储 数码操作 反转32位数,数设一的bit,x & (x-1) 智力题 在3x3格中找数
    • 28. SDET/STE面试问题实例:SDE/T 实现连接链加节点的功能,并写程序测试(白盒子方法) 给你一个接口(function)来读文档,你如何测试(黑盒子方法)? STE 如何测试Notepad
    • 29. 执行面试第一人和最后一人很重要 每人大约一小时面试 简介 80/20 原则 - 寻求具体确定答案 根据需要改变面试问题 测试尚未测试或者弱的方面 识别适合其他工作的强项 成长力,驱动和决策力,其他工作能力 招聘总经理最后面试 确认并作决定 推销 - 机会,新技术,工作伙伴
    • 30. 我个人的面试经历8 位面试人 (总计9小时 早9点-晚6点),2 PMs,5 SDEs,1 招聘经理 PM主要讨论我做过的项目(网络安全管理),找漏洞, SDE 测试设计及在黑板上直接写程序 Hashing, FIFO tree Memory manager Link list Binary tree OLE
    • 31. 如何决策面试结果满足必备条件, 具备重点竞争条件 据有和工作相关的技能 毕业生 – 聪明,基本功,可培养 有很强经验的 – 更侧重技能和经验 大多数决策相同,招聘经理最后决定 3-4人面试要全部通过 5-8人面试不能2人以上说不 多样化 (diversity) 少数 不同文化背景
    • 32. 面试决策实例 1 (SDE)写一个C算法在一个单向连接链中找到从链尾数的第N个节点 问清楚要求(比如节点结构,返回类型) 快速(5-7 分钟)写出程序 改进算法 清楚解释思路,自己找出“bug” 测试以下知识: 基础(C,接口定义,连接链,指针) 目标明确,思路,性能,沟通能力
    • 33. 面试决策实例1-续 程序演示 一般算法 最优算法
    • 34. 面试决策实例2 (SDE)反转32位数 (N,例如10111001) 测试“位”的概念 测试是否有算法速度概念(Big O) 方法1 - O(n) 交换第32位与第1位…总计16步 方法2 – 常数 - 搜寻表方式 方法3 – O(logN) 交换相邻位,然后交换相邻两位,四位…直到16位
    • 35. 面试决策实例 3 (SDE):实现一个16位对齐的存储管理接口 问清楚要求(16位对齐?,接口要求?,可否用标准库?) 能定义并实现接口 (中高级)能设计虚拟存储管理包括GC 清楚解释思路 如何处理压力 测试以下知识: 指针,存储地址,位 思路,沟通能力 问题分析,适当决策
    • 36. 面试决策实例 3-续程序演示 存储管理设计思路占用和空的位置,大小 认证释放位置 集合零散释放位置 对齐以保证快速存储
    • 37. 面试问题实例4(TEST):如何测试一个给定的读文件接口 输入输出参数变化测试 文件格式(text,binary,unicode,DBCS) 不同运行环境用户测试 应力测试,稳定性,高性能测试 测试Notepad 菜单,输入,显示 多个用户,同时或分时 多种国家语言 本地/远程
    • 38. 面试决策实例 5(PM): 也适用于高级SDE 应征人带头设计了一个网络管理项目。其中一个模块负责在网络上传送数据。这个模块直接用winsock实现。 为什麽自己实现Transport层?为什麽不用RPC? 你们的方法安全吗?有什麽办法改进? 数据格式怎麽确定(XML,text)? 如何解决不同版本之间的通讯?
    • 39. 面试决策总结多人参与面试及决策 试题反应所需技能的侧重点 围绕必备条件 试题有不同层次对不同级别的人 试题有比较性
    • 40. 面试结果跟踪通知招聘部门 跟踪录用通知状态 和录用者保持联络 祝贺 讨论预备材料
    • 41. 面试结果调整决策不一定完全准确 能力未全发挥 面试结果与实际工作表现相差太大 如何调整: 调级 升级 调换工作 评比管理
    • 42. 日程招聘目标 (Goals) 招聘过程 (Process) 竞争条件及必备条件 (Competency) 面试与决策 (Interview) 如何招揽并留住人才 (Keep talented people)
    • 43. 如何招揽人才实习生 校园招聘 鼓励员工推荐 搜寻专业人才 广告
    • 44. 如何留住人才制定具体工作计划和目标 理解工作需求 提供职业开发机会 提供及鼓励培训 奖“罚”分明 建立部门合作及合作伙伴关系 公平有效管理 平衡工作和生活