微软面试经历 |第 55 套(适用于软件工程师 2)
Skype 第 1 轮:(10 分钟)
以之字形顺序打印一棵树。例如给定的输入树:-
1
2 3
4 5 6 7
输出将是: -
1
3 2
4 5 6 7
以您熟悉的任何语言编写逻辑代码。
Skype 第 2 轮:(10 分钟)
查找两个给定的字符串是否是彼此的字谜。
字谜示例:聆听和沉默。
相同的代码。代码的测试用例。 (正面及负面)
他们在 Skpe 回合后立即叫我去海得拉巴参加 F2F,(我设法将其推迟到下周)。
Face2Face 第 1 轮:(45 分钟)
问题一:
给定一个字符数组,其中每个位置都填充有单个数字或逗号,
22 个字符的数组:-
如果我们找到一组由逗号分隔的三组数字,则编写一个代码以回复 true,使得
X、Y、Z 和 Z = X + Y
在 77+22 = 99 上面的数组中,因此返回 true.Code 与否定测试用例相同。
问题2:
如果在给定的双循环链表中,有几个 next 指针损坏,请给出纠正它们的逻辑。
Face2Face 第 2 轮:(1 小时)
给定 int 变量中的数字,编写代码以文字形式打印其值,涵盖所有可能的极端情况。
Ex → 34567 = 三万四千五百六十七。
相同的负面测试用例。
Face2Face 第三轮:(1 小时 15 分钟)
问题一:
给定一个调度程序安排,其中一些作业具有唯一的作业 ID,并且每个作业 ID 都有许多具有该作业的唯一任务 ID 的任务。
例子:-
Job id : 500 Task id : 700
Task id : 300
Task id : 350
Job id : 600 Task id : 400
Task id : 350
Task id : 600
Job id : 1000 Task id : 800
Task id : 100
Job id : 200 Task id : 650
编写代码以循环方式列出作业 ID + 任务 ID 组合。
例子:-
Job id : 500 Task id : 700
Job id : 600 Task id : 400
Job id : 1000 Task id : 800
Job id : 200 Task id : 650
Job id : 500 Task id : 300
Job id : 600 Task id : 350
Job id : 1000 Task id : 100
Job id : 500 Task id : 350
Job id : 600 Task id : 600
选择输入的任何数据结构(结构数组或链表或队列)。
设计相同的测试用例。
问题2:
给定一个 BST,从相同的位置创建一个双向链接列表。
树节点 -> 左指针 = DLL 节点 -> 前一个指针
树节点 -> 右指针 = DLL 节点 -> 下一个指针
Face2Face 第 4 轮:(与导演)(约 1 小时)
他问了一些典型的人力资源问题,比如
为什么选择微软?
10年后你自己在哪里?呸呸呸。
问题一:
给定一堆乱七八糟的球(红色蓝色和白色),编写一个算法+程序,以最有效的方式对它们进行颜色排序。 (荷兰国旗问题)
问题2:
给定一个字符串,打印该字符串并交替出现任何丢弃的字符。
Example:- input string → It is a long day Dear.
Output string → tisalongdyDea.
修改:- 将两种情况下的字母视为相同的出现。
Output string → Itsalongdy ea.
职位是软件工程师2。MSFT不再有SDE和SDET,从现在开始所有的角色都是SE。
感谢极客的极客。这个网站是求职者的奇迹。