从3月份开始的实习面试,内推-网申-笔试-面试等等一系列漫长又煎熬的找实习过程总算是尘埃落定了。谈不上面经,这里分享一下我的面试经历。首先说一下面试结果
公司 部门 渠道&流程 结果阿里 阿里云 内推,电面 二面挂
腾讯 腾讯云&TEG 提前批+正式批, 电面+现场面 offer
头条 财经服务端&头条主端 部门点招,视频面 offer
微软 O365 网申,笔试+现场面 offer
摩根士丹利IT -- 网申,笔试+电面+现场面 offer
美团 点评事业部 内推 一面挂
招行信用卡中心 后台开发(java) 网申+笔试+视频 一面挂
总的来说,有挫折也有惊喜,中间经历了各种起起伏伏,所幸最后还是有一个比较不错的结果。下面从面试成功与面试失败的两类公司,分别总结一下成功的经验以及失败的教训,同时对面试公司的面试风格做一个总结。
Success 实习面试包括三部分的内容:计算机基础知识+个人/实验室项目+算法题。对于C++后台开发岗位而言,要熟悉的基础知识包括:C++知识(基础、面向对象、内存模型)、操作系统基本原理、TCP/IP基础知识、网络编程内容(socket编程、IO模型等)、数据结构(链表、栈、队列、堆、红黑树、哈希表)等,这些基础知识有些会从项目作为出发点加以引申,有些则会专门询问。
至于算法题部分,刷完Leetcode Top100以及牛客网剑指offer专题基本足够应对面试。
头条的面试比较坎坷。一开始将简历误投到了官网上实习招聘那一拦(头条的暑期实习生在校园招聘那一栏), 后来也收到了财经服务端的面试邀请,对HR和面试官都说明了自己的情况,表示没问题,遂面试。三轮面试除了基本的基础知识和项目之外问的问题大概是:
之字形打印二叉树(剑指offer原题)
k路归并有序链表(前面时间花太多,只说了思路)
简单实现一个LRU (双向链表+哈希表)
面试完后找朋友查了状态,显示面试通过,但是HR迟迟没有来联系Offer的事情。打电话咨询HR,先问能不能转成暑期实习生答要沟通,后续自己再打电话咨询说只能提供5个月的日常实习生岗位,心中一万只草泥马奔腾而过...更蛋疼的事情是,正式批笔试也做了,但是挂了,可是实验室另外一个同学A的题比我少但是笔试通过...
心灰意冷的时候师兄跟他头条主端的mentor聊起我的情况,他mentor说他们部门对时间上没有这么严格的要求,问问能不能再重新发起面试。于是乎,重新参加面试。这次的三面体验显然优于上一个部门,不管是基础知识部分提问的质量以及面试的氛围。三轮面试的问题如下
变形版本的正则字符匹配(?和*),暴力版本的复杂度说错了,但是动态规划的版本的代码算是写出来了
大佬教我做人系列,就项目中各种细节详细问了,特别是对于IO复用、epoll等等。代码部分让我说了下单次买卖股票最大利润问题的思路,轻松加愉快
三面的面试官人非常nice, 应该是部门leader, 说话问问题如沐春风。没有什么特别难的问题,主要是设计一个IM(个人项目中写了一个聊天服务器),各种模块的设计。
头条主端的面试流程非常正规高效,一天面试完毕,没几天就发了offer. 最后在自己各种不是特别成熟的考虑之下忍痛拒了这个offer, 说实话是有些后悔的,首先这个部门很核心,里面做的东西自己也比较感兴趣,从面试也可以看出整个团队的氛围也非常好。有缘秋招再面啦~
Tips: 头条面试必问算法题,因此leetcode剑指offer该刷还是要刷。然后也会问一些基础知识,但是一般而言不会很难,会比较重要的部分即可。
腾讯的面试经历同样充满戏剧性。提前批的时候简历被SNG腾讯云捞起来,一面问问项目问问基础知识,没有什么难的,基本全部答出,不过面试时间有点短,只有二十分钟。后续一直等复试,公众号里的状态突然一天变成岗位不适合,惊得不行。然后当天中午就另有一个电话过来告知说忘记改状态了,说后续还有面试。谢天谢地,然后接着等。这回等过来等过去,公众号里的状态复试、不适合、初试各种状态来回变,总之就是没有收到复试。
腾讯是4月2号没有收到正式offer就一定要参加正式批笔试。直到4月2号那一天,期待中的提前批复试也没有来,慌得不行。做完笔试之后有收到说第二天总监电话面试,问是否算提前批复试,答曰算。第二天的复试总监大佬亲自面,不知为何,水得一匹...这一回的面试居然各种聊人生...最后面完面试官说:“我这边已经没有什么问题要问了。我跟你说一下我面完你之后的感受吧。” 面试的感受大致就是我虽然不是科班出身,但是自己的兴趣很明确,基础知识也比较扎实,但是缺乏实际的工程经验,他们团队很适合我。(惊了...
问HR,说面试通过了,但是我的简历现在锁在正式批中,我不用面他们那边,等到释放了告诉他他拿去审批。开开心心,准备正式批面试那一天跟现场的HR说一下不面了,释放掉我的简历就行。可是万万没想到正式批现场面试当天又被告知腾讯云那边不能100%确定offer, 正式批的面试要不要参加我自己决定....
犹豫了半天,决定还是硬着头皮再面一次正式批。初试的面试官是个微胖的穿着冲锋衣的大叔,可以,这很TEG。上来问问C++11新特性,这些东西自然是答得明明白白,面试官也很满意。后面聊的一些问题有的答得不算好,比如分布式的基本原理、操作系统相关问题(进程怎么维护已打开的文件描述符)等,但可能前面聊C++聊得比较开心,一出门状态就改成了复试。第二天来复试先聊基础知识活络起来之后就不紧张了,开始侃侃而谈。让看了两道看代码答运行结果的题,然后一道简单编程题,都答上来了。最后再聊了聊人生,告知可以直接去上面等着HR面。下午HR面也就正常聊人生聊未来了,没什么。
没过几天,就发了正式的offer.
Tips: 腾讯的面试我感觉是所有面的最水的一个...但是能不能进完全随缘,而且面试官的风格相差也比较大。不过一般而言更倾向于基础知识,很少做算法题。因此只要基础知识比较扎实,然后也会主动以点带面加以引申,一般都能过。