【2020腾讯Android面试真题】这17道面试真题,你能答出
事件起因
含泪忠告:不要在没准备的情况下去裸面,不要去裸面,不要去裸面,重要的事情说三遍。一旦被暴击,你的心态和自信心就彻底毁了。
为啥我会这么说?到底咋回事呢?事情是这样的:
八月中旬的时候,手机弹出某聘的消息,想着去看看目前Android的概况,就投了腾讯简历,到了九月初在玩手机的时候,突然接到一个电话,问现在方便吗,对方说是腾讯面试官,想简单聊聊,了解一下。我一想,简单聊聊?可以啊,反正才一面,简单聊聊嘛。我就回了个:可以的。就开始了视频面试。没想到,就是这三个字,让我的周末如坐针毡,内心受到了暴击。整个面试过程有的答案似是而非,有的只记得大概,有的直接挠头。到现在,我内心都还平静不下来,也急切的想把题目分享出来,让更多的人看到2020的真实情况。答案没有细细整理,只有思路,语言大家自己组织就好。
来吧,一起来感受下我是如何受到暴击的吧!!!
一面经历
开始面试,
(1)一来就问我tcp/udp有哪些协议(就记得http和dns解析,估计是看我专业是网络工程的)
(2)弱引用,软引用
(3)volatile关键字(突然不知道怎么回答,然后记起来了跟java内存模型相关,就说了一下jmm)
(4)多进程(莫名认为是多线程,说歪了)
(5)什么场景需要用到多进程(回答中说了推送)
(6)为什么推送需要多进程,有什么优势(不知道有什么优势)
(7)hashmap的数据结构(回答了维护一个entry数组,hash冲突,1.8中链表会变成红黑树,然后面试官没继续深究)
(8)anr分类有哪些,原因(具体不了解,就知道执行网络或者数据存储等耗时操作)
(9)anr定位(不会)
(10)activity生命周期
(11)activity从A打开B的生命周期(答错)
(12)事件分发
(13)使用过开发者选项吗(就用过显示过度绘制)
(14)kotlin相关,优点(简历上写了kotlin)
(15)kotlin协程(不会)
(16)mvp(回答不够发散,可以从mvc发散到mvp)
(17)算法题:链表有无环
事件结果
面试官:大致情况了解了,我们会根据结果认真评级的,有通知人事会及时通知的,今天大概就聊到这里了。 我:心态已崩……
我有话说
上述分享的程序员面试腾讯一面含泪把毒打经历,希望能让更多知识点薄弱的同学早点去补强。我们很多程序员都有一个大厂梦,但如何针对大厂进行面试准备,很多程序员就显得手足无措了。本文就根据自己一些见解谈谈如何准备面试。
关于笔者: 腾讯 Android 客户端开发工程狮一枚,喜欢技术、热爱开源。
细节杂谈
之所以是细节杂谈,说实话,是因为真的不知道可以写什么,网上关于面试的文章很多,大概看了几篇之后,更不知道写什么了。而根据自己的面试经验来看,发现其实有很多细节,在面试的时候都没有被好好重视起来。所以,这里针对这些细节做个总结,也希望可以对你们有所帮助。
1. 准备一个良好的开场白
首先笔者理解的自我介绍的作用是缓解初次交谈的尴尬以及过渡开场,然后才是扩展为对候选人的口才、逻辑以及表达能力的判断。
如果你实在不知道怎么说,即便是把你简历上的姓名、年龄、爱好、工作经验复述一遍,至少也是起到了暖场的作用。当然要是能基于此,表现出一定出彩的地方,那自然是再好不过,多花点心思准备是值得的。
PS:最近看到一个有趣的分享,唐僧每次介绍自己:贫僧唐三藏,从东土大唐而来,去往西天拜佛取经。其实这几句话包涵了每人都要问自己的三个问题:我是谁?我从哪里来?我要到哪里去?
2. 谦虚是必要的,因为这是礼节
很大程度上,面试官还有一个身份就是以后可能要一起共事的同事或者老板,所以切忌不要表现的心高气傲,尤其在电话面试中,很难在短时间就能了解一个人,你所表现出的态度就显得非常重要,如果和面试官产生了争论,要注意谈话技巧,可以在你的观点前加上我理解的是什么什么......
就连牛顿说他不过是站到了巨人的肩膀上了,所以永远不要觉得自己有多牛,真正牛的人只会更谦虚。这里手动 @代码家 ,他是我很喜欢的一个 Android 开发同学。
3. 大招放的好,工作何愁找
嗯,标题起的挺押韵,容笔者小小的骄傲下 :)
笔者在面试中,有时候和候选人聊了很久,觉得候选人基础知识扎实、项目经历也能娓娓道来,但是就是没有让人眼前一亮的东西,而且往往连续出现好几个类似的候选人之后,这种情况真的很难抉择,对于面试官来说,几个候选人表现的都差不多,你会发现......举个不太恰当的比喻,食之无味,弃之可惜。
所以,如果你有个大招就显得非常重要,让你和其他的候选人区别开来,而对于面试官来说,也会更偏向于你,甚至可以直接锁定胜局。
何谓大招,首先对于候选人来说,技术面试所涉及的深度和广度是很难全部顾及的,加之每个面试官的问题又会多种多样,所以与其担心被问到自己不熟悉的领域,不如挑几个自己的熟悉的技术点深挖下去,总结和形成自己的一套理论。
之前看到一句话说的很好,面试的本质不是一问一答,而是亮点展示(放大招)。所以要学会掌握面试的主动权,把话题尽量往自己擅长的地方引,当然陈述的时候记得一定要简洁扼要。
笔者当时在准备阿里面试的时候,就花了很多精力把 GitHub 一个优秀的开源框架,从设计模式、原理以及细节都琢磨了个透。
4. 算法题 — 知之为知之,不知为不知
面试中问到算法题,如果不知道就明确表示不知道,切记不要装做知道,然后不知所云的说了一大推,这样反而会给面试官留下比较差的印象,面试评价上也会比较难看,很有可能也会影响你后续的面试。
不用担心回答不知道,就感觉没戏了。这里一般有两种情况:一种确实是对算法要求高的职位,那没办法了,只能回去好好加强一下,来日再战。还有一种情况主要是考察你的综合能力,你其他方面的能力表现的非常好,可以弥补。不会有影响的。嗯,笔者当时就属于第二种(强行炫耀)。
算法真的是笔者的一大弱项,之前每次面试被问到算法题的时候,我都很头疼,不过后来索性想明白了,把更多时间放在自己所擅长的地方了。
5. GitHub — “不只是全球最大的同性交友网站“
因为 GitHub 上的开源项目,笔者多次收到过 Facebook、Twitter、英伟达 (NVDIA) 的面试邀约邮件,尽管只是一封邮件,但是对于笔者来说,自身的能力得到认可还是很开心的。
所以,如果你的 GitHub 主页足够漂亮,带来的价值远超出你的想象,尤其是对于一无学历,二无大厂背景的同学来说,就显得更重要了,一定要利用好这个平台去展示自己的能力。
6. 还有一些小细节
-
简历遵循 STAR 法则,内容才是王道。对于某些大厂来说,都会有自己的招聘系统,而你精心打造的酷炫简历在导入到后台后,会变得面目全非。你的简历样式做的再好看也没用,少在样式上下功夫,多在内容上下功夫。
-
听到面试官的问题后,先不要急于回答,给自己几秒的思考时间,多站在面试官的角度去思考这个问题应该怎么答,比如当问到你觉得你最大的优势是什么?有些同学会直接回答热爱技术…...然后......然后就没有了。这样显然毫无说服力,如果加上一句,经常浏览国外优秀的技术博客、在 GitHub 参与和贡献自己的开源力量,是不是就好很多了。
-
面试结束后,不要觉得不好意思,或者觉得没有必要,对面试官说一声:"谢谢,辛苦您了"。就我个人经验来说,毕竟大部分负责的面试官都会和你聊比较长的时间,也会尽可能挖掘你的技术亮点。结尾给面试官留个好印象,如果没有通过,至少对你的面试评价上也不会太难看。
岗位内推、学习交流
我们大量需要前端岗位、Java 岗位、Android 和 iOS 的开发岗位,工作地点:深圳腾讯,由于社招最低要求是T2起,所以需要至少 3 年以上工作经验。点击我
如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧!
群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。