📜  贝宝面试经历 | SDE 1(校内)

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

贝宝面试经历 | SDE 1(校内)

第 1 轮(编码测试):这是一个相当简单的一轮,问了 2 个问题,我们有 2 小时的时间来解决问题。第一个问题是,给定一个数 n,找到 x,y 的整数对,使得 1/x + 1/y = 1/n!。这个问题是基于使用筛子寻找除数。第二个问题是一个简单的 BFS 问题,在棋盘上给一个骑士来确定它是否可以到达目标单元格。

第2轮(技术面试1):在这一轮中,面试官首先问了一些关于我的介绍性问题以及我简历中的一些项目。然后我们开始解决一个问题。问题给出了一个数组和一个数字 x,您需要计算其中 x 为最大值的子数组的数量。例如,在数组 [4,1,2,3,1,5] 和 x=3 中,子数组将是 {[1,2,3],[1,2,3,1],[2, 3],[2,3,1],[3],[3,1]}。因此,计数是 6。我给出了 O(n^2) 的方法,面试官对这种方法很满意。因此,我们继续将问题修改为在数组中有多个 x 值。例如,数组 = [4,1,2,3,1,4,1,3],x=3。在扩展了我的 O(n^2) 方法之后,我终于被要求对其进行优化。我优化了在 O(n) 中使用双指针方法的方法(注意这也可以使用堆栈来完成)。

第 3 轮(技术面试 2):这一轮与上一轮非常相似。它从介绍开始,然后是我的简历中的项目。然后我们又开始解决一个问题。这次的问题来自DP。问题是最小跳跃(关于 leetcode、gfg 等的非常常见的问题)。不知道的人的问题。给您一个数组 arr ,第 i 个元素是您可以从该索引中获得的最大跳转,您需要找到从第一个索引到最后一个索引所需的最小跳转。例如,array = [2,3,1,4,5] 答案是 2 在这个数组 0 -> 1 -> 4 中。

第 4 轮(管理/技术面试):这一轮不是那么技术性的。面试官真的很nice。这一轮对我来说持续了一个多小时。我们从我的兴趣和所做的工作、所有项目以及项目的整个工作过程开始。他中间问了一些关于 OS OOP 等概念的技术性问题,但没有花哨的东西,只是衡量理解的基本问题。他解释了公司及其愿景等。我们就很多事情进行了很好的讨论。

PS:我的简历完全基于 ML 研究,没有暑期实习生。因此,如果您认为这会妨碍您找到工作,那么您可能错了。这并不重要,您只需要知道您从事的工作以及有关基本 CS CDC 的一些知识。

要记住的重要主题和子主题:按重要性顺序编写:

  1. DSA – 基本上是 DSA 课程中教授的所有数据结构和所有常见的算法技术。
  2. OOP – 非常了解所有 4 个基本概念。用您喜欢的语言准备 OOP 概念。对于 C++、虚函数、多重继承等。确保你也理解这些是如何工作的。对于Java、接口、抽象类、垃圾回收等。
  3. DBS – 了解所有的 1NF、2NF 等。不会要求问题来规范化表格,但面试官可能会询问基本概念,以便更好地做好准备。交易不是必须的,但很高兴知道。了解基本的 SQL 查询 JOIN、COUNT 等(例如,Oracle 会明确要求编写 SQL 查询)。
  4. 操作系统——了解基本概念、进程和线程、并发性、信号量和互斥量、调度算法(不会被问到,但如果面试官要求解释任何内容,你至少应该知道基本的概念,如 FCFS 等)。
  5. 网络——了解基本层及其设备(OSI 模型)。 TCP 及其概念(3 次握手等)。

请参阅 geeksforgeeks 过去的采访经历(至少是最近的)(是的,他们确实有帮助)。我几乎没有时间(大约 10 天)来准备,所以我的大部分 DSA 都不彻底。因此,如果您有时间,请尝试解决尽可能多的问题。