📜  Facebook 纽约现场面试体验

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

Facebook 纽约现场面试体验

第一轮:通过我的工作经历和简历,被问到一堆软问题,比如我最有影响力的工作项目是什么,我是如何处理技术难题的,我最不喜欢的经理是谁等。然后做了一个简单的白板代码练习。

白板问题:有一些函数可以“压缩”字符串,例如 FACEBOOK -> F6K 或 FACEBOOK -> F2E2OK 或 INTERNATIONALIZATION -> I18N。压缩机制可以删除任意多个字符并用删除的字符数替换它们。编写一个函数,它接受一个压缩字符串和一个明文字符串,并确定压缩字符串是否对明文字符串有效。

第 2 轮:两个白板问题。

问题 1:编写一个函数,该函数接受一个排序好的整数列表和一个目标值k ,并计算k在列表中出现的次数。

https://practice.geeksforgeeks.org/problems/number-of-occurrence2259/1

问题 2:在二叉树中找到最大路径和。

第 3 轮:系统设计问题要求为具有 100 PB 照片数据和 5 亿每日活跃用户的照片系统构建后端。面试官详细介绍了很多细节,希望我给出 CPU 使用率、内存使用率、带宽数、确切硬件规格等的准确数字。这让我大吃一惊,因为有很多关于大指数和数字的心算我不知道所有的数字(例如磁盘带宽)以及我可能知道的。

第 4 轮:系统设计问题要求构建像 Hulu 或 Netflix 这样的流媒体视频服务。系统应强制用户订阅并将登录限制在固定数量的设备上。这个问题与前一个问题的主要不同之处在于,我们更详细地介绍了如何安全地管理身份验证、如何在后端构建数据管道、缓存应该如何工作、如何实现分片、如何制作系统HA等。所以与上一个问题相比,它的层次更高一些,面向数字的更少。

第 5 轮:三个白板编码问题。

问题 1:在给定一系列价格向量的情况下最大化买卖股票的利润(Leetcode 上的“买卖股票的最佳时间 II”)。

问题 2:给定m个排序数组,找到第k个最小值。

问题 3:在已排序的旋转数组中进行二分搜索