面试是虚拟的,在 webex 上进行
第 1 轮:由 5 场比赛组成。
- 第一个类似于 Dijkstra 的算法。一个球(蓝色)将在一个顶点,我们必须以最小的成本将它移动到目标边。会有一些障碍物(红球),我们必须移动那个障碍物才能移动正确的球(蓝球)。
- 第二个是会有一些不同形状的碎片,我们可以将它旋转90,180等等。我们必须通过在给定区域旋转来排列这些碎片。
- 第三场比赛将有一个给定的网格,里面有一些碎片。我们必须使用给定的碎片制作相同的网格,并在必要时旋转它。
- 第四个游戏是屏幕上会出现一个数字并且会出现气泡,它由一些数学表达式组成,如果表达式的结果与屏幕上给出的数字匹配,您必须单击该气泡,每个气泡都会有它的生命周期只有几秒钟。你必须点击尽可能多的气泡,正确的气泡会给你一些分数。
- 第五场比赛是屏幕上会有两个部分,每个部分包含一些数字,我们必须将这些数字相加,并必须告诉哪个部分是最大的。
第二轮: hackerrank平台在线编码轮(同一天)
有两个编码问题。第一个是一个非常大的包括一些税收计算和所有。我只能通过 3/10 个测试用例。第二个是我通过了所有测试用例的 SQL 查询。
https://stackoverflow.com/questions/64118874/how-to-aggregate-values-inside-a-column-in-sql
第三轮:技术面试(两天后)
- 首先,他让我介绍一下我自己。
- 规范化和规范形式深入
- 服务器如何工作
- NodeJS 的一些基础知识(正如我在简历中提到的)
- ac代码如何执行,整个流程
- 所有头文件的存储位置
- 他问了一些 linux 命令,例如如何在不知道目录的情况下查找文件
- 他让我实现适用于 Windows 和 Linux 的文件搜索算法。他让我告诉我使用的类和Java特性
第四轮:技术面试(一天后)
- 说说你自己
- 哪个是你最喜欢的科目。我说数据结构
- 他让我实现一个线性队列。一开始,我用一个数组来实现。然后他问我数组的大小是固定的,所以告诉我你如何在不实现循环队列的情况下克服这个问题。然后我告诉他我们可以使用 Linkedlist 作为队列来解决这个问题。
- 什么是内存泄漏和内存损坏?
- 多态详解。
- Java的异常处理
- OSI 层。
- 应用层协议。
- 为什么传输层需要这么多协议。
- 如果我们发送一个数据包,我们必须在该数据包中包含哪些基本内容。 (例如 IP 地址端口号)
- SSH 和 Socket 编程基础
- 什么是一个过程,你如何将程序带到 RAM 中(操作系统问题)
第五轮:人力资源面试(第四轮当天)
- 说说你自己
- 优点和缺点
- 您如何与不了解当前项目所需技术知识的队友一起工作?
- 他们告诉了我实习生要从事的项目,还告诉了我实习需要的一些概念。
同一天晚上,我接到了 IBM 的电话,他们告诉我我被选中加入云集成团队。我是大学里唯一被选中的人。