电话面试:30 分钟,只在电话上,没有编码。简要介绍讨论他们的工作,以及我过去和现在的项目。只有一个问题,我被要求描述要使用的数据结构,以及我将如何解决这个问题。我被要求解决一个涉及项目依赖的构建顺序问题。这个确切的问题在这里:https://www.byte-by-byte.com/buildorder/
两周后,我立即到达现场。我在现场做的时候一共面试了五次。每次面试都以关于我是谁和过去的项目的简短讨论开始。好像1分钟。
第 1 轮:给定 am*n int 矩阵,还有矩阵内的两个点,计算使用给定的两个点形成的矩形之间的点的总和。只用一次方法求解(O(n)时间,O(1)空间),在方法经常使用且不更新点的情况下求解(O(n)时间第一次调用,O(1)对于剩余的 O(1) 空间),解决矩阵需要更新(时间为 O(1),空间为 O(1))。
第 2 轮:使用下沉方法对矩阵中的岛屿进行经典计数。
第三轮(午餐面试):设计并实现一个哈希表。
第 4 轮:通用树,每个根的直接子节点添加的数量不应超过根。 (根 = 100,c1 = 50,c2 = 30,c3 = 20)。在树中插入一个节点,一个节点可以拆分成多个节点,(50 => 10, 40),尽量少插入节点。
第 5 轮:设计问题,决定 Instagram 需要多少台服务器,每个服务器存储和呈现消息。这与带宽以及一台服务器可以同时执行多少个进程有关。接下来,每台服务器将响应时间记录发送到监控服务器,监控服务器每 5 分钟生成一次响应时间报告,数据如何传输?这主要集中在数据压缩上。如何压缩简单的数据,比如一个响应时间的列表,15ms,20ms……..数据不需要连续发送,每5分钟一次就可以了,可以使用每次多少次的频率来压缩数据发生的响应时间,可以使用时间范围而不是特定时间进一步压缩。
现场注意事项: 刚到招聘大楼,招聘人员做了简短的介绍,主要是如何使用现场班车,如何吃饭,没什么重要的。然后我乘坐班车到团队正在寻找实习生的大楼,并在那里面试。 5 轮面试,每轮一个小时,第三轮 90 分钟,是午餐面试(会详细介绍)。从早上 9 点开始到晚上 230 点。中间没有中断。 (大男孩的房间和水大概 2 分钟。)总的来说,非常愉快的经历,如果你准备充分,面试就像和你的朋友聊天一样,面试官非常友好。
午餐面试,90分钟,你可以决定先吃午饭还是先面试。先吃午饭!!!对我来说,我是先面试的,那轮我做得不是很好,所以面试持续了 60 多分钟,然后我们去吃午饭,我第四次面试晚了大约 10-15 分钟,因为我们有走回大楼。先吃完午饭,然后回会议室面试,即使面试多持续几分钟,至少下一次面试还在门外等着。这是我希望我早点知道的一件事。
白板:我在一块和墙一样大的白板上写代码。所以,没有在计算机上编码。
我是周一面试的,现在是周三,到现在还没回音。但希望我能得到实习生。