Salesforce来到我们的大学招聘全职软件工程师职位。该过程仅对CGPA> 7.0的计算机科学专业的学生开放。整个采访过程在校园内进行。
在线测试
托管在Hackerrank上。它由2个编码问题组成-
- 检查括号是否平衡。可以出现所有类型的括号(, {, [, ], }, )
- 如果a = 1, b = 2, …, z = 26, 请计算将整数解码为字符串的方式数量。
例如。可以通过3种方式解码1243
面试– 1
- 告诉我一些你的事吧
- 我最喜欢的数据结构及其原因。另外, 他问我在计算机科学领域解决过的最棘手的问题。
- 使用两个队列实现堆栈。你怎么样当多个线程试图访问同一堆栈时, 在多线程环境中扩展此功能?
- 二叉树的左视图
- 动态编程的基本原理是什么?
- 如果一个人一次可以走1、2或3步, 则爬N步楼梯的方式数。
面试– 2
- 破蛋难题–假设我们希望知道100层建筑物中的哪些楼层可以安全地放下鸡蛋, 哪些会导致鸡蛋在着陆时破裂。应该使用什么策略来丢鸡蛋, 以使最坏情况下的丢鸡蛋总数最小化, 从而找到所需的底数。
- 二叉树中的迭代有序遍历
- 在树中找到最长的根到叶路径
- 使用信号量在多线程环境中实现阻塞队列。
面试– 3
- 他问我最喜欢的CS学科。
- 在1到10的范围内, 你如何评价DS算法和DBMS。
- 下表提供了有关一个学期中某大学的学生在各个学科上的成绩的表:(卷数, 流, 科目, 成绩)。编写SQL查询以查找每个部门的前3名。
- 采访者描述了一个由笛卡尔平面组成的游戏场景, 并且有固定在特定坐标上的台阶。玩家从左上角进入, 并且可以从一个点跳到一个相邻点, 如果那里有一个台阶并且跳跃的距离不超过一个单位。目的点在右下角。找到玩家从源到目的地所需的最小步数。
- Hashmap的内部实现和冲突处理。
- SQL中的索引是什么?为什么使用它们?索引如何工作?
- (键, 值)条目存储在磁盘上的文件中。读取操作读取给定特定键的值。如何使读取操作更有效。我发现这个问题有点模棱两可, 并要求先行一步。他告诉我要考虑文件系统(使用块的分布式文件系统)