Media.net 采访经历 |设置 2 (校外)
我为 Media.net 的 Web 开发人员简介进行了校外采访。以下是提出的问题。-
第一轮(通过Skype)
问题-给定一个数字等级模式和一个字符,找出有多少子字符串遵循等级模式。模式长度的每个子字符串中的每个字符都可以根据其实际的 ascii 值赋予一个等级/顺序值。
例子-
字符串:ACBADCAE
RankPattern(R):13214
输出=2
即:{ACBAD,ADCAE}
我给出了一种复杂度为 O(字符串 length(log(pattern length) + pattern length)) 的方法
第一轮再次(通过Skype)
问题-
给定一个只包含小写字母的字符串。您需要删除重复的字母只留下一个,并尽量使新字符串的字典顺序最小。
示例 1-
bcabc
你需要删除1个'b'和1个'c',所以你删除第一个'b'和第一个'c',新的字符串将是最小的abc。
示例 2-
cbacdcbc
答案是 acdb 不是 adcb。
提示 - 使用堆栈和频率数组
第 2 轮(技术 F2F)
1) 查找链表是否为回文
2) 寻找从 a 到 b 的最短路径的问题,使用 dijiskta
3) 查找 bst 中的第二大元素
3) 求 2 只鸭子以 10 公里/小时和 18 公里/小时的速度沿圆形池塘的圆周向相反方向移动的第二次相遇时间。最初,它们出现在任何一对完全相反的点上。池塘半径7公里
第三轮
1) 讨论 Web 应用程序中对 cookie/会话的需求(包括与 HTTP 无状态相关的点)。 cookie 存储在哪里(在浏览器中)。会话数据存储在哪里(在服务器上)
2) 根据标准定义的规则查找任何给定数独状态的有效性——行唯一性、列唯一性、3*3 矩阵中的唯一性。
3) 给定 2 个红色和蓝色按钮以及一个数字 n,当您单击红色时,n 变为两倍,当您单击蓝色时,n 减 1。找出从 n 到达 m 所需的最小点击次数。
第四轮
1)一个拼图——画一个面积是现有正方形的两倍的正方形,并覆盖现有正方形,使现有正方形的角位于新正方形的边缘。
2) 在一副 51 张卡片中找到丢失的卡片 - 大量讨论所需的迭代/比较次数和所需的内存(所需的最小内存为 52 位,可以放入 long long(c++/c+)、long(Java))
3)循环右移一个字符串k次,但在原地做(没有额外的可变大小内存)-
geeksforgeeks lnks- https://www.geeksforgeeks.org/array-rotation/, https://www.geeksforgeeks.org/program-for-array-rotation-continued-reversal-algorithm/