📜  微软校园安置和面试问题

📅  最后修改于: 2022-05-13 01:58:12.912000             🧑  作者: Mango

微软校园安置和面试问题

微软最近参观了我们的校园 IIT ROORKEE。选择过程如下所述。

第一轮是在线编码轮次,由三个问题组成,在 CoCubes 网站(测试门户)上进行。

Q1)非常基本的问题 - :给定两个整数 n 和 m 如果 n+m 中的位数等于 n 中的位数,则返回 n+m ,否则返回 n。 n 和 m 也可以是正数和负数。 2 分

Q2)基本 dp 问题 - 给定一个长度为 n 的字符串,找出字符串中没有连续字符串的可能字符串的数量。 3

Q3) 链表普通级题-:给定一个链表 L1 -> L2 -> L3 -> ..... Ln-1 -> Ln 以如下格式返回字符串L1 -> Ln -> L2 -> Ln- 1 -> L3 -> Ln-2 -> ...。 5 分

虽然没有正式宣布,但分界线是 7/10 分。

学生入围第二轮。

第二轮是一组飞轮。详情如下

Q1 ) 给定一个 8 位整数,交换其两个连续位(d0 与 d1,d2 与 d3 .. 等等),然后返回它。例如 00010101 (23) 应该返回 00101010 (42) 。

Q2) 合并两个有序链表。两个链表中的重复项在最终链表中应该只出现一次。

Q3 ) 存在从 1 -> n 个城市的线性路径,例如 1->2->3->4-> … ->n 每条连接两个城市的路径都有与之相关的成本。您需要回答有关从 (xi -> xj) 城市搬家的费用的问题。
空间复杂度可以是 O(n),但必须根据问题以 O(1) 时间复杂度回答查询。

Q4 ) 一些基于 C++ 的输出问题,例如
字符 *ptr = “ABCDEF”
字符 str[] = “ABCDEF”
cout< cout< cout< cout<

Q5) 反转给定句子中的单词。
“天空是蓝色的”应该返回“蓝色是天空”

Q6) 给定两个矩形及其右下角、左下角、左上角和右上角坐标(x, y),求两个矩形相交形成的矩形的坐标。

小组飞行的问题是您必须在纸上编写代码,因此在编写代码时应该非常小心,因为人类会阅读它。适当的缩进,注释(如果你有时间的话)应该和代码一起写。提一下你的方法,给检查员一个提示,让他很容易评估。

入围的学生被要求进行面试。
有两次技术面试。
第一次技术面试
面试官非常友好,在第一次面试时他要求自我介绍并告诉我简历中提到的你最近的项目。确切的问题是
简要描述您最近的项目以及您在实施过程中遇到的困难。

然后他问我著名的伯爵并说问题。给定一个字符串“aabbbccd”,返回字符串“a2b3c2d1”作为结果。

第二个问题是实现 Linux tail 命令,该命令将文件的最后 n 行打印为输出,其中 n 是整数参数。文件处理问题。

面试官让我在纸上写代码,所以再次练习在纸上写代码,因为有时人们会削减很多次并在面试中搞砸。在提供的时间内正确考虑实现,不要急于立即编写代码。

第一次面试结束。
第二次面试

问题 1) 第一个问题是想出一个代码,当您在电话中键入时,它会向您提供 3 条建议。在这次面试中,你不需要编写整个代码,但你必须向面试官提供问题的方法。
问题是当我输入“bananaa”时,代码应该建议我使用香蕉。拼写错误可能发生在单词之间、结尾、开头。为我提供字典中与拼写错误的单词最大匹配的三个字符串。如果字典中存在单词,请不要提出任何建议。

问题 2 ) 给定一个整数数组,最大化 num1 + num2 – 距离。
数组 5 4 89 25 10 中“5”和“10”之间的距离为 (4)。

第二次面试结束,面试结束。

准备2-3个问题来询问面试有关公司的问题,并在他说“你有什么问题要问我”时问他们。面试时保持积极心态。通常面试官会要求编写你的代码可能会失败的测试用例。即使你知道你的代码不会失败,试着生成一些有趣的测试用例;不要呆在原地。面试官会检查你的方法和沟通技巧,以及你引导他完成你的思考过程的能力,而不是在第一次尝试时想出正确的代码。如果你走错了方向,他会帮助你。

总的来说,这也有点依赖运气。