ZS Associates 面试经验(在校园招聘软件工程师)
我最近参加了 2020 年 8 月 25 日的校园 ZS 员工招聘活动,并被选为软件工程师。分享一下我的面试经历。
第 1 轮:这是一个在线轮次,在 HackerEarth 平台上有两个编码问题。一个是50分,另一个是20分。这些问题基于数据结构和算法。
第 2 轮:这是一个案例研究解决轮。我们得到了 3 个案例研究来解决。我们被要求在 60 分钟内解决至少两个案例研究。其中两个案例研究基于数据结构和算法,第三个案例研究基于数据库设计。
- 案例研究 1 基于数据结构和算法。
- 案例研究 2 也基于算法。
- 案例研究 3 基于数据库设计。
我从第二个案例研究开始(即寻找最大的方形边框)。我从蛮力方法开始。我认为它的时间复杂度为 O(N^4),然后我尝试以更低的时间复杂度解决它,然后我想出了一个时间复杂度为 O(N^2) 的更好的解决方案。最后,我设法为这个问题写了一个伪代码。 40 分钟。
完成一个案例研究后,我解决了第三个案例研究,我设计了考虑数据库规范化的数据库。我花了一些时间来设计数据库。
我想解决这三个问题。但是我的时间不多了,所以我设法解决了其中的两个问题。这不是淘汰赛,所以我们都参加了下一轮比赛。
第 3 轮:这是一次 1:1 的技术面试。本轮面试涵盖了编程概念、算法、数据结构和数据库概念。
我被要求解决二叉树问题,以镜像给定的二叉树。然后我还被要求计算时间复杂度。我通过使用递归解决了这个问题。然后他让我不递归地解决同样的问题。我设法在更短的时间内解决了这个问题。在此之后,我被要求解决 Arrays 和字符串的另一个问题。我也解决了。我还被问到有关Java继承、抽象类和动态编程概念的问题。此外,他还问了我一些关于Java的问题。这一轮进行了大约50分钟。
第四轮:这也是一轮 1:1 的面试。这一轮包括我们在第二轮早些时候写的案例汇报。在这里,我解释了我为案例研究提出的解决方案。他问我,我也被问到基于 Group by、Count 关键字、joins、unique、union 和 union_all 等概念的棘手数据库查询。我能够回答其中的一些问题。有一些数据库问题,我无法回答。然后他还问了我一些基于继承、接口、抽象类以及这些的实际实现的Java问题。
第5轮:这是最后一轮(HR轮)。在这一轮中,我被要求自我介绍。然后就我的项目进行了详细的讨论。被问及我最喜欢的编程语言。他还问了我许多与团队管理、我的优势和劣势有关的行为问题。
最后,我被选中了。
提示:要自信,在整个面试过程中保持微笑。给出重点和简短的答案。对问题给出明确的答案,即使您不知道答案是什么,也只需告诉他们您将采取哪些步骤来找出解决方案。