腾讯Android客户端1-3面面经(offer)

3.27更新,下午接到了hr预约邮件,七点完成hr面,回复1-2周发offer,希望好运带给大家!

—————————————————


要用的语言是Java,本来想投后台开发,但我发现报录比有点低,担心成为炮灰,就转投了Android。前后一共被两个部门面试过,基本上每一面都一个多小时,其中有一个将近2个小时,所以一定要做好心理准备。楼主在第一个事业群挂掉之后,被另一个事业群捞上去了(不过岗位是后台开发),很幸运经过了三面狂轰滥炸操作系统和计算机网络以及若干基础后,流程终于到了hr面。下面给出的是第一个事业群的面经,仅供参考。
有1说1,一共正儿八经的投了三个公司,腾讯是最早面的,也是非常给我信心的,包括面试官真的都不错,非常的耐心,不会的问题还积极的引导我,腾讯的面试官配得上风趣担当和耐心担当的称号。
简单对自己的情况说明一下,非211非985,也没有什么实习经历,没有ACM经历,比赛也参加的不多【拿的名次也一般般...】,准备面试是从今年一月初开始的。


时间 时间节点
2020/3/10 确认内推,base北京
2020/3/11 17:00-18:06 一面过,当场约二面
2020/3/13 17:00-17:32 二面过
2020/3/16 18:53-18:54 打电话约三面,确认base深圳
2020/3/18 15:00-16:00 三面【挂】
2020/3/19 19:45-21:31 一面过【另一个事业群...】
2020/3/24 16:06-17:21 二面过
2020/3/26 16:05-16:59 三面过

一面【66min】

1.自我介绍

2.我看你这简历上的技能咋都写的是Java的东西呢?安卓的项目做过,SSM的也做过,那你后台开发和Android倾向于哪一个?

主要准备的Java,Android没有具体学习过,但是对Android很感兴趣。

3.你咋选的实习地方北京,能来深圳实习嘛?

北京离家近点,去深圳也没问题,在哪工作不是问题。【极强的求生欲...】

4.说说项目,我看你上面有个项目做App的,有准备Android方面吗?

跟他解释了下为啥没准备Android的,然后开始叭叭我的第一个项目。

3.有些SQL比较慢,你咋办?为什么有的SQL这么慢,说说你觉得导致SQL很慢的原因。

大概说了说我的想法,然后问SQL很慢的时候,我说了类似于数据量大、没建立索引啊还有索引建立的不太好等等情况,然后面试官还积极引导我往更多的方面去思考。后来我发现我自己说的很乱,面试完了整理了一下思路,下一次面试的时候说的就比较流利了。

4.内存泄漏?OOM?什么情况会OOM?

说了说内存泄漏是什么,和OOM关系,然后列举了常见的OOM情况,我还跟他说了说使用Vector的时候遇到的OOM情况是怎么导致的。这个问题后来蘑菇街也问我了(蘑菇街面试官说我总结的还挺全hhh)。

5.用过多线程没?说说咋用的。线程池知道不?说说线程池的原理?

我说简单的用过,给他叭叭了下怎么用的。说线程池的地方,先说了说线程池的常用参数,每个参数什么意思,然后说原理。后来还想说的更细一点的时候,就问我别的问题了。

6.对ArrayList一个读操作,一个写操作,你用多线程咋实现。死锁你知道不?你怎么解决?

送分题,多说点,说的越多越好,面试官希望你能多方位的思考。

7.volatile知道吗?volatile的原子性?

简单说说volatile,举了例子结合字节码谈了谈我的理解。

8.Java中的锁知道哪些?

9.线程之间通信的方式?

10.JVM调优,说说你能从哪些方面着手?

没有问一些命令,重点考察的感觉是从哪些角度去思考问题,看过一些总结的博客,JVM那本书上也有介绍,建议多看看,多记忆,多理解,就没啥问题。

11.JVM和GC简单聊聊,结合JVM内存说说GC。

结合HotSpot说了说哪些线程共享以及大概用途,哪些不是线程共享,GC回收的对象是啥,为什么GC不回收本地方法栈、Java虚拟机栈那些,针对不同的特性,说了说年轻代和老年代对应的GC算法,还有方法区回收的条件。

