腾讯初试、复试、HR面经(已拿offer)

三天前刚面完HR 然后在牛客网上求offer 今天下午终于打来了offer call并且发了录取邮件 迫不及待来分享一下这次腾讯面试的经验。

初试(4.17电面)

电话在约定时间的9分钟以后才打过来 问题大致如下:

1. 为什么想要选择Android开发进行实习

答:略。

2. 简单介绍一下项目

答:略。

3. 平时有用到一些安卓的分析工具吗 比如一些性能分析之类的

答:知道Memory Monitor的内存分析工具;还有HierarchyView这种布局分析工具。

4. 项目里有用到这些吗 有关注内存泄漏问题吗

答:内存泄漏有关注,比如使用ContentResolver查询数据后,光标对象Cursor要进行close()回收;Bitmap在加载完成后要记得回收等。(顺带提到了Bitmap容易造成的OOM问题,并提出解决方案。)

5. 我看你项目里用到了热更新 知道他的原理吗

答:我用的腾讯Bugly 知道他是基于Tinker的热修复框架。(然后大概说了一下其原理:以baseApk为基准包 newApk是我们的热修复包 通过DexPatch合成新的dex 紧接着在运行时通过反射将合成的patch.dex插入到PatchClassLoader中的dexElements数组之前,以确保该类加载时优先加载补丁dex中的class。

6. 项目里好像用到了视频开发 是VideoView吗

答:一开始用的VideoView,后来觉得其无论是播放的响应还是读取的速度都不太理想,改用了七牛的框架(然后简单介绍了一下这个框架)。

7. 平时怎么学习的 有阅读源码的经验吗

答:看书看博客。有。(大致分析了一下Handler的源码和属性动画的启动源码)

8. 知道apk怎么缩减体积吗

答:应该用插件化去处理 但自己没有实践过。真正用到的可能是将图片压缩、用svg图代替png、启动代码混淆等。

之后介绍了一下他的部门 然后就说他们部门可能要会C++ 因为可能涉及到NDK开发 我说没问题 然后20分钟后官网显示复试

复试(4.19电面)

1. 自我介绍

2. 项目介绍

3. 说一下你觉得你的项目里觉得最有印象的一个

答:我觉得是XXX项目。(然后剖析了一下里面用的框架 并且谈到了使用Glide而不用Picasso的理由 然后又从其源码层面跟面试官分析了一波。)

4. 那你还有看过一些网络框架吗

答:项目里用到的是Retrofit+Rxjava+MVP的经典架构模式,所以有看过Retrofit的创建源码。(又从源码层面讲了一下流程。)

5. 有自己写过网络编程吗 比如TCP/UDP类似这种的编程

答:无。然后扯到了https。(面试官:能说一下https和http的区别吗 https如何实现加密的呢)=> 继续这个话题答 然后说了一下https的非对称加密以及加密过程的五次握手。

6. 那我们接下来考一下算法吧(内心一慌)有两个无序的整型数组 如何快速找出它们的交集

(思考了5秒以后就回答了使用Map 然后再和他分析了一下 怎么快速找出元素 如何扩容之类的。)

7. 平时怎么学习的?

答:看书看博客。(追问:觉得有效吗 或者如果你遇到不懂的怎么办。)=> 我说我会先记录下来 然后会找资料弄懂 之后顺带提到了学习Binder通信的过程。

答完以后感觉面试官挺满意 就说我这边没什么问题了 今天面试就到这儿吧。(晚上12点查看官网就变成了HR面)

HR面(4.23电面)

讲道理,那天原本晚上打算和女朋友看首映的。然后HR早上通知下午面试,结果最后晚上才打来,不过还好赶在首映之前面完了HR。问题的话也不是技术 参考价值不大。一面完官网就显示已完成 然后今天收到了offer call和offer mail了!然后再说一下,这次三轮面试下来发现面试官们都好温柔!!巨好的面试体验!!至少能让我慢慢放松下来 然后冷静地思考并且作答。

附:腾讯提前批面经(3.27三面总监挂)

问题汇总:

(初试)

1. 说一下MVC、MVP、MVVM架构模式。

2. Android系统层次结构

3. Activity活动的启动模式及应用场景

4. Android进程间通信的方式

5. ContentProvider的设计模式

6. 多线程的实现方法(synchronized和lock的异同)

7. 说一下View的事件分发机制

8. 说一下View从app启动到显示在界面上的绘制流程

9. 知道什么会引起ANR吗 怎么避免

10. 说一下你对TCP/IP的理解

11. 有做过app的性能优化吗

12. 说一下JAVA的GC以及内存模型

13. 快排的实现原理以及具体分析

14. 队列的数据结构(当时觉得怎么这么简单。。。没想到后面总监面才是boss)

(复试)

1. 项目介绍(电面,下面的都是总监的时候视频面)

2. 热更新原理(当时没复习好 这个答得不好)

3. https加密过程(同上)

4. 了解过Android最新技术吗 使用过吗(答曰Flutter 但是没用过 只知道是跨平台开发的 类比于Vue和React 看到总监脸上有点不耐烦就知道凉凉)

5. 操作系统中IO设备与CPU之间怎么通信(没答好)

6. JAVA GC的了解

7. 散列函数如何解决冲突

8. JAVA 内存模型 JAVA的类加载器 (然后就让我回去等通知。。当时就灰了 然后就灰溜溜去参加笔试了)


不过幸好现在自己也拿到了offer 还是很感谢腾讯给了我一个机会吧 毕竟第一次面试 总结经验也不错。
#腾讯##面经##实习##安卓工程师#
全部评论
今天面完二面的来沾沾喜气
1 回复
分享
发布于 2019-04-26 23:09
这么快
点赞 回复
分享
发布于 2019-04-26 22:08
春招专场
校招火热招聘中
官网直投
哇,大佬,我才刚面完复试,过来蹭一蹭
点赞 回复
分享
发布于 2019-04-26 22:09
哇。同学你哪个部门,这么快。真羡慕,我上周三面完hr,这周三状态已完成,周四内部状态已录用,目前还在苦等offer😢我也是安卓开发
点赞 回复
分享
发布于 2019-04-27 08:08
21届沾沾喜气!
点赞 回复
分享
发布于 2020-03-13 11:09
沾喜气
点赞 回复
分享
发布于 2021-04-21 17:01

相关推荐

7 40 评论
分享
牛客网
牛客企业服务