第一轮详细信息(在线测试):在线轮在 HirePro 平台上进行。它由4个部分组成。
- 能力 – 20 个问题(30 分钟)
- 逻辑和分析推理——20 个问题(30 分钟)
- 技术 – 10 个问题(15 分钟)
- 编码 – 2 个问题(45 分钟)
- (Easy) 给定一个字符串,返回字符串按词法排序后的第 k 个元素。并找出该元素在字符串重复的次数
- (中)一个人想买“N”支钢笔。有’M’家商店,每家商店有’n’支钢笔库存,每支钢笔成本’p’,送货成本’d’。求购买 N 支笔的最低成本。
第二轮详细信息(F2F 技术第一轮):自我介绍并直接开始编码。问了以下4个问题。
- 给定二维平面上的 3 个点,检查这三个点是否共线。这是一个非常直接的问题,可以用 O(1) 时间复杂度解决。
- 给定一个数字“n”,获取斐波那契数列中的前“n”个数字,并返回该系列素数索引中所有数字的总和。
- 给定一棵二叉树,求所有叶节点的总和。
- 给定一个整数数组,找出和为零的最长子数组。这是一个动态规划问题,可以用 O(n) 的空间复杂度和 O(n) 的时间复杂度来解决。
在这一轮中,我必须先解释我的方法,然后从头开始编码并执行它,没有任何错误,涵盖所有边缘情况。我能够答对所有问题。
第三轮细节(F2F技术轮2):经过详尽的介绍,面试官问了我DBMS(子查询、连接和规范化)、CN(路由算法)、OS(死锁和信号量)、DSA(二叉树、堆)。在此之后,我被要求编码 2 个问题。
- 给定一个代表商品股票价格的整数数组,找出一个人应该买卖股票以使利润最大化的日子。这又是一个动态规划问题,可以用 O(n) 的时间复杂度和 O(n) 的空间复杂度来解决。
- 给定一个二叉搜索树,打印正确的视图。我被要求涵盖所有边缘情况并优化代码。这是通过 O(n) 的时间复杂度完成的。
在此之后,我们就我的兴趣和目标进行了一般性讨论。
结论:选中!