12.HashMap和HastTable,HashMap安全?不安全用什么?hash()?HashTable是怎么实现安全的?

13.我对你的Java基础有了一个了解了,下面我们问问网络相关的知识,计算机网络应该学过吧,那说说TCP三次握手?第三次握手能不能去掉?UDP和TCP的区别?

说的挺详细的,顺带扯了一下包格式、握手的状态、还有SYN和ACK消耗序号,什么叫做无效的连接请求都解释了一遍。

14.你知道长连接吗,说说?为啥用长连接?

问这个问题好像是因为我说啥来着,我提到了长连接。然后问了我长连接之后,又顺势牵出来下一个问题。

15.HTTP1.0和HTTP2.0的区别?说说NIO?

NIO当时我准备的不充分,草草几句收尾,面试官笑笑。

16.HTTPS知道吗?说说SSL?

本来一开始想问我HTTPS和HTTP啥区别,我差点脱口而出了,结果换题了。

17.好了,网络聊到这里吧,我们说说算法之类的吧。跳台阶知道吧,怎么做啊。

剑指offer上的原题

18.一个链表,让你找最中间的节点,你怎么找?

说出来快慢指针,他就说okok了。

19.两个大文件,一个比较大,一个比较小,让你求交集,你怎么做?

一开始我好像听错题了,面试官强调是文件。在后来的面试里,我感觉跟面试官确认一下题意很关键,毕竟有时候信号不好,理解也有偏差。。。

20.那么,我们再问两个智力题吧,没有固定答案,不要限制自己的思路,想到啥说啥,一个粗细不一样的绳子,完整的烧完1个小时,你怎么让他烧15分钟(不一定烧完)。

结合从两头开始烧,半个小时烧完,我给他叭叭了一下,但具体怎么回答的忘了,面试官还给我讲了讲,然后就说嗯,好吧,这题就算你过了。。

21.一副全新的扑克牌,按顺序的,AAAA,2222,3333,这种,你怎么洗牌能洗散开?

说了几种,我把平时洗牌的绝学亮出来了,他还让我说,我想不出来了,他说,嗯好的,这个题算你过吧。

22.C++和C了解吗?

其实大一的时候学过C,不过我没吱声,因为我没复习...

23.面试官问我啥时候有空,约下一面?

下一面?因为我感觉这一面要是过了,难道不应该是另一个人面我,然后再跟我去沟通流程吗。面试官说写代码,还是我看着你,我(1丝丝凉意啊,菜鸡如我)。我说,不会是很难的题目吧?动态规划啥的,我不太会。稍微简单点的还是可以AC的,然后面试官说,这么自信啊?我去,当时我觉得,我给自己挖坑了。赶紧说,没没没,刷的题有限,就刷过一点点题。

24.闲聊,你有啥要问我的啊?问了好几个问题,问完了以后,面试官问我还有啥想问的,不想问问学习资源什么的吗??我就又问了好几个,然后跟我说了说面试的情况。就愉快的say GoodBye了。

问的问题(忘记顺序了):

1)我问:还有下一面吗?面试官给我说了说后面啥情况,如果下一面过了,那么三面不会再写算法题了估计。

2)面试官问我:目前有没有Offer?Java后台和Android你选一个,你做哪个?

3)我问:新人培养计划是啥?以及你们主要负责哪一块的业务?

4)面试官临时想到问我的:有人说Android端走下坡路,你怎么看啊?

5)给我说了说笔试是啥情况。

6)有没有什么学习资源啊?我如果走Android的话,我应该要去学习什么,或者怎么学习会好一些。

PS:因为我算法太烂了,我就问笔试对于能否进下一轮面试的作用大吗?他说,会占一部分,但是也不会全看算法。但是毕竟编程,代码水平不可以特别差吧,还是要有一定代码功底的。

总体感觉:

面试的问题不是很难,如果不会,面试官会引导你,他觉得我说的挺有意思的时候,还笑笑,这就让我更不紧张了。还有就是语速慢点,我可能太紧张了,叭叭的多还叭叭的快。

问问题的话,感觉还是尽量的去了解他们这个部门干啥,自己去了干啥比较重要,毕竟如果面的好,能拿offer,比较offer的话,好比较的。顺便也能看看自己对这个部门感兴趣吗。第一次面大厂,没啥经验,面试是个双向选择的过程,一定要了解对方做啥,自己是不是有兴趣等等方面。

