40k*16 薪,五年Android开发4轮面试拿下腾讯 Offer !(附真题)

116 篇文章 0 订阅
91 篇文章 0 订阅

概述

感觉毕业后时间过得真快啊,从16年6月本科毕业入职了一家不大的公司,到现在快五年了,前段时间金三银四想着找一个新的工作,前前后后花了一个多月的时间复习以及面试,前几天拿到了腾讯的offer,想把面试经验分享给大家,祝想找工作的同学都能去自己心仪的公司!

腾讯一面

1.mmap + native 日志优化?

2.广播和 EventBus 的区别?

3.常用设计模式你了解哪些?

4.跨进程通信有哪些?

5.简单讲讲 binder 驱动吧?

6.跨进程传递大内存数据如何做?

7.说说 ConcurrentHashMap 的实现原理说下,初始化大小是多少?

8.启动优化怎么优化?

9.你写的 rxpay 和 rxlogin 具体怎么实现的?

10.kotlin + fullter 方面的

腾讯二面

1.单例设计模式都写写,静态内部类是怎么保证线程安全的?

2.synchronized 底层实现原理,ReentrantLock 公平锁与非公平锁。

3.主线程等待所有线程执行完毕,再执行某个特定任务怎么实现?原理和源码看过没?

4.自定义 view 的一般流程,要注意些什么如何优化,点击事件和长按时间分别是怎么实现的?

5.四种启动模式,在源码分析中的原理是怎样的?

6.讲讲 bindService 的过程,你当初是怎么优化后台服务进程的?

7.开发中你都用到了哪些设计模式?说说当时具体的场景。为什么你要用方法工厂,另外两种呢?

腾讯三面

1.讲讲 handler 的底层实现原理?

2.说说你做的日志记录优化?

3.你看过 binder 驱动的源码,说说他的内存映射过程,说说客户端等待服务端处理返回的流程,如果要跨进程传递大内存数据你具体会怎么做?简单写一写吧。

4.在公司做过哪些优化?

5.过程中遇到的一些最难解决的问题?

6.提到了动态修复替换加载 so ,那你知道怎么修复 class 吗?怎么修复资源呢?

7.还有什么要问的?

HR面

1.说一个印象最深的项目

2.项目中担任什么职责,完成了什么

3.遇到了什么困难,怎么解决的

4.有没有担任过leader,最重要的能力是什么

5.说一下自己的优势

6.你感觉自己的抗压能力强不强

7.对加班怎么看

8.有什么想问的

拿到offer

面试过了几天之后,我就收到HR的口头offer,第二天正式收到offer,刚好那天是我的生日,感觉就像做梦一样。

说一下我这次面试腾讯的感受吧,面试官都很友好,问的问题都挺专业。因为我面的是社招岗位,所以不会像招实习生问得特别简单,面试官更看重你对底层原理的了解,看重你的工作经验和思维方式,这是在平时的工作中积累的,而像算法、数据结构这些是可以花时间准备,这对有经验的人意义不大。

面试过程中,如果你能做到不卑不亢,保持自信的话,你基本已经成功一大半了,你要做的是全面展示你的实力,这样面试官才可能认可你。

总体来说,面试一般都是基于你的简历来进行的,一般先考察一些知识点,然后考察你知识体系的完备程度,接着会考察你的极限,最后还会考察一些软技能,比如你的学习能力、协作能力、沟通能力、分析解决未知问题的能力、抗压能力等。

面试复习路线,梳理知识,提升储备

自己的知识准备得怎么样,这直接决定了你能否顺利通过一、二、三面,所以在面试前来一个知识梳理,看需不需要提升自己的知识储备是很有必要的。

关于知识梳理,这里再分享一下我面试这段时间的复习路线:(以下体系的复习资料是我从各路大佬收集整理好的)

一、2020大厂面试高频知识点

一、图片
二、网络和安全机制
三、数据库
四、插件化、模块化、组件化、热修复、增量更新、Gradle
五、架构设计和设计模式
六、性能优化
七、Android Framework
八、Android优秀三方库源码


二、Jetpack架构组件从入门到精通

  • Android Jetpack - Navigation
  • Android Jetpack - Data Binding
  • Android Jetpack - ViewModel & LiveData
  • Android Jetpack - Room
  • Android Jetpack - Paging
  • Android Jetpack - WorkManger
  • Android Jetpack架构组件之Lifecycle
  • Android Jetpack Compose 最全上手指南

三、Framework精编内核解析

主要内容包含:

  • 深入解析Binder
  • 深入解析Handler
  • Dalvik VM 进程系统
  • 深入解析 WMS
  • PackagerManagerService

四、Kotlin强化实战(附Demo)

第一章 Kotlin入门教程
第二章 Kotlin 实战避坑指南
第三章 项目实战《Kotlin Jetpack 实战》

  • 从一个膜拜大神的 Demo 开始
  • Kotlin 写 Gradle 脚本是一种什么体验?
  • Kotlin 编程的三重境界
  • Kotlin 高阶函数
  • Kotlin 泛型
  • Kotlin 扩展
  • Kotlin 委托
  • 协程“不为人知”的调试技巧
  • 图解协程:suspend

五、Android设计思想解读开源框架

  • 热修复
  • 插件化
  • 组件化框架设计
  • 图片加载框架
  • 网络请求框架
  • RXJava 响应式编程框架设计
  • IOC 架构设计
  • Android架构组件Jetpack

六、NDK模块开发

  • NDK 模块开发
  • JNI 模块
  • Native 开发工具
  • Linux 编程
  • 底层图片处理
  • 音视频开发
  • 机器学习

七、高级UI,自定义View

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。

不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

大厂面试题整合

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

该准备准备,该刷题刷题,临时抱佛脚至少体现了你对面试重视是不是?等你题目刷到一定程度,你就会发现自己的能力有了一个量变到质变的提升。

下面是我在平时的工作中就开始慢慢整理的一些面试题,有兴趣的朋友可以看看:

小伙伴们如果有需要这份完整版的资料,扫描下方二维码即可【免费领取】!

如果你已经错过金三银四,那么现在学习久是一个特别好的时候,学几个月,增强内功(技术能力)和外功(面试经验)。在下半年的金九银十,找一个更棒的平台,搞定一个更好的职位,给自己一个更好的未来。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值