写在前面
小猿研究生,日常学习Android开发备战秋招,被腾讯面试官从简历池里捞了四次,面试七次拿到运营开发offer,负责XX平台及组件开发。
这篇文章是我参加腾讯2020提前批的招聘记录,大家可以当流水账看,也可以当面经看。
我会与各位小伙伴分享简历投递、笔试、面试的各个流程,最后总结一些参加招聘时的经验和tips。
个人觉得直接公开公司的面试原题是非常不好的行为,所以这篇总结不会直接贴出面试题目,但我会把涉及到的原生知识点罗列出来,供大家参考。
另外,我冒昧将个人的秋招简历隐去关键信息贴在下面,只为便于各位理解分享中涉及的项目相关问题。
01 注册变投递,莫名被捞
注册简历
记得5月中旬,秋招准备战进入中后期,项目已经做了一大半,还剩下数据库,日志和压力测试没有做,计算机网络和操作系统也还没看。
想着休息一下,忙里偷闲在公司官网注册下简历,反正也不投递,等以后准备好了,随手点击一下也就能投了。
当时我在华为官网刚刚填好简历,保存在了个人中心,想着正好有空,就顺手把腾讯的简历也填一下。
进入腾讯校园招聘官网,看一下居然要选择岗位,这咋跟华为的不一样啊,当时也没想太多就选了软件开发-后台开发方向,事业群选择的无明确意向,这样就能让所有事业群的面试官都能收到简历了。接着完善了个人信息,教育背景和实践经历,一气呵成选择了保存并预览。
随后,页面跳转为:提交成功!请留意后续短信通知。
诶,等等,不对啊,怎么让我留意短信通知啊,我不就是完善了一下简历吗?我也没投递啊…这时候我才想起来,一开始好像让选择了岗位,我去,这不会就是投递简历了吧,我还没准备好啊!!!
后面还跟女票打趣说,在腾讯注册了简历,不过好像是投递了,可能过几天会有面试,就当涨个经验。实际上,我内心慌成狗,安慰自己说,不不,应该没啥事,可能只是保存了吧。
另外如果是秋招面试,那腾讯岂不是秋招第一挂了,这试水代价有点大啊…不管了,到时候面试前找面试官问个清楚。
莫名被捞
没想到一语成谶,没两天就接到了短信,5.21上午10点电话面试。腾讯一般情况下是提前2-3天发面试邀约短信,会有几天的准备时间。我犹豫再三点了接受面试,当即开始按照牛客网的C++面试大纲疯狂看计算机网络和操作系统,整理项目。
忙起来的日子总是觉得不够用,很快就到了5.21号。面试当天,早早的等着面试电话,没想到刚开始三句话我就给自己跪了。
还没自我介绍,我就问面试官,请问,您是如何拿到我的简历发起面试的呢?我只是在官网注册了一下啊,咋会发起面试呢?另外这是实习还是秋招啊?我估计,面试官内心os是这样的…
面试官也一时语塞,说道,啊啊,是别人给我的简历,我们这是实习面试哦同学,那我们还面试吗?我也懵了,没事,我就是问一下,确认一下,我们继续吧。
整个面试过程还是比较轻松,流程为四部分,自我介绍,基础知识,项目介绍和算法思路介绍。面试官的问题基本都答上来了,面完后感觉这一面稳了,心里还有点小激动。
最后面试官说,同学我们是深圳岗哦,实习到岗你那边有没有什么问题。我说,没问题,没问题,去深圳没什么问题,我女票就在深圳。
但是,我老板不放实习…
面试官彻底懵了,不是,我们这是实习面试啊同学,你不能实习,为啥要投递面试呢?
我…我…我没有投递啊,算了,不解释了。
但不得不说,腾讯面试官的效率真的快。面试完看了一眼进度条果然已经变灰了,在招聘公众号上查询也变成了不符合该岗位。
哈哈,第一次被捞就这么草草结束了,真是令人哭笑不得。
朋友们,面试原生知识点哦
详细说说 Binder 通信原理与机制
Linux 自 带 多 种 进 程 通 信 方 式 , 为 什 么 Android 都没采用二偏偏使用 Binder 通信
进程保活如何做到,你们保活率有多高
谈一谈Binder的原理和实现一次拷贝的流程
ButterKnife 为什么执行效率为什么比其他 注入框架高?它的原理是什么
组件化如何实现,组件化与插件化的差别在 哪里,该怎么选型
面试题集合图
02 实习转秋招,再次被捞
第一次捞起来面试被挂之后,就没再上过招聘官网,有了第一次的教训,我要准备好了再去更新简历。
8月初的一天上午,突然收到来自深圳腾讯的电话,同学,请问你这两天方便面试吗,我们可以约一个面试时间吗?不是,我这次真没投递啊,连官网都没上过,怎么又被捞起来面试?
询问过面试官后,才知道是实习的简历被解锁自动转到秋招简历池里面了,这简历流转机制和操作真的,我fo了。
电话都来了,我总不能说没时间吧…于是,约了两天后,周五下午3点面试,紧接着晚上收到了手撕代码的链接。
项目和基础倒是没什么,这手撕代码可真的要了我的命啊。随后,再次开启了疯狂刷题模式,每天都在刷牛客网的剑指offer和leetcode的top100。讲真,每次面试邀约都觉得时间过得怎么这么快,以前怎么不多学一点,书到用时方恨少啊。
终于到了周五面试,正式面试一开始,面试官先对我的专业调戏了一番,大概就是为什么本科微电子,研究生却要写代码呀,然后就直接聊起了Web服务器的项目。
等等,这画风不对啊,画风转的硬不硬先不说,这才第一面啊,开门见山刚项目?不是应该先来点基础知识开胃菜吗?
还好我的项目准备了,说道:我们以一个请求到来具体的处理过程来介绍项目工作流程,具体包括web端和服务器建立连接,访问服务器数据库完成登录和注册,并通过定时器完成非活动连接的处理,最后服务器运行状态通过日志系统进行记录balabala…
面试官似乎知道我有备而来,转头对HTTP请求处理与响应表现得异常感兴趣,要我详细描述一下状态机实现原理。
我描述了一下主从状态机的跳转条件,结果面试官说能不能再说详细点,比如报文的处理和跳转条件的关系。
我支支吾吾的说,这个,有点乱,电话里不太好描述。
面试官说道,没关系,不要紧张。我看你上面写了Github,你的代码在Github上吗?你可以看着Github讲。我对你的这个服务器还是挺感兴趣的,我们把它讲清楚。
讲真的,面试官真的一点架子都没有,也慢慢消除了我的面试焦虑,强烈点赞。
看着Github,终于把逻辑理清楚了。接着面试官又问了下服务器中的定时器,数据库系统等模块,这里不再赘述。
最后做了一个手撕代码,排序相关,在腾讯文档写,写完讲思路。
本以为这面试官这么亲切,问题基本也都答上来,估计稳了,最后挂电话的时候也说有消息会再通知。
结果把进度条都等灰了也没通知我…第二次被捞也结束了。
朋友们,技术面试原生知识点哦。
网络和安全机制
数据库框架对比和源码分析
算法
插件化、模块化、组件化、热修复、增量更新、Gradle
NDK、jni、Binder、AIDL、进程通信有关
二面结束后,正好赶上腾讯笔试,一共5道题,按照用例通过百分比来说,完成了2.9道题。
去年的腾讯笔试技术岗好像有3,4次,每次都会短信通知,但只要做一次有成绩即可。后面再做的话会覆盖前面的成绩,并不是取最高分数,所以如果前面做的不错的同学,不建议再做后续的笔试。
03 三次被捞,面试官咕咕
8月下旬,我突然收到了8.23号上午10点的面试邀约短信。随后,上官网看了下应聘进度条,发现后台开发岗位重新亮起来了,我不由的兴奋起来,看来我离腾讯越来越近了啊,嘿嘿嘿,果断选择了接受面试。
经过前面的面试经验,现在的我准备充分,打算跟面试官大战三百回合。
面试当天,早上起来我就在寝室等着面试电话,9点半的时候,突然手机震了一下,这时候真是打了一激灵,心想面试还能单方面提前的吗?
结果却等来了这样的短信…
什么鬼,准备了这么久,我…我..这是被鸽了?不对,又看了下短信,这意思,敢情下周还有戏啊。
于是,周末那两天,我时不时去官网看下应聘进度条有没有变灰,发现一直亮着,想着下周面试官应该会联系我,就没再管它。
碰巧那几天又赶上华为优招,把这回事忘了,等面试完华为优招后,我跑去官网看,结果进度条变灰了…灰了…
后面才知道,如果3个工作日内不操作,简历会被自动释放到简历池。
可能,我与腾讯真的无缘了吧。
04 四次被捞,四面上岸
慢慢的日子来到了9月份,正式秋招马上就要开始了。
因为我女票在深圳,所以我的求职都是深圳的公司,但深圳的公司没有北上杭多,只有腾讯,迅雷,大疆(提前批笔试完挂了,不是因为笔试,应该是学校和学历的问题,身边进面试的都是双985),顺丰(做后台用Java),微众银行(面试时间靠后),一众手机厂商和各大厂的深分。
当时华为优招面试的时候面试官评价不错,有预感应该可以拿14级(虽然后面是14级白菜),所以当时的心态比较好,而且面试了几家公司,我渐渐适应了面试节奏。我想着再准备一下微众银行、迅雷和百度深分,如果不行,最后就去华为也不错。当时没想面腾讯了,被前面捞起来三次面怕了…
不曾想,9月6号下午5点,又接到了广东深圳的电话,这一次与往常不同,直接问有没有时间简单进行一下面试(我信你个鬼,直接面了50分钟)…我平复了下心情,开始了第四次被捞的一面。
一面
面试官说,我的简历是在池子里看到了,问我之前有没有参加过腾讯的面试,我说了前面参加的几次,但面试官似乎并不感兴趣。
不过,这次的一面才算正常嘛,问了基础,也问了项目。不过,问项目的时候真的可怕,打开我的Github挨个问,当时真后悔在简历上显摆我的Github…
因为我研究生专业是搞图像的,面试官问,你平时都是做的图像相关的,但我们这边是做后台的,如果让你转语言,你愿意吗?我肯定愿意啊。我说不愿意,你还要我吗?机智如我啊。
接下来出现的一幕,我的回答让面试官措手不及。
面试官问,你平时喜欢什么?我说,我从小喜欢相声,平时也有表演过,一直都在说。隔着电话,我都能想象出面试官的表情,什么,什么?你喜欢什么?
我说,相声啊,相声,就郭德纲于谦说的那种相声。啊,啊,相声啊,面试官恍然大悟,又连连说,不不不,我想问你平时喜不喜欢运动。我肯定喜欢啊,一周跑七天那种,我要是说不喜欢,这,还能聊吗?
随后,又聊了工作地的问题,问我有没有什么想问的,我问了一下对方负责的业务和平时的技术栈,就结束了。
总的来说,这次是我印象最深刻的面试,与面试官聊的非常开心。
朋友们,Android设计模式面试原生知识点哦。
你所知道的设计模式有哪些?
谈谈 MVC、MVP 和 MVVM,好在哪里,不好在哪里 ?
封装 p 层之后.如果 p 层数据过大,如何解决?
是否能从 Android 中举几个例子说说用到了什么设计模式 ?
实现单例模式有几种方法 ?懒汉式中双层锁的目的是什么 ?两次判空的
Fragment 如果在 Adapter 中使用应该如何解耦?
两个剑指offer原题,说思路
面试完去官网看了下进度条,诶,又亮了,等等,岗位咋成了运营开发??
二面
3天后,也就是9号下午,我接到了腾讯二面,同样的开门见山,直接问有没有时间,想简短的面试一下,我还会信你的鬼话?连忙搬了凳子,坐在天台上。幸好早有准备,这一坐又是接近50分钟…
这一面仍然是基础加项目,不过是偏Linux、数据库和网络相关。二面印象比较深刻的是面试官问我会不会Web开发相关和前端知识,讲道理,不会。但,我可以学。
接着,面试官让我讲无人机的项目,我开始滔滔不绝的讲同步接收,GPS解析,拼接算法,改进检测算法…但面试官貌似对我的自嗨并不感兴趣,讲到一半就打断了我。
最后,照例又聊了工作地的问题,问我有没有什么想问的,我也照例问了一下对方负责的业务和平时的技术栈,就结束了。
二面总的来说,比较严肃,但并不压抑。
朋友们,线程面试原生知识点哦。
线程池的好处? 四种线程池的使用场景,线程池的几个参数的理解?
Android 中还了解哪些方便线程切换的类?
IntentService 有什么用 ?
ThreadPoolExecutor 的工作策略 ?
Handler、Thread 和 HandlerThread 的差别?
ThreadLocal 的原理
TIMEWAIT出现及处理
多线程是否一定会高效(优缺点)
除了 notify 还有什么方式可以唤醒线程
什么是 ANR ? 什么情况会出现 ANR ?如何避免 ? 在不看代码的情况
三面
11号下午5点,接到了二面面试官的电话,问我晚上8点三面有没有时间,那我肯定有哇。如果我不主动,我们怎么会有故事呢。
这一次面试是纯项目+比赛,侧重日志处理和数据库。当时刚接到华为的录用通知,所以面试心态很好,跟面试官直接聊嗨了,感觉真是飘了。
面试最后并没有照例问一下工作地,直接说,今天的面试就到这里,有消息会通知你,你还有什么问题吗?
有啊,我有问题,请问下一面是什么面试?
哦,下一面是HR面啊。
HR面之后什么时候出结果?之所以这么问,是因为华为那边已经出了结果,准备中秋之后签约,也就是16号左右(果然在17号就要现场签约)。
面试官表示为难,需要综合前面的面试表现,才能确定HR面。另外,HR面完之后,最快也要一周有结果,也就是20号左右。
但他表示会尽快处理,如果有HR面也会尽快通知…随后就结束了面试。
总的来说,三面更多的是实战类型的知识点,面试官也很善解人意。
朋友们,面试原生知识点哦。
深入华为比赛算法
讲Web服务器项目
HTTP处理与响应逻辑
压力测试bug
I/O复用对比
Redis单线程
Redis过期策略
日志系统同步/异步
消息队列场景题
HR面
上面有提到我女票在深圳,我俩是异地恋,我目前在成都上学。
当时正赶上9.13号是中秋节,我定了12号下午4点去深圳的机票。机票是老早就订了的,腾讯面试属于后面的突发事件。
三面之后,有考虑过要不要改签,但****毕竟昨天才三面,前面的几面间隔也是2到3天,HR面不会这么快,应该不会冲突。于是,我开开心心收拾了东西,中午吃过午饭,打算开个哈罗单车去西门,然后打滴滴到地铁站,转两趟地铁就到机场了,这时间安排,完美啊,简直美汁汁。
我前脚刚扫开哈罗单车,准备飙车,一展我清水寺AE86的风采,突然手机响了…WTF?!下午4:25面试?!
这,面试官你说会尽快处理,你竟然这么快?!退票改签?关键我买的往返票啊。。。
头铁的我决定先坐飞机,然后联系校招组修改面试时间,腾讯的小伙伴整天开8008的玩笑,说有什么事情,找8008就好了(腾讯总部电话,转8008解决有关招聘和入职事宜)。
可是我大中午的,别人在坐滴滴,我在打8008;别人坐地铁,我在打8008;别人走路,我还在打8008。这8008,他就是打不通啊。
最后没办法,抱着死马当活马医的心态,先邮件回复了校招组,看能不能延迟。
不得不说,腾讯上班时间还是很严谨的,中午说午休就午休,绝不办公,不接电话,不回邮件。
但我并不死心,坚持骚扰8008,直到2点多,终于打通了8008的电话,告诉我,会联系我的HR并将邮件推送给她。临行前,收到新通知,我的HR重新调整到了晚上8点15。
我长舒一口气,安安稳稳坐上了飞机,鹅厂还是不错的嘛,反应很及时嘛。
你觉得这样就完了吗?我也想啊,如果这样一帆风顺就好了。
等我到了女票住的地方,才发现,一个屋子找不到一个信号强的地方。深圳的某些城中村信号质量堪忧啊,HR第一次没打通电话,一度以为我航班延误了。
最后我戴着耳机,手伸出窗户才勉强接到了电话(感谢天才画手IC猿配图)…严重我怀疑女票平时快递的电话是怎么接到的,怎么我这次就不行??
面试的时候把华为的情况跟HR说了下,她也表示尽快,最后千辛万苦总算完成了HR面。
然而,这次我不再说喜欢相声了,我贼喜欢跑步,还喜欢健身哦,卧推50kg那种哦…
有关华为和腾讯最后的选择和冲突,我会再写一篇华为的面试过程来讲哦,欢迎继续围观。
朋友们,面试原生知识点哦。
抗压
加班
锻炼
爱好
成绩
工资
团队
工作地
目前offer
家庭情况
05 复盘总结
简历从投递到面试的基本流程为:官网简历投递 -> 简历筛选和流转 -> 参加笔试 -> 面试官捞起发起面试 -> 发放offer。
简历填写
网站投递要留心。看清楚是保存还是投递,不要闹出像小猿这样的笑话。
简历是面试大纲。面试官会按照你的简历来提问,不会的知识千万不要写。有些东西可以不会,但如果被揭穿撒谎,印象会更差。
内推
腾讯内推不采用内推码,基本流程是员工登录某平台,填写基本信息,然后链接发给候选人进行完善。
投递简历建议直接腾讯校园招聘官网投递,与内推无异。
简历流转
选择事业群时,建议选择无意向。此时你的简历在公共简历池内,所有事业群的面试官都能查看你的简历。
如果被某一个事业群面试官看中,捞起来面试,你的简历将被锁定,其他面试官将看不到你的简历,除非面试失败或三个工作日,将会自动释放到公共简历池。
腾讯笔试
技术岗会有几次,每次都会短信通知,但只要做一次有成绩即可。
后面再做的成绩会覆盖前面的成绩,并不是取最高分数,所以如果前面做的不错的同学,不建议再做后续的笔试。
相信面试官
面试官比你更懂自己,不会无故捞你。一定是他觉得你的简历和技术栈能匹配当前的工作任务,或觉得你表现出来的能力足够才会捞你面试。
彼此尊重。不会的问题直接坦白,坦诚表示自己会学习,不要浪费彼此的时间。
心态
多面几家公司,切记不要把最想去的放第一个面试。学会适应面试节奏,当你手上有了offer,面试心态也会好很多。
最后,感谢你能看到这里,希望各位小伙伴春招顺利,都能进入心仪的公司喔。
推荐:2020最新全Android面试题 下面是小编自己整理了一份最新的Android核心知识点
如果大家需要参考学习这份文档的小伙伴去我【GitHub】查看:https://github.com/733gh/Android-T3