以及回答问题的时候,尽量发散思维,结合实际的例子去说,这样会让面试官觉得你很棒,知道的很多,也有自己的积累和思考,如果回答一个问题照着网上看到的资料背下来,可能会让对方感觉是机械记忆,可能我回答问题的时候,尽可能把很多学习到的知识都串联起来讲出来了,所以面试官对我评价不错。一面没结束就直接约下一面,也是挺意外的。

二面【30+min】

周三下午五点一面的时候,周五下午五点二面,中间还面了个蘑菇街...虽然蘑菇街周四面完之后,已经预定凉一面了(没想到后来蘑菇街约下一面了...)。但是想了想,还是要坚强的准备笔试,万一过了呢,就离BAT又近了一步。

终于到了下午四点五十的时候,我,走进了牛客的面试房间。嗯,视频和话筒没啥问题。我喝着我的肥宅快乐水,等着面试官进来,面试官快5点的时候也进来了,问我调试好了吗。我说,好了,然后他让我点击哪儿哪儿的,开始共享屏幕,然后我靠,我点了之后,发现我chrome版本太低了,不行!我说,我浏览器版本有点低,抱歉,之前理解错您(调试)的意思了,我以为需要用摄像头和话筒,我没注意浏览器版本也有要求。然后我说,等我换个火狐浏览器。

3s换了浏览器我就开始准备写了,面试官说,用你最熟悉的语言写哈~一上来那个界面,main(),测试用例啥的得我自己写....

题目大概和leetcode 59题类似。大概如下,从右上角开始顺时针。剑指offer上也有类似的,反正就是刷题,刷题,刷题啊!!!

输入: 3 输出: [  [ 7, 8, 1 ],  [ 6, 9, 2 ],  [ 5, 4, 3 ] ]

几个while循环解决的,也没和我讨论看看有没有啥思路,写好了,我就喊他,我问他,需要我说说下咋做的吗,他说不用,run下,给我看看就行。然鹅我一开始写的时候就把main给删掉了...然后我就捣鼓了一下,run,边界溢出了,贼尴尬。我就调试,调试了一会,他说,给你放松下要求,去IDE里调试吧。我没搭理他,继续找问题,怎么可能这么容易屈服于IDE呢。

嘿嘿,终于,发现好几个变量写错了地方。改了改,run,成功AC,他说,你这个输出格式和我想的有点差距啊,我说好的呢,我再改改。AC。那边终于给我竖起了大拇指,然后面试官就说这个题还有变种的。。。。。

这里不得不说,我在复习算法的时候,主要看了b站yxc大佬的视频,对我帮助很大,还有怎么快速排错,他自己创办的AcWing也挺好用的。还有就是一面过了之后,马上跟我的内推人沟通了下,他也给了点建议,让我多刷leetcode medium,然后我就大概过了LeetCode 100题里面的常见的题目大概50多道,还有剑指offer里的60道左右(有些太难的,我觉得不会出就没看,之前也有刷过剑指offer,所以复习编程题还好)。笔试之前,把剑指offer上的题思路都顺了一遍,保证自己见到就有思路,能先和面试官交流下自己的思路。

笔试完了,跟内推人说了一声。过了一会,他跟我说,面试官对我评价不错,具体怎么样不能透露,反正就是很好,让我好好准备总监面吧。看到进复试了真的开心。

三面(60min)

大概是3.16晚上快七点的时候,深圳那边给我打电话,确认身份,说觉得我前几面表现还不错,想约下一面,然后问是否能来深圳实习,然后定了周三,跟我说下一面是技术面昂。不得不说,效率好快。

  1. 面试官上来又是一通确认身份,然后再次确认实习地有没有要求?深圳确实没啥问题是吧???
  2. 说说JVM的内存吧,他们都是干啥的?对象怎么创建?
  3. 每个区域都会发生怎样的异常啊,谁会发生OOM?
  4. 说说你对GC的认识吧。
  5. 知道引用计数法吗?引用计数法有啥优点吗?缺点呢?
  6. 可达性分析?
  7. 垃圾回收的几种算法?比较一下。
  8. 你觉得垃圾回收有什么缺点?
  9. 说说垃圾收集器?有没有想过你说的这些垃圾收集器为啥会有这些缺点呢?
