腾讯初试、复试、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

相关推荐

#软件开发2024笔面经# 岗位是腾讯PCG的30min自我介绍挑一个项目说一下在网页里输入一个网址到页面展示出来发生了哪些过程TCP和UDP的差别TCP有哪些机制保证它是可靠的你对死锁的理解?有什么办法来避免死锁?手撕:LFU算法和两两翻转链表 。用ACM模式来写,第一题没做过,没写出来,只做过LRU算法,面试前还在疯狂刷LRU,结果考了LFU,然后就跟面试官说不会,给我换了第二道题,因为我不太会ACM,就把核心代码给写了一下。感觉ACM还是得加强你对c++有了解过吗?你对栈和堆的了解?基于上一个问题,面试官还问了一个“它们的增长方向”,不了解你对进程和线程的了解?你对线程安全的理解?二叉树怎么展开成一个线性表,一般有哪些方法?前序遍历,中序遍历,后序遍历还有层序遍历a+b = c 是一种什么模式?这个我不知道他在问什么,他也没说清楚,就换了一个问题,所以到底是啥?内存泄漏产生的原理?有什么危害?写代码时什么场景会产生内存泄漏?内存泄漏的危害?对程序、用户有什么影响?你是偏向后端是吗?面试官说他们是偏向前端的?反问:您对我今天的表现进行评价?面试官说当场不好做评价(为什么不好评价?可能看不上我吧)您觉得我还有哪些地方可以学习的?面试官说可以学一下数据结构什么的,还有计网、操作系统实习生主要是做什么的?写代码,偏向底层,跟多媒体、流媒体打交道总结一下:这次的面试给我的感受很一般,跟我面美团的感受差远了,面试官口音特别重,有些问题都听不清,而且面试时还迟到了。这个面试是在晚上八点半开始的,他们加班是不是挺严重的?
点赞 评论 收藏
转发
7 40 评论
分享
牛客网
牛客企业服务