📜  脸书专访 |设置 2(在校园实习)

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

最近facebook访问了我们的校园。首先是在线回合。 7人入围电话面试。然后是来自美国的人接受了 2 次电话采访。

在线回合
给出了2道编码题,时间为75分钟。
1. 一圈有n棵树。每棵树都有一个与之相关的果实值。一只鸟可以在树上坐 0.5 秒,然后他必须移动到相邻的树上。这只鸟从一棵树移动到另一棵树需要 0.5 秒。当小鸟坐在树上时,它会获得水果价值。我们给出了 n 和 m(鸟的秒数),以及树木的果实值。我们必须最大化鸟可以收集的总果实价值。鸟可以从任何树开始。
我忘了例子,对不起:(

2. 为您提供基数为 58 的数字的编码。您必须使用给定的编码将所有从 1 到 n 的数字转换为以 58 为基数的数字。

题目不难,入围依据很奇怪。我的朋友在我之前完成了很多工作,但他没有入围。我想他们看了你的简历和项目。

第一轮电话
自我介绍并告诉我你的项目。然后他问了我 2 个算法问题。

1.给定n个间隔的开始时间和结束时间。您必须编写一个返回布尔值的函数,该函数指示现有间隔集中是否存在任何重叠间隔。 (排序和检查,时间复杂度 O(nlogn))

2. 您有 2 个稀疏向量(大量 0)。首先告诉我一种表示和存储它们的方法,然后找到点积。
(为了存储它们,我们应该存储那些具有非零值的索引的值和索引,然后找到点积非常简单)。

第二轮电话
面试官不太一样。自我介绍并告诉我你的项目。甚至他问了我 2 个算法问题。

1. 您有一个包含 n 个元素的数组和一个总和。检查数组中的任何 2 个元素是否总和为给定的总和。 (预期时间复杂度 O(n)。使用散列)

2. 将前面的问题扩展到数组中 3 个元素的总和,总和为给定的总和。

几点提示:

  • 总是解释你在做什么以及为什么。
  • 先解释算法,然后开始编码。
  • 如果他给出了提示,请接受并使用它。

感谢 geeksforgeeks.org

Facebook 的所有练习题!

相关实践问题

鸟类和最大的水果采集