关机垃圾回收和JVM问的很详细很详细,有的问题记不太清了...
  1. 我看你还会这个MySQL,那我们来问问MySQL中的锁。你知道有哪些锁吗?
  2. 行锁有啥用啊,相对于表锁?
  3. 知道MySQL主要的两种引擎吗,MySIAM和InnoDB的区别,使用场景?谁有表锁?
  4. 看你了解InnoDB,那你具体说说InnoDB吧。
  5. 面试官:我还问你点啥呢?我:那我说说我的哪个项目?开始叭叭我的项目。没叭叭完,让我停下了。问我这些优化思路是你自己想出来的吗,我说我们组两个人,思路是我想的。
  6. CPU爆满了,你觉得操作系统会干点啥事情?
蒙蔽...答的不对,面试官给我纠正了下...然后就下个题目了
  1. 那我们再说说链表和数组?比较一下它们有啥区别吧,然后再说说数组里面删除一个元素会怎么样,插入一个元素会怎么样,修改一个元素会怎么样,会发生什么事情?
这个地方说的不是很好...
  1. 平时用啥IDE?知道项目run之前干什么吗?
说了个编译和检查错误,但是面试官似乎还想让我说点东西,知识盲区.....后来跟同学交流了一下,应该是预编译、编译、汇编、链接。
  1. 编译期和运行期的区别?
  2. 指针了解吗?
  3. 十亿个数,一个数4字节,然后你怎么找最大的十个数?十亿个数,占多少内存?
  4. 操作系统中有哪些内存知道吗?平时用什么Windows还是Linux?
  5. 说说寄存器?
  6. 了解编译原理吗?知道计算机组成原理吗?平时都学什么课?
  7. 一个人给另一个人发微信消息,说说可能会发生哪些事情?
  8. 长连接短连接说说区别,你知道的哪些是长连接,哪些是短连接?TCP是短连接还是长连接吗?
  9. http是基于什么实现的?1.0和1.1什么区别?
  10. MTU知道吗?以太网帧知道不?MTU大小你知道不?MTU的组成你知道不?
  11. TCP和UDP是否可靠,为什么不可靠or为什么可靠?
  12. 如果客户端长时间不发消息,那服务器端咋办?【差不多这个意思...】
  13. 有GitHub吗?写博客吗?有自己搭建博客吗叭叭叭的【就是问你对技术热爱吗....】
他问我为什么这些东西不写简历上,我说太菜了不值一提...面试官说,那你也得写啊,说明你对技术热爱啊,面试官笑笑。
  1. 除了开发,你有没有考虑过别的就职意向?比如什么.....
当时回答的时候展现了极强的求生欲啊。后来感觉,面试官可能是想给我转其他岗位...嘤嘤嘤哭唧唧...
  1. 你现在还在做项目吗?你们那个项目会去给他们做安装运维啥的吗?
  2. 你有啥要问的吗?
  3. 实习时间和要求?一周五天,三个月。
  4. 实习生去了主要干啥?好像还是没怎么说具体的实习生干啥,就说他们部门是干啥的,做终端。
  5. 转正情况?不出什么幺蛾子,都能留下来。
  6. 啥时候有反馈啊?三天之内吧,还要给大boss看看。还有几个人没面呢。然后第二天中午给我挂掉了。接着被另一个事业群给捞起来了,后来大概了解到三面的面试官对于编译原理和操作系统挺注重的(可能部门要求高,然鹅我太菜了...),所以是挂掉的理由。。。

可能不同部门不同要求,比如我学长的同学去年面腾讯的时候,一个小时AC了Leetcode Medium 四五道编程题,三面总监面就随便聊聊天,包括我在其它面经贴也看到过三面聊聊天,然后我就放松了(因为反应之前表现还可),不过没想到三面面试官很严格,不过面试也有运气问题,希望大家不要放弃!!一定要好好准备,此外,感觉腾讯对编程和计算机基础真的很重视,在第一个事业群的面试过程中让我深深意识到我自己OS复习不全面和计算机网络深度不够,后面不断加强,才幸运的通过了其他的面试。

