📜  Salesforce 面试经验 |第 1 套(用于 SDE-1)

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

Salesforce 面试经验 |第 1 套(用于 SDE-1)

我最近参加了 SDE-I 职位的 Salesforce Hyderabad 面试。总共有5轮,都是技术性的。

一、编程回合:
1. 求二叉树的直径这里的直径是树中可能存在的最大节点数,由两个叶节点组成。
它可以通过根,也可以不需要。

2. 将 m × m 矩阵旋转 90 度。

i/p:     {{1, 2, 3, 4},
     {5, 6, 7, 8},
     {9, 10, 11, 12},
     {13, 14, 15, 16}}
         
o/p:     {{13, 9, 5, 1},
     {14, 10, 6, 2},
     {15, 11, 7, 3},
     {16, 12, 8, 4}}

3. 给定一个包含正数和负数的数组,找出其中所有子数组,其和等于 0。

解决方案:维护hashmap,为每个元素及其索引位置插入到现在的总和——> HashMap
对于每个元素,请检查以下 3 种情况:
a) 元素是否为“零” ==> 开始和结束索引都是“当前索引”
b) 总和是否为“零” ==> 起始索引为 0,结束索引为“当前索引”
c) sum 是否已经存在 ==> 起始索引为“map.get(sum)+1”,结束索引为“当前索引”

二、技术第一轮:

1.给定一个小时和分钟的时间,找到模拟时钟中小时和分钟指针之间的角度。

2. 给定两个大小相等的数组。第一个数组表示列车的到达时间,第二个数组表示同一列车的出发时间。
现在使用上述两个数组数据,给出容纳火车所需的站台数量。

3. 给定一个包含整数的数组,其中元素重复多次。
现在按照数字的频率对数组进行排序。

eg:    i/p: 2, 4, 5, 2, 1, 9, 3, 2, 2, 5, 1, 5
    o/p: 2, 2, 2, 2, 5, 5, 5, 1, 1, 4, 3, 9

4. 编写多线程死锁的代码。

三、第二轮技术:

给定一个包含域名和产品的 url,例如:www.amazon.in/pid=1234
通过将此 url 传递给实用程序函数,您可以获得有关它的所有信息。
getProductName(url) –> 给你产品名称
getProductPrice(url) –> 给你产品的价格
getRelatedProducts(url) –> 与当前产品相关的其他产品,用户也可能对此感兴趣。

现在给定一个产品 url,完整打印有关它的信息,包括其所有相关产品。
您将考虑使用什么数据结构来表示上述产品数据并为其编写类结构。

四。演讲回合:

将给出一个技术主题,您必须在 5-6 人的小组面前发言。您将有 1 小时的时间准备,一个带有互联网的系统。
您可以在船上或通过 ppt 呈现主题。
这一轮的目的是检查候选人对新主题的学习能力,即他的演讲技巧。

给我的题目是“Apache Flink”

由于我对这一轮的反应不一,他们又进行了技术轮。

五、技术第三轮:

1. 设计一个 LRU(最近最少使用)缓存。
什么是Cache并定义LRU Cache?
你使用什么数据结构,时间复杂度是多少?

解决方案:取一个hashmap和链表
HashMap 包含作为数据的键和作为其在链表中的地址的值
链接列表将按照使用顺序维护元素,最后使用的项目位于列表的开头。

这样,最近最少使用的总是在列表的末尾。

2.解释HashMap内部实现并编写代码。

如果您喜欢 GeeksforGeeks 并愿意做出贡献,您还可以撰写文章并将您的文章邮寄至 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。

Salesforce 的所有练习题