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 的所有练习题!