📜  Sprinklr 面试经历 |设置 5(在校园内 – 产品工程师的 FTE)

📅  最后修改于: 2021-09-23 05:18:02             🧑  作者: Mango

在线编码测试(2 小时):
有 15 个基于数据结构和算法、JavaScript、c++、 Java、时间复杂度分析的 MCQ。给出了 3 道编码问题。
1) 给定一个由小写字母组成的字符串。您必须找到所有字符都不同的子字符串的数量。
约束:1 <=字符串长度 N <= 100000
预期复杂度:O(N)
2) 给你一个数组。你必须从这个数组中找到一个子集,使得这个子集的元素的平均值小于或等于 k。
约束:1 <= 数组长度 N <= 100000,1 <= k <= 10^9。
预期复杂度:O(N logN)
3) 给定一个有 m 个双向边的 n 个节点的图。每条边都有一些与之相关的值。顶点 1 是源顶点。你有 K 个通配符。在从顶点 1 到顶点 i (2 <= i <= n) 的路径中,遍历时最多可以使用 K 个通配符。当您在边上使用通配符时,您可以通过该边来求和路径成本(即,如果您在边上使用通配符,则该边的值将为 0)。注意:您可以使用从顶点 1 到顶点 2 的最多 K 个通配符。现在您可以再次使用从顶点 1 到顶点 3 的最多 K 个通配符,依此类推到顶点 nie 您可以在从源到目的地的每条路径中使用最多 K 个通配符。您必须找到从节点 1 到图中所有其他节点的最小距离。
约束条件:1 <= n,m <= 500000, 1 <= K <= 15
预期方法:在图上使用最短路径算法的 DP。

第 1 轮(技术):
1) 绘制 DBMS 课程项目的关系模式。
2) 写一些与您的项目相关的查询。
3)什么是散列?有哪些不同的散列方案?
4)什么是负载因子和重新散列?
5) 快速排序伪代码。

第二轮(技术):
1)系统设计——TinyURL系统——两个函数——get()和set()。 Get() 方法采用较短的 URL 并重定向到主较长的 url。 Set() 方法需要更长的 url 并给出更短的 url。 (所有关于您将如何在数据库中实施 – 您将如何存储您的数据以便检索最佳。)
2) 你将如何处理临界区?当您的系统崩溃时会发生什么?
3)系统设计——商城系统(定义4-5个功能。你可以为数据库制作什么表来满足所有这些功能?你将如何有效地将数据存储在磁盘上——AVL树或B+树的概念)。
4) 写一段关于在无向图中检测循环的代码。

第 3 轮(某些学生的额外技术):
1) 谜题:两列火车分别以每小时 50 公里和每小时 70 公里的速度相撞。火车 1 上有一只蜜蜂。它以 80 公里/小时的速度行驶到火车 2。在到达第 2 列火车后,它立即以相同的速度再次返回第 1 列火车。它会这样做直到火车相撞。您必须确定蜜蜂覆盖的距离,直到火车相撞。
2)拼图:有25匹马。您必须进行最少的比赛才能确定前 3 匹获胜马。
3) 系统设计——停车场系统。有很多楼层。每层楼都有多排停车位。有 3 种类型的停车位 – Tiny、Medium、Big。您可以停放自行车、汽车或公共汽车。自行车可以停在任何类型的插槽。汽车可以停在中槽或大槽。大客车可连续停放5个大车位。根据 OOP 概念设计系统——创建类、类图、方法、变量。
4) 给定长度为 L 的管道(假设 X 轴和管道开口在坐标 L 处)。管道中各种 x 坐标上有许多液滴。每个液滴在正确的方向上都有一定的速度。当两个液滴相互碰撞时,它们合并并接受较小的速度。在 L 处,将喷出多少液滴?
5) 给你一个链表。你必须找到循环的长度。

第 4 轮(人力资源轮):
1)你的爱好是什么?
2)你为自己感到骄傲的一件事是什么?
3) 您对之前几轮面试的体验如何?
4)你之前几轮面试中最具挑战性的部分是什么?
5)在你的生活中,你什么时候觉得自己很失败?
6) 除了sprinklr,你梦想中的公司是什么?
7) 你的弱点是什么?

最后,共选出了8名学生。