4月初投了简历,收到电面通知。电面的GG非常nice,答的好的部分他一直会说pretty good来激励你,整个过程都让人非常舒服。
电面的内容很基础,多态,UDP/TCP,快排,折半查找,主键外键,重写重载,多线程,进程线程,链表,一些常见算法的时间复杂度,稍微介绍了下项目。最后让我问了个问题,我说你们这个公司里的天才们工作这么忙,你们有没有happy hour?他听了哈哈大笑,然后一阵blablabla。我也没仔细听,我就记得他说了badminton和basketball。电面就结束了,看了一下表,聊了三十多分钟。
大概过了三天,手机上刷出邮件,一看是大摩HR发来的,开头一行congratulations。极度兴奋啊。我记得当天的前夜我和大学同学喝到凌晨4点多才结束,忍着头疼下床把两封长长的邮件读完。哇塞,包来回机票和一晚的住宿。不去白不去。
立马定了机票和酒店,直奔上海当炮灰去了。
面试的当天早上来了12个人。全国各地奔赴过来的,清华复旦浙大的多,还有北航西电的,还有咱们北邮的另一个MM。大家在一个屋子里坐下后,阿姨就拿各种饮料和饼干过来。然后就天南地北海聊起来,人都非常nice。没多久进来一男的,给大家解释一下今天的流程:笔试+三轮技术面+群面。早上8点一直折腾到下午1点多才出来。
笔试就两道算法题
1、 公司控股类型的。甲公司拥有乙公司50%的股票,称为甲控股乙。控股可以是叠加或者传递的。要实现一个程序,比如输入为(1,2,80%),(2,3,80%),(3,1,20%),输出(1,2),(2,3),(1,3)。
2、 第二题是完成一个链表的深拷贝。链表结点包含三个部分:数据,指向下一个结点的指针(pnext),指向随意一个结点的指针(prandam)。要求时间复杂度为O(n),除了新链表外不许有多余的存储空间。
然后就是三轮技术面了,分别由不同的面试官。其实有些面试官的英语还真不咋地,发音也一般,有的却很棒,很棒的那位为了展现自己脑袋可以多线程,一边问一边玩手机。
我大概回想了,就记得起有下列题,细节部分都不记得了,有些地方问的挺深的:
ArrayList LinkedList
两个set求交集,4种解决方案,复杂度
Hashtable hashmap
Sycronize/static sycronize?
多线程
一道算法求smallest missing value的
进程死锁
Finally finalize()
字符串操作
Stringbuffer stringbuilder
Linux命令
TCP如何保证不掉包
Softlink hardlink
Java 正则表达式?
数据库索引
文件操作
当初准备的时候就准备了很浅的答案,一问深了就不懂了,英语也不知道该怎么说,哎。
后来问了另外几个同学,有的技术面就直接闲聊(哎,为什么不和我闲聊,我准备了一堆闲聊的答案),有的问些数学题,比如一架飞机能装多少个乒乓球,如何统计上海有多少个调琴师等等。
然后就是群面了,给个case大家解决,每人发言。这就没什么好说的了。
炮灰已成定局,希望另一位MM能为北邮争光了。为了这个面试,腾讯的笔试也没法去了。西瓜芝麻全没了。
最后咆哮一句,给我实习offer,有木有,有木有,有木有!!!!!!