微软采访 |设置 5
大家好,我想分享我在微软的经验,因为我是幸运的雇员。
日期: 2012 年 8 月 27 日
轮数: 2 次书面(在线)+ 4 轮 PI(所有算法/技术)
面试类型:新生校园面试
书面(在线)
客观(60 分钟)+ 主观(60 分钟)
目的:能力+推理(30题)和技术(20题,C/C++程序,流程图,识别正确的函数)
主观:3个编码问题(Web浏览器中没有内置编译器,只需将工作代码编写为函数/functions)
- 给定一个数,比如 n,找到大于 n 且编号相同的最小数。其中的设置位。
- 二叉搜索树到双向链表转换(更喜欢就地转换)
- 找到第二个最大值。在一个数组中
个人面试(4轮)
第一轮:(40-50分钟)
- 关于我在简历中列出的项目的详细信息,询问了与这些项目相关的各种问题。
- 关于主观回合中询问的 q1 和 q2 的详细信息,您如何解决问题并要求编写我在测试中编写的相同代码并解释它。
- 来自操作系统的问题:
…… i)您有 10 GB 的 RAM,并且您加载了大小为 1 GB 的程序的多个实例(假设超过 10 个实例),那么会发生什么,操作系统如何处理这种情况以及扩展什么?
…… ii)生产者-消费者问题
第二轮:(20-30分钟)
- 您已经给出了一个数字 N,打印所有可以使用 N 对开括号和右括号生成的平衡括号表达式。例如。对于 N=3, ((())),()()(),()(()),(())()
首先我给了他一个蛮力解决方案(生成所有可能的组合并检查有效的表达式),然后他要求我优化代码,我在一点点混乱之后就能够做到。还询问我的代码的复杂性。 - 你给了一个图的邻接矩阵,求图的连通分量集的个数。
第三轮:(35-45分钟)
- 一个字符串str 和两个字符a 和 b 被赋予一个函数,找出 str 中这两个给定字符之间的最小距离。首先我给了他一个蛮力解决方案( O(n^2) ),然后他要求优化它( O(n) ),最后我以某种方式能够做到。
- 您有 n 个进程和 m 个可用资源,解释操作系统在执行这些进程时的每个步骤,以及哪种数据结构适合某个条件,哪种调度算法最适合,在抢占式调度、等待队列等情况下也是如此。 .它需要很长时间来解释他。但最后他对我的回答很满意。
- 编写一个修改过的 strcmp函数,它忽略大小写,如果 s1 < s2 则返回 -1,如果 s1 = s2 则返回 0,否则返回 1。
- 迭代中序遍历。
第 4 轮:(40-45 分钟)
- 给出一个大学生数据库管理的模式(表、属性和关系),请我将其标准化为 3NF。
- 一些基于模式的查询:
找出每个学生上学期数学科目的最高分。(也有可能有学生退学没有升职,处理所有情况)。
我很努力,给了他 2-3 个错误的答案,但没能做到(因为我在 DBMS 中不是很好).. 但他对给定的架构感到满意。 - 他问我最喜欢的编程语言,以及为什么我喜欢那种语言。
- 你给出了一个整数范围(a 到 b),找到 a 和 b 之间的所有素数。
..... i)首先我给了他一个简单的解决方案(检查每个号码。它是否是素数)。
..... ii)然后他询问了 Sieve 并实施它,哪个更好(第一种方法或筛子) - 什么是您 B.Tech 生活中最具挑战性的时刻。 ?
- 为什么要加入微软?
- 关于我的爱好的一些问题。
- 你有什么问题要问我吗?
我问了 2-3 个与他们提供的工作简介(SDE/SDET)、当前项目和领域相关的问题。
终于……PI 结束,10-15 分钟后,让我松了一口气,这次我被录用了……
许多许多祝贺Ajeet Kumar 。如果您喜欢 GeeksforGeeks 并愿意做出贡献,您还可以撰写文章并将您的文章邮寄至 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。
微软的所有练习题!