📜  Delhivery 后端开发人员面试体验(2018 年 9 月)

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

Delhivery 后端开发人员面试体验(2018 年 9 月)

第一轮(在线测试):

这一轮包括 49 个 MCQ 和 3 个编程问题(测试持续时间 - 2.5 小时,平台 - Hackerearth)。

MCQ的分数不同。MCQ部分主要针对那些对Associate Data Scientist Profile感兴趣的人,主要包括概率、分布函数、机器学习等问题。10-15 MCQ来自计算机科学基础,主要来自数据结构。

编程问题: 1. 给定一个有向图,在图中找到一个节点,如果我们从该节点开始一个 dfs,我们可以达到最大节点数(20 分)。

2.在测试用例。对于每个测试用例,给定两个数字m,n和一个素数p。您必须计算p在[m,n]范围内所有数字的素数分解中出现的次数( 20 分)。约束:t<10^5, m, n<10^9, p<10^6 测试用例:m=6 n=8 p=2 ans : 4(6=2*3, 7=7, 8=2 *2*2 因此 2 的计数是 4)

3.给定一个由 * 和 # 组成的字符串以及两个变量 r1、r2。从字符串的第一个索引开始,您必须找到到达最后一个索引所需的最小步数,而不会落在 *字符索引上。您可以移动一步中从每个 * 标记的索引 i 到 (i+1) 和 (i+2)。如果 (A/i)>=(r1/r2),您也可以移动到 (i+A),其中 A 是从 1 到 i 的素数个数。如果不可能达到第 n 个索引,则打印“No Way”。(50 分) 测试用例: 字符串 = #*###### r1=1 r2=2 ans : 3 (1->3->5->8)

第2轮(技术面试1):

首先,他让我在 DS、OOP、DBMS 和 OS 方面给自己打分(满分 10 分)。他从 DS 开始,问了 3 个问题: 1. 打印二叉树的左视图。 2. 在每一时刻找到堆栈中的最大元素。 3. 在具有奇数个节点的链表中查找中间节点的引用。

然后,他开始讨论我的项目。我用Java,jsp,servlet和Mysql做了一个在线电影预订门户。他让我画项目的类图,并提到类之间的所有关系。我们讨论了这个图,他指出一些错误并提出了一些建议。我们一起找到了解决方案。然后他问了一些基于jsp、servlet和tomcat服务器的问题。然后他让我为这样一个具有 3NF 范式的系统设计一个数据库,以及我们将如何进行索引。我们讨论了我的解决方案,我们共同达成了一个解决方案。

这一轮进行了大约1.5小时。

第三轮(技术面试2):

这一轮主要集中在计算机科学基础上。他首先问了我最喜欢和最弱的科目。然后他说他会从我的弱点提出问题。我告诉他我在计算机网络和操作系统方面很弱。问了以下问题。

  1. 告诉我有关 DNS 以及我们编写 url 时会发生什么。
  2. 他让我为 OSI 模型中的层命名,并询问了一些基本问题,例如 TCP 在哪一层工作以及 HTTP 在哪一层工作。
  3. 什么是虚拟内存以及为什么需要它?
  4. 互斥量和信号量的区别?
  5. 读者作家问题及其使用信号量的解决方案。
  6. 斐波那契递归实现。
  7. 这是一个数据库问题。他说有3个属性用户,角色和权限。一个角色可以赋予任意数量的用户,但每个用户将拥有一个角色。每个角色可以有多个权限。为它设计一个数据库并规范化它。然后他问了一个问题,你将如何找到用户的所有权限。
  8. 在 SQL 中加入。

面试很顺利。我会说如果你不知道一些问题直接说不,不要虚张声势。这一轮进行了40分钟。

人力资源回合

首先他让我介绍一下你自己。然后他问我的长处和弱点以及我是否是一个团队合作者。他问我关于竞技比赛和我在那里取得的成就。

我必须等待 5 个小时才能得到结果,当我知道自己被选中时,等待终于结束了。这是我生命中最美好的时刻之一。