Miniorange 是一家美国安全公司,在美国和印度,尤其是浦那设有办事处。我是在 Miniorange 一名员工的推荐下向该公司申请的。我在通过电子邮件申请后的一天内收到了安排面试的邮件。我们安排在周五晚上面试。
程序非常简单,只有一轮技术,(在简历入围后)
面试开始:面试安排在 Google Meet 上,在互相寒暄之后,我被问到了一些关于我在简历中提到的事情的问题。它涉及描述我在以前的实习生中所做的工作并回答任何后续问题。
接下来,我们转向编码问题。面试官与我分享了一个 http://collabedit.com/ 链接并开始解释那里的问题。
-
第一个问题:第一个问题很简单。给定一个字符串,检查它是否是回文的。
面试官禁止我使用任何 STL 或任何内置库函数。我有点挣扎以 C 方式遍历字符串????但最终我记住了这一点。我的第一种方法是使用两个指针。面试官对我的解释很满意,但是他想要另一种方法,所以我建议使用堆栈来解决它。面试官同意我的方法,并要求我为这两种方法编写伪代码,并解释两种方法的时间和空间复杂性。
-
第二个问题:第二个问题是确定单链表的中间元素。
面试官再次禁止我使用任何 STL 或任何内置库函数。我的第一种方法是首先完全遍历链表并计算节点数。然后遍历到该数字的一半并返回该节点。尽管我的面试官接受了这个解决方案,但他要求我想出更好的方法并在一次迭代中解决它。然后我使用了 https://www.quora.com/What-is-a-slow-pointer-and-a-fast-pointer-in-a-linked-list 的方法。面试官同意我的方法,并要求我为这两种方法编写伪代码,并解释两种方法的时间和空间复杂性。
最后,我的面试官问了我一些 HR 类型的问题,比如,我是否适合转移到 Pune,我是否适合在Java工作,等等。我们的采访到此结束。 Miniorange 有一些漂亮的 https://apisecurity.miniorange.com/,你可以在他们的网站上看到,这也是我申请 Miniorange 的主要原因。您可以查看他们的 https://www.miniorange.com/career 以了解职位空缺。感谢您阅读本文和 Godspeed。