阳狮 Sapient 面试体验 ASDE-II(校园)
面试日期:05/09/21
第一轮:编码轮
- 最初的在线轮次包括两个编码问题,需要在 60 分钟内完成。
- 第一个问题是基于 Map 和 Filters 的,语言最初固定为Java (无法更改)。
- 第二个问题是基于优先队列的应用(可以用任何语言完成)。
结果:30人入围面试。
第二轮:技术轮:
- 这是一个长达 1 小时 10 分钟的采访,涵盖了与计算机科学相关的所有主题。
- 它从一个简短的介绍开始(主要是技术教育、经验)。然后继续进行项目讨论。面试官让我详细讨论这两个项目中的任何一个以及从长远来看它们的优势。
- 然后他问我 oops 的概念。我用真实世界的例子详细讨论了oops的所有支柱,我认为这些例子给面试官留下了深刻的印象。始终尝试将概念与真实世界的应用程序联系起来,以表明您对该主题有真实的感受。
- 然后他从 oops 中问了我一些小概念,比如什么是静态成员、深拷贝和浅拷贝。
- 在此之后,他从 DSA 询问了我(链表和数组之间的比较)。我讨论了所有要点,包括(随机访问、内存管理、易用性)。
- 然后他问我这些都是共同点都知道,说点新意。然后我讲述了这两个 DS 之间有趣的区别。我告诉他我们可以在已排序的数组上应用二进制搜索,但不能在链表上应用,因为(中间元素应该在 O(1) 时间内计算)可能在数组中而不是在链表中。但是我们可以通过一些预处理对链表(skip-list)的变体应用二分搜索。
- 然后他让我告诉一些应用程序我可以在哪里使用链表来实现它们(除了浏览器历史和所有大声笑)。我告诉他我们可以使用链表来实现区块链,因为两者的工作原理大致相同,包含地址,如果经过调整,我们将无法访问整个数据。
- 然后他要求我们现在编写代码,并要求我从头开始实现链表(最后插入,删除给定位置的节点,删除排序链表中的重复项)。
- 在我编写了链表部分后,他让我编写继承代码并解释它。 (来自他们询问 BST、Strings 的一些入围候选人)
- 毕竟,他向操作系统询问了进程同步,我们为什么需要它,以及信号量,互斥锁。
- 然后他向 DBMS 询问了什么是数据库规范化及其类型。
- 直到现在他还没有说完,他问我关于 ReactJS 的事。我们在 ReactJS 中使用了多少种类型的组件。他让我说出它们之间的主要区别。然后他问应该使用哪一个(技巧问题,我回答没有硬编码规则可以使用任何)。并询问您在项目中使用的是哪一个。
- 最后,他说我已经完成了,如果你有任何问题要问我。我问他如何在实际应用中使用 DSA。如何决定为此应用程序最终确定哪个 DS。过程是什么?
- 终于,等他回答完,面试就结束了。
尖端:
- 尽管有这个事实,采访还是在周日进行
- 面试官很有礼貌,乐于助人,他帮助我解决了一些困难。
结果:6人入围。
第三轮:人力资源轮:
HR轮是45分钟。
- 采访以简短的介绍开始。之后,他问我关于我在大学学习的科目。他问我最喜欢的科目以及为什么我最喜欢它。
- 然后他问我是否和团队一起工作,我遇到了什么困难,我学到了什么。他问我一个项目想法,以及我将如何实施它。
- 他只是在检查我是否合适,我是否能够应付球队。他问我的弱点。他问的最有趣的问题是,过去我的朋友是否说过我错了,以及我是如何处理的。如果团队中的项目存在想法冲突,如果我是团队负责人,我将如何管理它。
- 他问我的爱好。我说我画。他不假思索地问我桌面上是否有任何东西可以分享。我给他看了我的一些画。
- 面试官很冷淡,只是在进行正常的交谈。
- 最后,他问我有什么问题要问他。在那个过程结束之后。
结果:所有 6 人都获得了工作机会。
尖端:
- 永远不要害怕,只要表现出你的冷静和自信,这会很有帮助。不要把它当作一个严肃的会议。
- 花时间好好解释答案,如果卡住了,请毫不犹豫地请面试官帮忙,这样你就可以继续了。
- 尝试用例子来解释概念。点对点说话。
希望我的文章对你的面试准备有所帮助。