Arista Networks 软件工程师面试体验(校园内)
我通过我所在学院的 Placement Cell 申请了 Arista Networks,所有申请的人都收到了在线测试链接。
第 1 轮(编码和能力——时长:60 分钟):平台:HackerRank
格式如下:-Section No of Questions Type Duration 1 15 MCQ 15 2 1 Coding – Easy 20 3 1 Coding – Medium 25 Total 17 60
MCQ 来自核心 CSE 主题,如计算机网络、数据库管理系统、操作系统、数据结构和算法。
编码问题如下:-
- 给你两把 1 型和 2 型的锤子。除了锤子,还有 n 块不同强度的木板。 1 型锤可以将任何木板的强度一击降低到 0,而 2 型锤每次击打只能将强度降低 1。您只能使用 1 型锤子 k 次。寻找:-
- 打断所有木板的最少击打次数。
- 您将使用 1 型锤子破坏的木板的索引,按强度降序排列。
- 锤子类型 2 的击打次数。
- https://snippets.cacher.io/snippet/e08f0fec1e61bf8f22a6
第 2 轮(数据结构和算法 - 时长:45 分钟):平台:Google Meet
这一轮基于数据结构和算法。面试官让我打开任何我喜欢的在线 IDE 并分享我的屏幕。
提出的问题如下:-
- https://www.geeksforgeeks.org/decimal-equivalent-of-binary-linked-list/
- https://www.geeksforgeeks.org/design-a-stack-that-supports-getmin-in-o1-time-and-o1-extra-space/
该代码有望编译并通过面试给出的一些测试用例。她还纠正了我觉得代码没有完全优化或有多余语句的地方。
第三轮(系统设计——时长:50分钟):平台:Google Meet
我们对 URL 缩短器的设计进行了长时间的讨论。它应具有以下特点:-
- 为给定的 URL 和来自用户的 URL 创建新的缩短 URL。
- 一段时间后删除旧网址。
- 系统应该在可能同时发生读写操作的多处理器环境中工作。
我们就涉及操作系统、数据结构、高级数据结构和算法的概念的各个方面进行了有趣的讨论。
最后他问了几个与 C 语言相关的基本问题,关于动态内存分配以及如何在 C 中实现向量(C++ STL)。
结果:放置