📜  Adobe 面试问题 - 计算机科学家

📅  最后修改于: 2022-05-13 01:58:20.426000             🧑  作者: Mango

Adobe 面试问题 - 计算机科学家

第一回合

  1. 一个双向链表恰好有一个节点指向列表中的随机节点,纠正双向链表。
  2. 构建一个类似 Hashmap 的数据结构,可以向上和向下扩展——面试官正在寻找一种方法,在这种方法中我们不必在增加大小时重新哈希 map 中的所有项目,可以使用桶的一致哈希


第二轮

  1. 信号量和互斥量、ACID 属性之间的区别
  2. 给定数字的下一个较大的回文数
  3. 给定到达和离开时间的数组,找到最大数量。随时可用的汽车
    解决方案:只需将到达和离开时间合并到一个数组中,并为每次维护到达或离开标志,现在对合并的数组进行排序,每次到达增加计数,每次离开减少计数并保持最大计数。


第三轮

  1. 有一个圆圈,满载 x 的航班最多可以飞行半个圆圈。你需要多少额外的飞行来帮助第一次飞行完成循环。您可以使用任意数量的航班。任何帮助飞行都必须有足够的燃料才能返回原点,即飞行只能行进 1/4 圈并返回。飞行可以向任何方向飞行,并且可以重复使用。 (答案是 2)。
  2. 生产者和消费者使用等待和通知,生产就绪代码。


第四轮

  1. 当前的项目,kafka 是如何工作的?
  2. 矩阵螺旋印刷
  3. 一个机器人要么可以爬一步,要么可以爬两步,所以,找出他可以爬 n 步的方法。 – f(n) = f(n-1) + f(n-2)
  4. 编写数据库池类,以确保在执行查询时获取和释放连接。