📌  相关文章
📜  TurboHire Technologies 软件开发人员实习面试经验(校外 2021)

📅  最后修改于: 2021-11-10 06:56:10             🧑  作者: Mango

最近我在 Turbohire Technologies Pvt 接受了采访。 Ltd 为软件开发人员角色实习 6 个月。我通过 Linkedin 申请了 Turbohire,并有幸与团队进行了面试。由于covid-19,整个面试过程是顺利和虚拟的,我从家里出现了这个过程。

一共两轮,第一轮是Google meet Introduction和技术轮,第二轮也是最后一轮是HR。

介绍和技术回合(Google Meet 和 Google Docs):这一轮是介绍性面试,然后是技术回合,我被问到有关数据结构和算法的问题,并被要求在 Google Docs 中编写完整代码,然后讨论各种测试用例并解释整个代码。问题是:

  • BST 中的第 K 大元素:对于这个问题,我首先给出了解决方案,其中线程二叉树使用 NULL 指针来存储后继和前驱信息,这有助于我们利用这些 NULL 指针浪费的内存,我使用了莫里斯遍历是我们可以在不使用堆栈或递归的情况下进行中序遍历从而节省了堆栈或递归调用堆栈消耗的内存,总时间复杂度为 O(n) 和 O(1) 空间复杂度,然后他让我为同样,并向他解释各种测试用例。这里给出完整的解决方案,下一个问题是
  • 检查给定字符串的平衡括号:这个问题很直接,我知道使用堆栈的解决方案,我们可以检查平衡字符串,然后他让我编写相同的代码并向他解释各种测试用例.这里给出完整的解决方案,所以这个问题被跳过,第三个问题是
  • 找出给定数组中的多数元素:对于这个问题,我首先解释了一种方法,该方法涉及在 O(n) 空间和 O(n) 时间复杂度中使用 hashmap ,然后我能够接近优化当被要求对解决方案进行更多优化时,我解释了算法,即摩尔投票算法,其中该算法仅使用 O(n) 时间复杂度和 O(1) 空间复杂度,然后他让我编写相同的代码并向他解释各种测试用例,然后进行第二轮。这里给出完整的解决方案

人力资源回合(电话电话):这一轮是为了检查我是否有机会参加这次实习,这一轮是为了了解我对与公司合作的兴趣和我熟悉的技术栈,并了解我的家庭背景和利益。

最后,我被选中获得 Turbohire 的实习机会。