📜  Media.net 面试经历(软件工程师 – 有经验)

📅  最后修改于: 2021-09-23 05:28:09             🧑  作者: Mango

第 1 轮:申请筛选轮,此轮的持续时间为 30 分钟。人才招聘部门的人打电话来了解我的项目和经验。当前公司工作 + 之前完成的实习工作。到目前为止使用的语言/框架。大学项目和其他基本技术问题。然后她告诉我们他们有 2 个配置文件:

  1. Web 开发人员(更多与前端相关)
  2. 软件工程师(主要是后端工作)

她问我想面试哪个职位?

第 2 回合: DS/Algo 回合,这一回合的持续时间为 1 小时。待解决的问题数量 2.
我们必须在共享的 Google DocQuestion 中编写端到端的代码

  1. 合并重叠区间(轻微变化)链接:https://leetcode.com/problems/merge-intervals/Question
  2. 给你一棵树。您的任务是递归打印已删除的叶节点,直到树变为空。 (以从左到右的方式)(您不需要实际删除它)删除时您必须打印 node.value。如果树是 1, 2, 3, null, null, 4, 5 在这种情况下,答案应该是:在第一次调用后,2, 4, 5 将被删除,因为它们是叶节点。随后,3 将被删除,因为它是一个新的叶节点。最后 1 将被删除。所以答案是以下列方式打印节点要在第一次调用中删除:2, 4, 5 节点要在第二次调用中删除: 3 节点要在第三次调用中删除: 1首先我给出了蛮力方法 O(n *n)。之后他让我进一步优化,因为我们只需要打印节点。最后,我给出了一个 O(n) 的解决方案。

这一轮的基本要求是你必须用最优化的方法解决一个问题,另一个用方法讨论或部分实现。就我而言,这两个问题都已解决,因此没有进一步的 DS/Algo 回合。否则,他们将再安排一轮 DS-Algo。在这一轮之后,一周内。 hr打电话通知剩下的回合结构。

第 3 轮:招聘经理轮持续时间为 1 到 1.5 小时。

他从他的介绍开始。他是一个非常资深的人,负责处理机器学习、大数据等领域的 4 到 5 个大团队。

  1. 说说你自己。
  2. 问我在 1.5 年里做了什么。此外,他还要求解释实习项目。
  3. 当前项目和框架架构。
  4. 然后他开始深入研究机器学习。 (因为我在机器/深度学习中做过一些项目)
  5. 欠拟合与过拟合
  6. 正则化——MFCC(语音特征检测算法)的内部工作
  7. MFCC中Delta+Double Delta特性的意义。
  8. MFCC 中如何以及为何使用傅立叶变换
  9. 神经网络、InceptionNet、迁移学习。
  10. 为什么在您的项目中使用迁移学习(好处-缺点-直觉)。
  11. 在与语音相关的项目中,学习在图像数据集上训练的模型有何益处?
  12. (再次迁移学习概念)- 进程和线程之间的差异。
  13. 告诉我一个场景,你更喜欢进程而不是线程。

第 4 轮:技术讨论轮持续时间为 1.5 小时。
介绍 – 项目 + 工作 ExDatabase:询问 3-4 个与 Group By、SQL Joins、SubQuery 等相关的查询。

  1. 什么是索引?
  2. 用不同的“where”子句给出了 2-3 个不同的查询。您必须确定将使用哪个查询索引?在这种情况下,如果我们创建二级索引会很好。
  3. 主要与次要索引-索引内部工作(算法方面)-尽管在 HashMap O(1) 中查找是可能的,但为什么我们使用 B 树(其中复杂性将为 log n )。
  4. 为什么 B-Tree 比 DB 中的普通 BST(高度平衡)更受欢迎? – 你能解释一下 BST 搜索是如何仅在 log n 中进行的吗? (我告诉过,因为每次我们只有两个选择,要么向左要么向右。与此相反,他问但为什么它只是 log n而不是 loglog n或 n/2 之类的其他东西)。然后我解释了搜索空间。
  5. 死锁-竞争条件(理论+实际场景)-临界区问题-对于临界区问题,使用什么策略来解决?
  6. Java线程和同步(用“临界区问题”解释)。 Java同步使用对象监视器(内部使用信号量),这是处理“临界区问题”的一种非常著名的技术。
  7. Cookie 与会话。有什么区别?它在哪里维护? – DNS 查找 – 公共与私有 IPOOPS。
  8. 继承、抽象类的基本概念和实际应用 – 您在日常生活中使用的著名Java接口?我解释了 SerializableDesign 概念:
      给了3个话题
    • 抽象类
    • 遗产
    • 作品
  9. 解释在设计系统方面的差异。给出 3 个系统设计示例(每个主题一个示例),其中您认为某个特定主题最适合其他主题。
  10. 为什么在大多数情况下,“组合优于继承”? (非常著名的问题——这也是许多设计模式的基础——工厂/策略等)——“编程接口,而不是实现”你能解释一下这个设计原则吗?

在那之后,HR 通知我们当天的工作已经结束。结果:在 2 天内我收到了他们的报价。在短短的 3 轮中,他们几乎涵盖了计算机工程中的所有重要内容。

提示:除了强大的 DS-Algo,他们更喜欢具有良好项目背景的候选人。 – 此外,他们希望您对 OS-DBMS-Networking 有清晰的了解。您应该知道在设计系统时将如何使用 OOP。此外,如果您对著名的设计原则(以及 4 到 5 个著名的设计模式)有所了解,那就太好了