#腾讯暑期实习##腾讯##面经##安卓工程师##校招##实习#
全部评论
更好奇你的简历内容
1 回复 分享
发布于 2020-03-27 18:44
大佬,「两个大文件,一个比较大,一个比较小,让你求交集,你怎么做」这道题你怎么回答的?有什么要注意的点嘛
1 回复 分享
发布于 2020-04-01 18:50
楼主是哪个事业群啊
点赞 回复 分享
发布于 2020-04-05 21:09
那我们再说说链表和数组?比较一下它们有啥区别吧,然后再说说数组里面删除一个元素会怎么样,插入一个元素会怎么样,修改一个元素会怎么样,会发生什么事情?
点赞 回复 分享
发布于 2020-04-01 16:40
yxc是谁啊,B站上搜不到呀😥
点赞 回复 分享
发布于 2020-03-31 23:22
好文,顶!
点赞 回复 分享
发布于 2020-03-27 18:25

相关推荐

04-24 10:19
华为_HR
🔍 误区纠正现场:  传言1:”OD就是低配版华为,随时会被优化“  OD全称可是”华为Offshore Development“,和华为研发体系共用同一套技术栈、项目管理流程,甚至很多重点项目的攻坚组都是OD和正式员工混编作战。去年有位同学参与鸿蒙生态开发后,带着项目经历跳槽直接拿下大厂P7,这"低配"怕是有点凡尔赛?  传言2:”转正通道形同虚设,HR的嘴骗人的鬼“   OD员工中37%通过内部考核转华为正式编(悄悄说:有个00后卷王半年解锁该成就)。转正标准透明到能当镜子照:①通过可信专业级认证 ②年度绩效B+以上 ③通过三场技术答辩——难吗?但绝对有迹可循。  传言3:”福利待遇差几个level,过节礼盒都没份“   工卡刷食堂同价、年度体检同一家机构、夜宵券照样领,区别可能只有礼盒外包装多了个OD标识(但内容物绝对没缩水!)。至于16薪+项目奖+一线城市人才补贴的组合拳。🎁 被低估的隐藏资源:  “华为权限”:从任总讲话原声课程到AI算法大牛直播,内部学习平台日均点击量比B站还高    “技术大佬直通车”:新员工能直接预约20年经验Fellow级架构师做职业规划咨询  “简历镀金效应”:接触过20+离职OD同事,履历上带"H项目攻坚""亿级用户产品迭代"的,面试邀约率平均提升60%  OD当然不是完美选择,但绝对是肉眼可见的跳板——在这里,你能用2年时间接触到别人5年都碰不到的复杂场景,能和行业TOP10%的聪明人组队打怪。  “后记”:  Q:学历/履历有短板还能尝试吗?  A:OD的简历初筛比华为社招宽松1.5个Level(举个栗子:正式岗卡死的985/211,OD可放宽至优质一本+项目经历匹配)  有需要的宝子可以斯我!!!!#od##华为#
华为成长空间 560人发布 投递华为等公司9个岗位
点赞 评论 收藏
分享
04-29 00:09
已编辑
中山大学 前端工程师
1. 先说一下背景    19-23年,某中9遥感;23-26年,本校测绘;也算是”双非“科了    大学期间基本上啥也没做,大概学了测量平差、“这个遥感”、“那个遥感”,分成很多类,实验基本都是在外面测量,组织的实习也是去野外测量(各位都在找暑期找秋招的时候,我们在扛着三脚架和经纬仪戴着草帽测数据),本科就这么过去了...    后面读了个研,研究方向是“那个遥感”中的一类,用的python、传统机器学习那一套(随机森林之类的)...2. 为什么学前端    有点兴趣,相对简单好学,我的时间也决定我只能找前端了。    大二那会有个课叫“地理信息系统”,实验课用WebGIS那一套,写了一个简单的网页,做了一点空间分析    研一有个课叫“三维信息可视化”,主要讲摄影测量、激光雷达那些;在准备作业的时候,突发奇想,把网页元素按照层级提取出来,计算面积,做了一个点云,生成三维模型,贴个图,效果大概类似(本来打算放个图,结果找不到了),后面感觉太简单,就没弄了;当时大作业准备的给我们学院拍一些照片,用摄影测量的方法(其实就是现成的软件,点点点)重建一个三维模型,加了一些交互效果,老师反馈还不错;只用了三件套,写报告的时候其他组员把上面什么git、docker都加进去了,反正老师不会查,多堆一点技术,显得专业一点3. 后面怎么学的    研二开始陆陆续续抽空学前端,因为身边没转码的同学,所以都是在自学。其实我一直对自己学的符不符合公司招前端的正常要求存疑,但除了看一些视频、官网、书、别人写的项目,也没啥更好的选择了,不知道目标在哪,只能按照当前的节奏走一步看一步;刚入门是在B站看的三件套和尚硅谷的Vue,写了个商城和后台管理系统,用py写了个后端(写的真的烂,数据库也没有,用个json存的数据);后面又学了一点java,跟着写了个苍穹外卖...,也认识了一些后端的东西,没有目标,瞎学,对数据库、redis、消息队列、微服务、docker有个大概的印象,面试的时候如果能聊到,可能会加点分...,比如字节三面面试官问MinIO相关的,我就多少答了一点 4. 准备面试:    今年1月开始准备的,首先是项目,前面那俩商城和管理系统还是算了吧,重新写个...。网上找了一个网盘的项目,看了一眼流程和大概用了哪些库,然后把它关了,按照自己的想法写,他用elementplus我用acro design,他用本地目录存文件我用minio,洋洋洒洒写了将近20天,踩了一些坑,后面优化了一下分包,nginx用http2,租服务器配置域名,上线,算是一整套跑通了,这个就差不多了。    第二个是今年字节青训营的埋点项目,组内4个人,也花了快一个月的时间做,做的还凑合吧感觉(后端py写的,别提什么进阶要求高并发高可用,不过夹了点私货,自己写的一个工具,用起来还不错),时间已经来到3月中,就包装了一下,开始准备了。    准备面试的话,是不是忘了什么。没错,到现在为止,八股没专门背过,力扣刷了个位数...    后面开始挤时间狂补,八股大概都过了几遍,力扣快200,项目再包装了一下,就开始投了。    整体来说还行,基本上投了一两天就能约面,问的大多是复习过的。4.13投腾讯、4.14投字节,真的不知天高地厚...都说字节面评差会让冷静很久。虽然刚开始面的几次都过了,但还是觉得风险太高,后面又投了快手、美团、TME、B站,运气还不错,到写这个动态为止,面的9次技术面都过了(图1),(我工程化方面很弱,只做了简单的优化,经不起深挖,但好在面试官都基本没问,真神奇)。目前也是收到了两个offer,腾讯PCG和字节抖音电商。这俩可能更倾向于字节,其他还在流程的就不考虑了(一直听说美团体验好,29号体验一把)。    找暑期实习就告一段落了,15号首面腾讯,27号收到第一个offer,很知足了。    面试官可能会好奇为什么转码学前端,所以我就把那两个WebGIS实验和三维模型放到了自我介绍中,省的他们再问...。因为我没实习,所以只能揪着八股和项目问,感觉有些难为面试官了...    学院的实习就业分享会,基本每年都有,同学们会分享一些经历,比如小米、momenta以及其他不知名的小公司的实习,岗位一般是算法(很少)或产品经理(多),感觉腾讯字节和这些企业还是有一定gap的,期待在明年分享会上露一手(,大佬们可能都习以为常了,打工人而已,但在我们身边应该算很难得了)5. 一点感想    1. 转码很爽    2. 这些面试检验了我一直以来所学的东西,是可以像科班那样去找一个正常工作的,已经很知足了,不容易    3. 面的这些厂都不错,真的都想去试试啊,很羡慕那些有三五段实习的同学,经验丰富、能力强。算了没机会了,就让它成为一个遗憾吧...,不然没点深刻的记忆,老了就忘了    4.  希望实习可以多认识一些朋友    5.  面这么多次,只有腾讯的HR面是个小姐姐,其余的全是男的,真就这么绝缘吗?------------------------------------------------------------------车到山前自有路,没有就掘它开路,就这样了,溜了溜了#经验# #暑期# #转码# #前端#
点赞 评论 收藏
分享
评论
13
56
分享

创作者周榜

更多
牛客网
牛客企业服务