📜  全栈开发者的InterviewBit面试体验

📅  最后修改于: 2021-11-18 01:15:23             🧑  作者: Mango

我在公司网站上申请了 Full Stack Developer 角色,Expered,并参加了 Scalar Academy/InterviewBit 面试。

每一轮都是淘汰赛。

第 1 轮: 1 小时 在InterviewBit平台上进行编码测试。

  • 测试有 2 个中等难度的编码问题和 5 个基于能力的 MCQ。 在这一轮之后,公司的招聘人员打电话给我,并安排了一天内进行的进一步技术轮(虚拟),并向我简要介绍了面试过程,其中包括另外 4 轮技术轮。
  • 当天(星期六)还有许多其他候选人出现或同时担任该角色。

第 2 回合:机器编码回合(2 小时)

  • 在这一轮中有一个选项出现在前端或后端。我选择了前端。我们听取了评估的简报,该评估有 7 项功能需要实施,以在不使用预先存在的库的情况下进行搜索类型化。我们可以自由地使用任何框架或不使用任何框架,并在基本 HTML/CSS/JS 中对其进行编码。
  • 我按时提交了作业并等待结果。招聘人员打电话通知我已经通过了机器编码轮,下一轮面试将在接下来的 30 分钟内进行。

第 3 轮:数据结构和算法(1 小时)

  1. 一季度。给定一个整数数组,任务是从中删除 K 个元素,以便给出最高和最低数字之间的最小最大差异。

    A. 一开始面试官让我先讨论我的方法,而不是跳出来编写解决方案。我给出了一个蛮力方法,我的面试官问我它的时间复杂度,然后他让我优化它。思考了一会儿,我给出了一个有效的方法,然后他让我在 Google Docs 上编写解决方案。我担心语法错误,但他告诉我不要担心。他让我优化我做的一些循环,然后他问我是否可以进一步改进,想了一会儿我说不。然后他告诉我如果我们把 ++i 而不是 i++ 它会进一步优化.

  2. Q2。给定一个字符串,我必须找到最多 k 个不同字符的最长子字符串的长度。

    答:我讨论了一个朴素的方法来解决这个问题,并做了一个空间和时间复杂性分析,面试官告诉我进一步优化它,我想出了一个使用 HashMap 的有效方法,并用了一点时间编写了同样的代码。之后,面试官说他已经完成了面试。

    这一轮结束后,我接到了招聘人员的电话,告诉我我已经通过了这一轮,下一轮是在 5 分钟内。

    第 4 回合:前端回合(1 小时)

    我的面试官问了我自己,然后告诉我他看到了我在机器编码回合中的作业,我在 react 中编写了代码,他还告诉我这令人印象深刻,因为我是完成所有功能并使用去抖动改进它的少数人之一好。然后他向我简要介绍了这一轮,并告诉我他将问 2-3 个来自 HTML、CSS、Javascript 和 React 的问题。

    1. 如何仅使用 HTML 和 CSS 实现简单的手风琴菜单?
    2. 什么是 HTML iFrame 标签,它在现实生活中的哪些地方使用?
    3. CSS 中的盒模型是什么?
    4. 如何在没有变换和动画的情况下使用 HTML 和 CSS 制作三角形?
    5. var、let 和 const 关键字之间有什么区别?
    6. 什么是 Javascript 中的提升?
    7. 什么是异步和同步,以及它们的用途? Javascript 是异步的吗?
    8. call() 和 bind() 函数有什么作用? —无法回答
    9. 解释 React 组件生命周期。
    10. 功能组件和类组件有什么区别?
    11. 什么是 React Hooks 并解释它们?
    12. 什么是 redux,为什么要使用它?
    13. 解释去抖动和节流。

    在此之后,面试官告诉他已经完成了面试。我接到招聘人员的电话,通知我我已经通过了这一轮,我将在一个小时内进行下一轮。

    第 5 轮:后端轮(~2 小时)|系统设计

    • 面试官为迟到道歉,然后问了我自己。他向我简要介绍了这一轮,并拿出了本轮 LLD 的作业表。我必须为Meetings 应用程序设计一个 ER 图,其中包含大约 10 个用例和功能,每个用例和功能都由我的面试官简要编写和解释。此外,我必须为应用程序指定具有适当参数和 HTTP 方法的服务 API。我完成了 ER 图,面试官为我添加了更多用例以改进应用程序模式。然后他让我指定所有必要的键和所有表之间的关系类型。我完成了所有必需品,然后面试官告诉我他已经完成了面试。
    • 在这一轮之后,我没有接到招聘人员的电话,因为已经很晚了。
    • 几天后,我接到招聘人员的电话,通知我他们需要为我进行额外的前端测试,并安排在第二天进行。

    第 6 轮:前端-II(1 小时)

    面试官自我介绍,问了我自己。他让我向他解释我的项目和我的学习。然后他从技术问题开始——

    1. 什么是自适应设计?
    2. 自适应设计与响应式设计有何不同?
    3. 浏览器存储的不同类型及其区别是什么?
    4. setInterval 和 setTimeout 有什么区别?举例说明。
    5. 什么是去抖?显示它的实现。 —我编写了 debounce函数,并被告知要改进它以使其可用于生产。我不清楚要求,但根据我的理解进行了编码,但面试官似乎并不满意(根据我的意见)。

    然后他告诉我他已经完成了采访,如果我有任何问题要问他。我问了几个问题。

    在这一轮之后,几天后我收到了招聘人员的拒绝电子邮件。

    感谢您的阅读!请给出意见。