Practo 的校园招聘流程包括以下几轮:
- 在线编码回合
- 技术面试1
- 技术面试2
- 人力资源面试
在我们的校园里,共有约 320 名学生在注册后第一轮编码测试中入围
第一轮:这一轮是通过 google meet 监考的,其中编码测试在 Hackerrank 平台上进行,并通过让申请人在 google meet 上打电话来监考。
它由4个问题组成。 3个是编码问题,最后一个是数据库设计+SQL查询。
编码问题非常基本,只要稍加练习,就可以轻松破解它们。 3 个编码问题和 RDBMS 问题的简要概述:
- 给出一个数组,它需要重新排列的方式是值 U=arr[1] x arr[2] x (1%arr[3]) x arr[4] x (1%arr[5] ) ….. 最小化。
- 给定两个具有每个时间点信号电平的数组,并且每次两个信号匹配时,如果当前信号匹配高于前一个匹配,则更新 MaxVal 变量。找出 MaxVal 变量更新的次数。
- 给定一个差值数组和整数的上下界,找出可以用上下界约束构造多少个数组并保持差值。
- 设计包含影院、预订、客户、电影等组件的电影预订模式。在模式定义之后,将执行两个查询。
- 提供所有预订超过 5 次的电影
- 在每天预订的所有电影中,给出交易计数第二高的日期。
根据第一轮的表现,320 名学生中的 24 名学生入围了技术轮,我设法进入了入围名单。
第二轮(技术面试 1):这一轮是单人小组技术面试。我们开始互相介绍,然后详细讨论我的兴趣和项目。他询问了我选择使用的技术堆栈的原因,并问了我一些方法论问题,例如我如何在我的全栈开发项目中执行身份验证以及在我的 ML 项目中选择我的模型。
下一部分主要是关于编码。问题很简单,需要对向量、集合、映射等简单数据结构有基本的理解和使用知识。有人问我:
- 如何在两个数组之间找到唯一元素(提示:使用集合)
- 如何在两个数组之间找到共同和不共同的元素
然后,我得到了一个“学生、教师、学科”系统的部分定义模式,并被要求以某种方式完成模式,以便我可以根据三个表之间的关系进行查询。模式完成后,我被要求编写简单的 SQL 查询,例如“查找有多少学生选择了科目 x”、“列出教授特定科目的教师姓名”
我的第二轮进行了大约1个小时,我几乎能回答所有问题,尽管他问的唯一元素问题有一点理解错误。因此,始终建议在处理问题之前先澄清问题。
在第二轮(即第一轮技术轮)之后,有 8 人进入了后续轮次的候选名单,我很高兴通过了。
第三轮(技术面试2):按照惯例,这一轮从自我介绍开始,然后我们继续编码一个问题。问题是在给定的字符串找到最长的回文子串。这是一个非常有名的DP问题,我被期望编写伪代码并试运行代码,这可以轻松完成。
面试的第二部分是检查我的 SQL 能力。起初,我得到了一个员工和一个部门表,并被要求编写一个 SQL 查询来打印每个部门薪水最高的员工的姓名。完成特定查询后,我被要求扩展它并打印每个部门的前三个工资,其中包含员工姓名,我无法真正设法正确编写。
在下一部分中,为了测试我的 RDBMS 知识,我被要求为包含所有必需品的房屋租赁应用程序设计一个 DB 模式,然后对其执行一些简单的 SQL 查询。在设计过程中,我们讨论了不同的关系组件以及我自己的设计技巧和我可以带来的改进。
这一轮大约用了 1 小时 10 分钟。
因此,这是一次顺利的面试,对高质量的问题和主题有很好的体验。从这一轮中,6 人进入了最后一轮 HR 的候选名单。
最后一轮(HR):这是对我的个人资料和背景的基本讨论。人力资源人员向我介绍了公司和薪酬结构。它在大约 15 分钟内结束了。
最终,有 5 个被选中,我很高兴进入了名单。他们会在 3 天内发送确认电子邮件。面试过程很顺利,面试质量比排名靠前的公司要好。
所以,为了在招聘过程中有一个自信的方法,我建议一个人能流利地用字符串、链表和动态编程来编码大量的问题。在设计 DB 模式和对它们执行复杂查询方面拥有良好的实践绝对是一种奖励。但其中最重要的是要了解简历中的所有内容,并非常确定您在项目中提到的工作。