我参加的是校园招聘,整个面试都是在学校里进行的。抱着试一试的心态去投递了简历,和很多高年级的人一块竞争,一共进行了5轮面试,最终很荣幸拿到了Offer。现在来分享一下自己的面试经验。

第一轮 技能测试

参加第一轮的一共有120个左右的同学。15道题,每个人给的题目都不一样。我做的有 STL, sorting, Java, Computer Architecture 和 OS.

第二轮 Coding

只有一半的人进入到这一轮。依然是每个人给出不同的题目。我被问到的有两道题。

  1. 给两个链表,每个节点都包含一个正数,求对应的两个节点的差,并以链表的形式储存下来,返回结果链表的头结点。

  2. 求出相同级别二叉树中所有叶子节点的和,并将所有级别的和相乘

第三轮 群面

8个人一组。要求进行讨论并写出代码。

群面题目:检测给定的二叉树是否是平衡树。

lintcode原题链接:http://www.lintcode.com/zh-cn/problem/balanced-binary-tree/

参考答案:http://www.jiuzhang.com/solutions/balanced-binary-tree/

第四轮 技术面

这一轮是一对一技术面,首先谈了谈之前做过的项目。然后问了我一个数组的题目。

1.给三个数组(arr1,arr2,arr3),每个数组都是由不同的正数构成,从这三个数组中找三个数a,b,c,使得 (abs(a-b) + abs(b-c) + abs(c-a))最小

第五轮 HR面

谈谈对于职业的期待以及职业规划。