微软面试体验| 176场(校园)

第一轮(编码测试): 这是在cocubes平台上进行的编码测试。3个问题的评分各不相同:

null

2分:给定一个数字,我们需要找到10的最接近倍数。规则如下:1。如果单位数字小于5,则返回比给定数字小10的最近倍数;如果单位数字大于或等于5,则返回比给定数字大10的最近倍数。 例子: 输入: 144 156 输出: 140 160 这个问题真的很容易解决。只需使用模运算进行简单的实现。

3个标记:给定一个数字n,我们需要返回大小为n的可能二进制字符串的数量,其中没有连续的字符串。 这是一个相当流行的动态规划面试问题。Geeksforgeks有一个解决方案。链接: https://www.geeksforgeeks.org/count-number-binary-strings-without-consecutive-1s/

5个标记:给定一个链表和两个整数M和N。遍历链表,保留M个节点,然后删除接下来的N个节点,继续相同操作,直到链表结束。这很容易。Geeksforgeks有一个解决方案。链接: https://www.geeksforgeeks.org/delete-n-nodes-after-m-nodes-of-a-linked-list/

这一轮过后,50名学生被选中。

第二轮(集体飞行): 那是一支纸笔。我们需要解决书面上给我们的问题,并向我们身边的导师解释我们的方法。给出要解决的问题:以给定的和打印二叉搜索树中的所有路径。这是很容易解决的使用堆栈或向量,并有递归和无序遍历树的概念。破解这一轮的小贴士:1。写得好。在某种程度上,好的书法很重要。 2.首先编写方法,并对代码进行注释。 3.至少写出你所写解决方案的时间复杂度和空间复杂度。所有这些在一定程度上都很重要。

24名学生被选入下一轮。 第三轮(技术面试): 这是在skype中举行的。前半个小时的讨论完全基于我的项目和实习 在上面她问我在IIT Kharagpur做的研究项目的详细说明,以及我在Acadview做的机器学习实习。之后,她问了两个编码问题:它们是: 1.给定一个十进制数的排序数组,我们需要在其中找到一个十进制数x。她让我减少其中的比较次数。我真的很困惑,有什么比二进制搜索的logn方法更好。我告诉她很多情况: 当元素可以重复时,我们需要找到第一个和最后一个索引。 她说她需要进一步优化。我真的不知道该说什么。 然后我说,如果元素的数量很大,那么为了减少溢出,我们需要以其他方式计算mid,以避免溢出问题。然后我告诉她她想要的答案。如果要查找的元素大于数组中的最大数,我们只需要返回false。我知道这很幼稚,但这正是她想要的。

2. 给定一个链表,您需要检测链表中是否存在循环 她让我不要使用著名的兔子和乌龟方法、堆栈方法或哈希方法,而是以这种方式修改链表的结构,并在节点结构中使用尽可能少的额外内存,以便在一次遍历中检测循环。为此,我在节点的结构中使用了一个布尔变量,并在遍历过程中对其进行操作以找到循环。 她似乎对我的方法很满意。然后她让我等下一轮。

第四轮(技术面试): 这是一个F2F回合。 他先让我自我介绍,然后问我实习的情况。然后他问了我一个问题:

给定一组整数,任务是将其分为两组S1和S2,使其和之间的绝对差最小。这真的花了时间向面试官解释我的方法。我首先从递归方法开始,然后继续使用自下而上的DP解决方案。他真的问了我很多关于我的方法的问题,并给了我测试用例来验证我的方法。他终于对我的方法感到满意了。 Geeksforgeks有一个解决方案。链接: https://www.geeksforgeeks.org/partition-a-set-into-two-subsets-such-that-the-difference-of-subset-sums-is-minimum/

然后他开始问我面向对象编程的问题。问题是: 1.解释内联函数。我们为什么要用它?当编译器看到单词内联时会做什么?什么时候内联函数是不利的? 2.解释抽象类。如果派生类中没有定义纯虚函数呢? 3.使用虚拟基类的著名钻石问题。然后他继续研究数据库管理系统。问题是: 1.解释数据库的工作流程。从软件资源规范到规范化。他只是问我台阶的事。 2.接下来,他问我所有形式的正常化,我们对此进行了详细讨论。他问了我很多关于BCNF的问题。 接下来,他转向系统设计: 对于flipkart或amazon这样的购物网站,您需要设计支付门户页面和 如何验证输入的信息。 他给了我三种不同的付款方式: 1.借记卡 2.信用卡。 3.网上银行业务。 他还要求我说出我将用于测试页面的每一种测试方法。我们对此进行了详细的讨论。网络银行业务部分是最具挑战性的部分。然后他问了一些人力资源方面的问题,我很容易就回答了。

第五轮(技术和人力资源): 面试官首先问我在IIT Kharagpur的暑期实习情况。他向它提出了深入的问题。他非常了解我使用的噪音模型和网络。 然后,他问了我关于机器学习实习的情况,并给出了一个现实世界的问题,用我知道的任何算法来解决它。 考虑到我们的大学门户网站,我将如何在twitter上显示所有类别的热门新闻。我使用K-Means聚类来解决这个问题。然后他问我它是如何工作的,我向他解释了质心转移法。 他没有做出任何反应P

然后他转向操作系统: 什么是信号灯?它是变量还是函数?它的原子操作是如何定义的?如何使用它来解决关键截面问题?如何使用它来维护流程的执行顺序? 我给了他必要的答案。他似乎很满意。然后他问了一个问题: 顺时针旋转N*N矩阵。 这对我来说很容易,我向他解释了转置和反向行的方法。他对我的方法很满意。 他再次转向系统设计: 他让我设计一个类似tiny URL的短网址。 我真的很难做到这一点,因为我没有很好地研究系统设计,但我给了他哈希和编码方法,并试图用它来接近它。他再次表达了中立的态度:P 最后他问我的家庭背景。关于我的爱好和我在其中获得的荣誉。然后问一些常见的人力资源问题,比如你的职业目标是什么?为什么是微软?等等。 然后我被要求等待。 最后选出了10名学生,我就是其中之一。这真的是我一生中最美妙的一天。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享