📌  相关文章
📜  Arista Networks FTE 面试体验(校园)

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

最近,Arista Networks 访问了我们的校园。最低 CGPA 要求是 8。有一个在线编码测试,然后是 3 次 G-meet 的 FTF 面试。

第 1 轮:在 Hacker Rank 上进行的在线编码轮(1.5 小时)(允许的语言 – C、CPP)

  1. 从 (0,0) 到达给定单元格 (x, y) 所需的最短时间。一个特定的单元格可能有一堵墙,即你不能去那个特定的单元格。 (0,0) 和 (x, y) 没有墙。
    解决方案:我们只需要从 (0,0) 开始执行 BFS,并在每个特定单元被推回 BFS 队列时继续存储它的时间。
  2. 鉴于许多消息。消息由(类型,端口,“消息”,消息长度)组成,您必须以这样一种方式排序(在减少消息长度的基础上)具有相同类型和端口的不同消息将组合,即消息将连接和消息长度将是消息 1 的长度 + 消息 2 的长度。输出最终消息。
    例如。
    Message 1- <"xyz", 1234, "hello", 5>, 
    Message 2- <"abc", 222, "Arista", 5>, 
    Message 3- <"xyz", 1234, "World", 5>.
    Output will be- <"xyz", 1234, "helloWorld", 10>
                    <"abc", 222, "Arista", 5>
  3. 这个问题是这个问题的一个变体 – https://www.geeksforgeeks.org/merging-intervals/ – 一个额外的条件是,如果间隔相距 1 个单位距离,则也可以合并间隔,例如。 (1,2) 也可以与 (3,4) 合并。
    棘手的部分: stl-list 是在函数中传递的,因此您应该了解基本的 stl-list 操作,例如排序、列表遍历等。

至少解决了 2 道题的学生通过了这一轮。本轮过后,大约有40名学生出现,11人入围。

第 2 轮:FTF 技术轮(1 小时)

  1. 这次采访是在编码回合的 1 个月之后进行的。所以关于编码轮问题的讨论不多。
  2. 代码调试问题使用了 x++ 和 ++x 之间的简单区别 -函数通过 x++ 传递,因此存在无限递归。
  3. 递归和溢出。我们什么时候应该使用迭代,什么时候使用递归。
  4. C 程序内存布局- https://www.geeksforgeeks.org/memory-layout-of-c-program/
  5. 不同类型的变量以及它们在 C 程序存储器布局中的存储位置。
  6. 静态变量和全局变量的区别。
  7. 进程和线程的区别。其次是基本的操作系统问题。
  8. 设计一个像 Zomato 这样的应用程序,给出诸如哪家餐厅供应特定菜肴之类的查询。例如,如果用户输入比萨,您的程序应该输出附近所有供应比萨的餐厅。
    首先,我给了他一种基于地图的方法,但他让我想出一种可以做得更好的不同数据结构。然后我给了他基于 Trie 的方法,他对该方法感到满意,然后他又添加了 2-3 个查询,它们也可以通过相同的数据结构进行管理。
  9. 最后一个问题是 – https://www.geeksforgeeks.org/rearrange-a-given-linked-list-in-place/

我给了他所有问题的答案回合进行得很顺利。

8/11 学生通过了这一轮。

第 3 轮:FTF 技术轮(1 小时)

  1. 第一个问题是“介绍一下你自己?” – 面试官很友好,讨论了我前几年参加的不同课程。
  2. 代码调试问题 – 使用指针的基本知识 – char *ptr=”arista” 那么我们不能取消引用这个 ptr。
  3. 询问 C 中的指针和动态内存分配。
  4. 进程、线程、临界区问题及其解决方案(互斥量、信号量)。
  5. 给定不同的日志消息<“WHO”、“TYPE”、“MESSAGE”、“LENGTH”>。我们必须存储它们并回答不同的查询,例如“WHO”发送了多少条消息,哪条消息最丰富,“WHO”发送了哪种类型的消息。同样有 4-5 个查询,所以我使用 Trie ds 来存储消息,面试官不断询问有关空间复杂度和时间复杂度的不同查询。最后,他对解决方案感到满意。
  6. 最后一个问题——https://www.geeksforgeeks.org/find-element-bitonic-array/——首先给了他一个线性方法,然后通过使用二分搜索降低了时间复杂度。

总的来说,这一轮进行得很顺利。我被困在 1 个操作系统问题上,但回答了其余的问题。

这一轮之后,包括我在内的4名学生进入了最后一轮。

第 3 轮:FTF 技术 + HR 轮(1 小时)

这一轮以“介绍一下你自己?”开始。我告诉了他一切——JEE,第一年,第二年,第二年实习,第三年,以及我做过的课程和实习。然后他问了我参加的不同比赛。
然后他问了我的实习项目,我们就我的简历进行了简短的讨论。问我最喜欢的科目 – 我告诉他 DS。然后他问了一些基本的 DS 问题,比如什么时候使用 BST 什么时候使用堆,不同数据结构上不同查询的时间复杂度,无序与有序映射,heapify,然后我被要求使用数组实现哈希映射 – 代码不是预期的,只是方法是必需的。最后,操作系统的一些概念,如虚拟内存和物理内存。最后,他问道——“你为什么要加入阿里斯塔?”
我回答了所有问题,面试官对解决方案很满意。这是前几轮中最好的。

结论 –包括我在内的所有 4 名学生🙂 都被选中获得 Arista Networks 的全日制机会。