Accolite 面试经历 |设置 19(校内)
Accolite 的选择过程包括 5 轮。
1)在线测试:
大约 150 名学生参加了在线测试。这一轮的得分是每个正确答案+1,每个错误答案-0.25。
有 20 个 MCQ 必须在 30 分钟内完成,问题来自操作系统、DBMS、数据结构、C 编程、算法和一些通用能力问题。这些问题有点棘手,并测试了对该主题的深入了解。我强烈建议您提高您的算法设计和分析技能。
清除这一轮的一般提示:始终将问题阅读两次,因为有些问题可能有点棘手,而且并不总是像看起来那么简单。与许多其他测试不同,此在线测试也有负面评分系统,因此始终建议只标记您完全确定的答案。
第一轮结束后,10名学生入围面试。
2)面试第一轮(技术):
整个过程中所有的面试官都非常友好。
他浏览了我的简历并询问了我的项目。他开始剖析我做过的每一个项目。问题的范围从关于我项目优化的广泛技术讨论到 OAuth 身份验证等真正的细节方面。
有人问了几个关于排序算法及其效率分析的问题。还讨论了几种鲜为人知的类型,如 shell 排序。讨论了有关 OOPS 方法的几个概念。然后他给了我一些树问题来解决,比如以垂直方式打印二叉树,最大。二叉树的宽度。提出了一些与指针和引用相关的问题。
DBMS 中的一些问题也被讨论过,例如数据库的 ACID 属性、RDBMS 和 NoSQL 之间的区别、查找数据库中的第 n 个最大条目。
我怎么强调数据结构和算法对这家公司的重要性都不为过。解决方案的方法、优雅和效率比正确性本身更重要。
这一轮持续了 1 小时 30 分钟。
3)面试第2轮(技术):
这是一个核心编码回合,对 DS、算法的知识进行了极大的测试。
每个解决方案都必须在纸上进行编码。
这次采访从几个树问题开始,比如找到树的左视图。我提到了水平顺序遍历和 DFS 方法。两种解决方案的复杂性都必须在纸上确定和编码。他还询问了二叉树到 BST 的转换。
在那之后有很多关于哈希的问题。他给了我一个连续的整数数组,其中有 1 个缺失的数字和 1 个重复的数字,并告诉我找到它。我最初通过预排序在 O(n^2) 中解决了它,但他告诉我将其降低到 O(n)。那是哈希方法引起我注意的时候。他询问了数组中给定总和的对数(再次哈希)。
然后他询问了一些关于表中递归关系的 SQL 查询(查找员工姓名和经理姓名)。
一些贪婪和 DP 问题也出现了,例如使用提供的面额和火车站所需的最小平台数量来找到获得特定金额的最小硬币数量。
我真的建议您花时间提高您的编码技能并尝试在纸上编写代码。您会注意到笔和纸编码与编辑器中的编码非常不同。使用蛮力编写算法是一种正常的趋势,但代码的效率在这里经过测试,因此要彻底使用哈希、分治、动态编程等有效的编码方法。
面试官总是希望针对任何给定问题找到最优化的解决方案,因此每个问题都必须降低到所需的约束条件。
这一轮持续了2个小时。
4)面试第三轮(技术+谜题):
这本来是技术+谜题面试的结合。
她最初给了我一个模式 ( 5, 5^2, 5^2 + 5, 5^3, 5^3 + 5, 5^3 + 5^2, 5^3 + 5^2 + 5, 5^4 ...),这被称为魔术数字 5 问题。我必须为本系列中的第 n 个数字编写代码。如果您仔细观察,这个系列类似于二进制表示格式并且必须类似地解决。然后她问这个问题的反面,在哪里给出了系列中的任何数字,并且必须给出该数字在系列中的位置。
然后她让我制作 2 个表并在它们之间建立关系,然后在这 2 个表之间形成一个连接查询。这是一个相当简单的问题。
然后她问了几个游戏设计问题,比如石头剪刀布、井字游戏。我没有编写算法代码,因为她只想要一个有效的数据结构实现逻辑。
然后她从简历中询问了我的实习经历,遇到的困难和调试方法。
这一轮持续了大约 1 小时 15 分钟。
5) 人力资源回合:
经过在此之前的大量烧烤之后,这一轮是一个彻底的喘息。
这一轮有一些标准的人力资源问题,比如告诉我你自己,如果被招聘,你认为自己在这家公司的未来在哪里,为什么我不热衷于高等教育,告诉我一些你简历中没有的东西,你的热情&兴趣。
这是一个相当短的采访,持续时间不超过 15 分钟。
我们两个人一直待到最后。公司的HR突然走近我们,告诉我们还有一轮小组讨论留给我们两个人。后来招聘人员告诉我们,公司只有一个职位空缺,他们在选择谁来做这份工作上处于两难的境地。我们被要求坐在一起,向招聘人员解释为什么一个人最适合这份工作,而不是另一个人。这持续了几分钟,直到 HR 告诉我们这是恶作剧的一部分,我们俩实际上都被招募了! 🙂