Arista 网络采访 |设置 1
第一轮:技术面试
问题1:给定一个排序的双向链表和两个数字C和K。您需要将具有数据K的节点的信息减少C并在正确的位置插入形成的新节点,以使列表保持排序状态。
需要带有测试用例的完整工作代码。
问题 2:给定一棵二叉树 和两个值 a 和 b,找到具有信息 a 和 b 的节点之间的最短长度。
问题 3:同步、测试和设置、锁、互斥锁的基础知识。 (写了一段代码并不断添加约束,询问代码是否可以在多处理器、单处理器、多线程系统中工作)。
第 2 轮:C/C++ 概念 + 人力资源
这一轮从对项目的详细描述开始。然后,他详细介绍了 printf函数、格式字符串和变量参数,并要求实现我自己的 printf函数。
面试官在共享屏幕上编写了基本的 C 程序,并且必须预测输出。
Eg. 1 )
int main(int argc , char *argv[])
{
printf("%c",**++argv);
}
Eg. 2)
int *x[N];
x=(int(*)[N])malloc(M*sizeof(*x));
printf("%d %d",sizeof(x),sizeof(*x));
Eg 3) Asked significance of return statement in C.
What does '0' in return(0) means.
Eg 4) Some questions based on pointing out errors in program
(eg. modifying read only string , concepts of constant
pointer to string )
Eg 5) 10000 students are there and each student has one bit
data. how can you modify his data in O(1) time .
Eg 6 ) Structure Padding details .
Eg 7) https://www.geeksforgeeks.org/struct-hack/
基本人力资源问题
第三轮:技术面试
问题 1:给定一个包含 m 行和 n 列的大文件。给定列号,以相应的行也排序的方式对该列进行排序。
问题 2:建议一种在 O(n) 时间内更好地搜索排序链接列表的方法。 (跳过列表)
问题3:LRU缓存实现。
问题 4:求元素的均值和中位数,以便在运行时动态添加元素(唯一方法)。
最后,您为什么要加入 Arista 网络。