微软面试经历 |设置 41(校内)
多选题回合:
在 c、c++、OS 上询问了 15 个 MCQS。
编码轮:
1)给定一个坐标链表,其中相邻点形成垂直线或水平线。从链表中删除线中间的点
Eg:
(0,10) -> (1,10)->(5,10) -> (10,10)
|
(10,5) -> (20,5) -> (40,5)
should be changed to
(0,10) -> (10,10)
|
(10,5) ->(40,5)
2)给定一个排序数组,将其转换为 bst
团体飞轮:
https://www.geeksforgeeks.org/a-linked-list-with-next-and-arbit-pointer/
代码应该写在纸上并且应该没有错误。不应使用额外的空间。
采访一:
1) 给定井字游戏中 2 名玩家的移动链表。找出谁赢得了比赛。
采访2:
1) 给定一堆 9 个对象。 2 名玩家轮流挑选 1、2 或 3 个对象。最后一个选择的是较松的。什么是制胜策略? 9个硬币的获胜策略
2)询问如何为dns记录设计缓存。我告诉过不同的方法,比如先进先出、不经常使用、最近最少使用……他让我告诉策略并编写代码。我告诉 LRU 并实现了这一点。
https://www.geeksforgeeks.org/implement-lru-cache/
微软的所有练习题!