📜  微软 FTE 面试体验 2019 |在校园

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

微软 FTE 面试体验 2019 |在校园

线上回合:

线上回合在mettl平台进行

1.简单的数组操作题

2. https://www.codechef.com/problems/ENCD12

3.简单的dp问题

团体飞轮:

字符串IN-PLACE 的运行长度编码

第一轮技术:

1. https://www.geeksforgeeks.org/connect-nodes-at-same-level/

2.他要求优化上述方案,即常数空间方案 https://www.geeksforgeeks.org/connect-nodes-at-same-level-with-o1-extra-space/

3.如果RAM大小为4GB,如果启动了4个大小为2GB的进程!会发生什么?(虚拟内存)

4.上述问题的继续。如果进程大小不受主内存大小的限制,那么它的限制是什么(逻辑地址空间)

5. 上面写的代码有 node->val ;端到端解释如何访问该内存位置

6、分页、页表、TLB;为什么分页?

7. 解释信号量、互斥量、自旋锁以及它们之间的区别

8. 如果 while(1) 连续运行会发生什么

技术第二轮:

1.关于二叉树的一些简单问题

2.添加两个链表,头指针指向数字的MSB位

https://www.geeksforgeeks.org/sum-of-two-linked-lists/

3.解释分页,页面替换算法

4.线程安全和线程不安全函数

5.继续上面的,如何将线程不安全函数转换为线程安全函数

提示:上面使用 rand() 和 rand_r() 进行了解释 -> rand() 的可重入版本;

6. DBMS 中的查询优化

7. DBMS 中的索引

技术第三轮 + 人力资源:

1. 最大子数组和问题(Kadane's Algorithm)

2. 给定一个 BST,找到第 k 个最大的元素

3. 给定一个包含 0 和其他数字的数组。重新排列数组 IN_PLACE 以使所有零都在前面而不改变其他数字的顺序

例如:i/p arr = { 6, 2, 0, 5, 8, 9, 0, 56, 78};

o/p arr = { 0, 0, 6, 2, 5, 8, 9, 56, 78 };

时间复杂度 O(n)

4. 给定一个大小为 n + m 的数组,其中前 n 个元素已排序,其余 m 个元素未排序;对整个数组进行排序 IN_PLACE !

最终判决:选中!

感谢 GeeksforGeeks 提供的所有精彩文章。