📜  灰橙面试经历 |设置 1(后端开发人员资料)

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

灰橙面试经历 |设置 1(后端开发人员资料)

有5轮。 2 次编码和 3 次面试。在hackerrank平台上的两轮编码:

第一轮编码:
1) 包含 0 和 1 的矩阵。将包含 0 的单元格的整行和整列设置为全 0。
参考:http://stackoverflow.com/questions/339262/set-every-cell-in-matrix-to-0-if-that-row-or-column-contains-a-0

2) 用最少的操作将数字 m 转换为 n。允许的操作是 -1 和 *2。
例如:4 和 6。答案是 2。
第一次操作:-1 -> 4-1 = 3。
第二次操作:* -> 3 * 2 =6。

第二轮编码:

1) 给定一个包含 O 和 X 的矩阵。将所有 O 转换为完全被所有 X 包围的 X。
方法:首先处理边界O,然后将它们更改为其他字符,例如*。现在对于所有剩余的 O 内部检查是否有出路,即是否 DFS 到达字符* 应用 DFS。如果不是,则将该矩阵中的所有 O 转换为 X。

2)直接背包问题。

3)以最小的时间复杂度实现具有动态插入和删除的循环链表。查询是在运行时给出的,用于插入和删除。经过n次这样的操作,再次打印链表。

面试问题:
第一回合 :

1)检测链表中的循环和循环开始的点。
2)最小堆栈实现。
3)修改了之前的问题,要求以最小的时间复杂度在这个堆栈中找到中间元素。
4) 编码测试中提出的问题,要求进行一些更改以优化算法。
5)被问及散列和线性探测。
6) 设计模式概述,并详细描述其中任意两个。
7)函数重载和覆盖以及它们之间的区别。

第二轮 :

7) 虚函数、接口、静态和动态的多态性。
8)设计一个类似于geryorange的系统,其中有一个中央服务器监控所有机器人(有点简单直接)。
9) 任何版本控制系统。我说 Git .. 他们查看了我的 git 个人资料。
10) 最喜欢的科目:我告诉他们云计算,然后他们问我很多与 Docker 容器有关的事情。
11) 项目很明显,他们问了我 3 个项目。

第三轮:
这是在电话里,他问我所有我研究过的技术。然后又讨论了 GIT 和 NoSQL 数据库。为什么不是 SQL ?
他们又问了我一个项目,终于完成了(y)。