三个月的秋招结果
从大一开始,就开始心心念以后能去bat工作,特别是腾讯,这个愿望也持续了5年的时间,最终这次校招也算是完成了bat这个心愿吧。总得来说这次秋招的心路历程一波三折吧,印象很深刻,也让我体验了很多,学习了很多。最后在以为腾讯挂掉,决定去杭州阿里的时候,11月腾讯终于给我发了offer,移动应用开发。最终我也因为地域原因签约腾讯,给校招画上了完美的句号。如果在阅读这篇记事的你即将面对校招,希望这段历程能给你带来至少一点点的感悟。
7月,失败的秋招起步
6月开头,我放下了学校所有的事情,全力在准备校招,包括项目和基础知识的回顾。在准备校招这段时间,说实话,知识从广度和深度来说都有了巨大的提升。(这里必须感谢牛客网这个网站(这波真不是广告),从准备校招开始,招聘信息以及基础知识的准备几乎一直依赖牛客网。)
到了7月26号,从Niko大佬内推我腾讯提前批开始,持续3个多月的校招历程正式拉开帷幕。这时我也开始进入相当紧张的状态,每天一刻不离开手机,生怕漏接了突如其来的面试电话。相信经历过校招的应该都能理解这种心情,每次一个快递小哥的电话,一个卖楼的电话,一个诈骗电话,甚至10086发来的广告短信都会让人的心情经历从听到铃声时无比兴奋紧张到对方表明身份时满肚子mmp的一个过程。
这一开始就是一个漫长的等待过程。时间一周一周地过去,一直没有任何消息,这段时间里,我每天的活动就是刷别人发的面经帖。随时时间推移,慢慢有人已经发出通过面试的帖子,我开始怀疑自己的简历,怀疑自己过去的努力是不是太微不足道,hr压根看不上眼连面试机会都不想给我。但是,正当我准备失去信心的时候,在接近8月中旬的一天下午,手机收到了一个短信,一看锁屏手机下的短信title是腾讯科技。那时候的心情又开始紧张热烈起来,我急忙解锁打开了短信内容,确实是让我面试的,但是岗位是测试开发(我投的是移动客户端开发)。当时的心情既是失望又是焦躁,因为我需要在很短的时间内做决定是否拒绝掉这次面试,不拒绝的风险是我可能面试不会通过,因为我对测试开发并不熟悉;拒绝的风险是面试官可能直接挂掉这次投递记录。最终我选择了拒绝面试,并请求面试官释放简历。最后面试官答应了,也释放了简历,有惊无险继续进入等待状态。那时候我已经说不出我当时到底是开心还是难受,开心是没有挂掉投递,难受是因为还是没能得到一次面试客户端开发的机会,而内推期也将近要结束了。
终于又过了两个星期,这一次,我的微信面试状态变成了“初试中”,我当时已经顾不上紧张了,简直喜出望外,然后Niko告诉我这一次发起的还是测试开发岗的面试,而且已经进入了流程,无法像上次一样拒绝了。当时真是想死的心都有了,等了一个多月,结果换来一次极可能挂掉的面试邀请,脑子里担心的都是要因此与腾讯无缘了。不过,为了能进鹅厂,当时连忙调整了心态开始着手准备测开方面的知识应付面试。( 在这期间我随手完成了阿里正式校招的笔试,当时觉得阿里招人不多,遥不可及,没有对阿里抱有任何的期待。)
就这样,不知不觉初试状态已经持续了一个星期,始终没人打电话面试。终于有一天,初试状态死了,变成了”该岗位可能不适合你“。就这样,伴随着腾讯这波难以置信的操作下我结束了一个多月的互联网校招提前批招聘,不仅颗粒无收,自信也开始动摇。
9月,高歌猛进的正式校招
到了9月,各大互联网公司的正式校招纷纷启动。我陆续投了bat,cvte,网易有道,网易游戏,华为以及欢聚时代YY等公司。
9月初,笔试铺天盖地而来。那段时间,可能有时一天要应付两个笔试。对于笔试,大部分的公司都会分为选择题和编程题。选择题是需要平时自己对计算机各个方面知识的积累才能应付的(真的是各个方面,笔试题好可怕,什么鬼都有,自己投个安卓,连amd64 指令都问= =)。而编程题一般都是一些简单到中等的算法题,编程题需要抱一抱佛脚,拼命刷题,而且练习的时候最好在无编译器环境下完成算法的实现(推荐《剑指offer》)。
在上面列出的公司里面,个人感觉猪厂的笔试题是最难的,自己也顺利挂掉了猪厂的两个笔试(T T)。其余的笔试由于平时练习量够还是没什么问题的,都一一通过了。(原谅我做了太多的笔试,并没有记录笔经,大体的编程题都是全排列,深度优先广度优先搜索这些)。
经过了笔试后,等待的就是一大波面试了。
CVTE(我拒了hr面)
9月9号,终于迎来了校招第一个面试通知的短信,CVTE。
说实话本科期间并不了解这家公司,准备校招期间在牛客网上了解到了这家神奇的公司(黑这家公司的往死里黑,吹这家公司的往天上吹,总之就是两个极端)。就校招体验而言,cvte给我的感觉其实是相当不错的,笔试期间,我在香港发现打开不了笔试网站,当时向cvte公众号反应情况,竟然真的有人给我解决了问题,说是要去开启他们的cdn境外加速,当时也特别惊讶这种公众号竟然会有人帮我解决问题= =
9月10号下午来到了正在下大暴雨的广州,cvte在一个我认为相当偏僻的地方,需要在黄村地铁口等他们来接的大巴再一起过去。面试的人数也相当多,每一批面试都是两辆大巴满载过去,还会有个员工在车里大喊名字点名,像极了当年小学坐学校大巴去春游的情况。
来到cvte第一产业区(说实话工作环境确实还不错),扫了二维码发现自己排安卓岗第二位面试,心情开始有点紧张。hr带着排位前3的上楼等待面试,紧张中等了不久以后,第一个面试终于来了。
一面,50分钟:
两个年轻的面试官一起问问题,一开始是自我介绍。接下来会通过自我介绍时提到的项目展开来问问题。大体问题如下(不分时间先后)
·锁重入怎么实现
·锁中断怎么实现
·Reentrantlock 原理
·main thread的looper在哪初始化
·Activitymainthread是什么,继承自thread吗
·死锁,很详细,wait,signal需要获得锁吗,为什么。自旋锁会死锁吗
·Listview错位大小不一图片 各种奇怪情况
·RecyclerView缓存体系 四层缓存
·Service onBind过程
·各种设计模式 享元 建造者 适配器
·java源码看了多少
·HashMap原理,万一hashcode和equals结果都相同会怎样
·handler TheadLocal
·线程唤醒
·MVP MVC MVVM
·手写代码,连续子序列最大和
一面除了锁的问题答得一般,大体答得还不错,写完代码之后就进入提问环节然后让我接着等。
二面,35分钟:
二面是一个中年人,很有气势,一个大佬的气质,问的问题也比较深
·KVM
·view绘制流程,onLayout位置不够怎么办
·binder IPC过程描述
·transact onTransact方法区别是什么,server怎么判断要执行哪个方法
·leak canary原理
·tcp编程
·策略模式和状态模式 的区别 双检单例 装饰者模式
·Alloctracking
·ams了解多少,看了多少源码
·glide源码
·uil源码
·MVP MVC
·手写代码,线程安全栈(用LinkedList作为基础数据结构实现后让我改成用数组,结果出现了内存泄漏,面试官引导后解决了)
·cpu优化
·内存优化
·以后想做什么
二面问了很广也很深,有一些不会的直接说了不清楚。面完后回去等了不久通知终面,也就是hr面,但由于终面时间与阿里一面时间冲突了,与hr协商推迟。后来推迟到了10月中旬终于来来电话,但当时手上已经有几个不错的offer了,就拒掉了面试。
总体来说,cvte作为校招第一次面试感觉非常好,面试的技术内容很充足,面试官也非常友好,不懂的地方会提示,引导甚至教我,让我对自己不足的地方也有了比较清晰的了解。
阿里巴巴(offer)
在面完cvte后一天,突然收到了阿里的面试邀请,当时很是惊讶,但想到阿里hc不多,就抱着试试的心态参加面试,最后居然收到了offer,真是意外。
一面,44分钟
阿里的面试是远程面,用阿里的会议系统,面试开始前会有显示板告诉前面还有多少人排队,贼可怕,内容如下
·项目
·kvm
·java gc
·java内存模型
·c++
·自己设计弱网络环境下的图片处理框架
·用过哪些开源库
·消息循环
·虚拟内存 物理内存
·多线程的处理经验
·webview native注入
·开发习惯
·cpu优化
·jni 过程
·研究生学了什么
·学术成就
·有没上线的app
·有没参加开源库开发
·会不会前端
·以后想干什么
二面,40分钟
一面部分重要的题答得不怎么好,但大部分题还是感觉不错,意外地拿到了终面机会,但二面整个面试除了写代码难一点没问很难的,气氛很诡异,自己也严重被这气氛影响到,回答的思路相当不清晰,然而更诡异的是居然让我去面hr了,hr在面试过程中还一直在打哈欠,阿里葫芦里卖的到底是什么药?
·项目(被怒鄙视一波),包括难点,怎么迭代项目
·listview错位
·listview和recyclerview的区别
·加载一个很长的图片列表,从头到尾阐述你会怎么实现(一度觉得太简单了不知所措以至于回答的很慌很烂,感情这面试官不是写安卓的???)
·写代码,给跳跃步数求最短路径(写了20分钟,崩溃)
在等了一个星期左右,阿里居然真的给我发意向书了。
YY欢聚时代(offer)
整个校招最感谢的就是YY了,yy一再迁就我的时间,发offer的速度也是最快的。面试官,特别是hr也是特别好人。yy的展厅也相当不错,到处可见大屏展示yy直播以及yy熊。
一面,35分钟:
面试内容主要把简历上的项目问个遍,包括
·高斯混合模型的原理
·背景差分及图像二值化
·listview 和 recyclerview的区别
·listview下滑卡顿的优化方案,答了滑动监听暂停加载,面试官不满意继续引导说一直下滑一直加载图片变卡怎么解决
·okHttp源码
·内存优化
·cpu优化
·kvm
·android mp4文件处理
大概只记得这么多了
国庆前完成的一面,国庆后参加二面和hr面。二面和hr面都是在聊天,也没什么特别的
华为(offer)
华为的面试效率相当高,一天内完成两面就等待发offer了。但面试氛围也是我印象中最难受的。
一面,50分钟
一面非常令我最意外,华为的面试难度并不像大家说的那样很水,反而这是我体验过最难的面试。
·项目展示,项目亮点(说完以后一直怼“就这样?还能怎么优化?”),手画项目架构图
·android系统内存管理和ios内存管理的区别
·为什么安卓系统越用越卡(顺带怼了一顿我竟然不用安卓手机)
·从上面两个问题引出,华为手机可以怎样优化安卓的内存管理,华为手机能承诺18个月不卡,里面是怎么做到的(当然他并没有期待我回答出来)
·android进程栈
·内存泄漏的情况,很详细
·内存优化
·cpu优化
面试过程相当艰苦,但是面完马上让我出去等了,也算是直接通知通过了。
接下来的二面是一个很有华为领导范的人,问的内容不多,也就问了我本科期间做了什么,研究生期间做了什么,问了问kvm相关,嘲讽了我研究生的工作,并想当然笑嘻嘻地嘲讽我一定没什么朋友,做人一定做的不开心,十足是一个理工男之类的没问别的。后来问我有啥问题,我问了问关于华为搬迁东莞的事,他问我为何要了解这个,我说东莞消费水平低,想过去,结果他的神回复让我无言以对。“你又不需要钱,关心这个干嘛,这样吧,我给你深圳的消费者bg软件开发部的安卓开发岗。”
后来面试官没有食言,过了大概一个月收到了这个岗的offer。
10月,遗憾结束校招?
我是广东人,想留在广东工作,又希望去bat,因此腾讯是我一直以来最大的心愿。
腾讯(GM面挂)
腾讯面试来得很晚,9月底来了一面,面试过程非常愉快轻松,几乎就是讲了讲项目,问了一个客户端高并发的问题就没怎么聊移动开发了。然后像朋友一样闲聊了30分钟后通过了一面。那时候满心想着一定要进去,跟着这样的leader一定很开心。
二面当天早上面华为,下午面腾讯,面试过程更加愉快,更加轻松。毫无保留地跟面试官聊心里的想法,包括对互联网AI时代的看法,对香港的看法,希望进腾讯原因等等。面完后面试官告诉了我后面的流程,并起身握了手。当时我觉得自己越来越接近腾讯了,兴奋感越来越强。
hr面跟二面很接近,是一个年轻的女hr,聊得也是十分开心,连王者荣耀段位都聊上了,最后告知我后面会有同事打电话联系我入职的事。(但二面面试官告诉我其实还有个GM面,事实确实如二面面试官一样发展)。
对的,GM面挂了。
前3面是在国庆前完成的,等到了国庆后一个星期,腾讯这个面试已经成为了我校招最后一个面试了。历经三个月的校招,以为要完美结束的时候,现实给了我当头一棒。
10月13号,那天天气大概是我奔波去面试以来最凉快最舒服的天气了。我带着一丝激动和期待走进了腾大。接待我的是总经理的秘书,是93年的一个女生,面试开始前我和她聊得就非常高兴,聊了很多关于腾讯工作的体验,包括上下班电梯的人流啊,平时鹅厂各种的活动福利,鹅厂新大楼的建设等等。我都以为她阐述的生活即将要成为我的生活的一部分了。
跟秘书聊了半个小时,总经理终于开会完毕下来了。这是一个很有气势又不缺和蔼的女总经理。面试过程跟之前一样,聊得很开心,房间里一直充斥着两人的笑声,主要聊关于我本科和研究生的生活,项目的完成等情况。半个小时后,她送我出办公室门时,遇到了二面面试官,我兴奋地和他打招呼,他也走出来专门送我出去。
最后等了一个星期,没有结果,通过内部rtx问了二面面试官,说gm选了另外一个人,没办法。
惊喜与期待
校招3个月,开始和结尾等的都是腾讯,对阿里不抱希望而最后我却得到了阿里的机会。原以为就此结束,自己也已经把自己当阿里人了,但就在11月,腾讯突然给我发了offer,估计就是有人拒了offer吧。这个结果非常惊喜,我也可以凭此结果赠一碗四字鸡汤给坚持读到现在的你了:天道酬勤。
加油。
现在,我已经开始憧憬在鹅厂工作的日子了。