Android面经分享(猫眼、字节、最右),耗时大半个月,斩获一家Offer,Android开发面试基础

10.ViewModel怎么实现的

11.ViewModel是不是一直存在内存中(比如我开启了很多页面,或者ViewModel持有Bitmap这样的对象)

12.Android用过哪些布局

13.View的绘制会经过哪些(onMeasure,onLayout,onDrow)

14.让View重新绘制的方法(重绘时,onMeasure会调用几次)

15.onMeasure会执行几次

16.ConstraintLayout经常用到的属性

17.guaidline为什么不会在布局上显示

18.事件分发机制

19.Android中线程挂了进程会崩溃吗?

20.RxJava用过了哪些操作符

二面(技术面)

1.自我介绍

2.问了一些项目里面的东西,聊聊是干啥的

3.为什么要用MVVM

4.数据变更UI自动更新怎么实现的,用的DataBinding吗

5.什么是观察者模式,有什么好处

6.什么情况下用责任链模式?哪里遇到过?有什么好处?

7.怎么实现的责任链模式

8.为什么okHttp里面用到责任链模式

9.用户可以自定义多个拦截器吗

10.有网状态下的缓存和无网状态下的缓存一样吗

11.缓存是自己做的还是okhttp做的

12.可以手写一些sql吗

13.room是什么类型的数据库

14.room是怎么实现的,为什么不要写sql呢

15.livedata粘性事件

16.jetpack还用过哪些

17.navigation用来做什么

18.TCP UDP区别

19.为什么需要三次握手和四次挥手

三面 (非技术面)

2.字节跳动

一面

1.自我介绍+介绍项目

2.Activity生命周期,每个回调方法的作用是什么?

3.事件的分发机制

4.内存泄漏

5.遇到过滑动冲突吗?滑动冲突的解决方法

6.如何进行单元测试,如何保证App稳定 ?

7.说一说Android中如何查看一个对象的回收情况 ?

8.Apk的大小如何压缩 ?

9.如何通过Gradle配置多渠道包?

10.插件化、组件化、热修复原理分析

二面

1.深挖项目

2.Activity 生命周期,A启动B两个状态分别是什么 ,A的onStop一定会执行吗?

3.surfaceView 和普通view的区别

4.Bitmap高效加载* 线程之间的通信方式handler

5.内存泄漏

6.为什么handler可以线程切换

7.Rxjava map关键字的作用是什么

8.怎么获取view的宽高,如何确定值是准确的,说了view.post()补充viewTreeObserverOnGlobalLayoutListener

9.场景题:头条列表有多个不同的card,使用RecyclerView怎么解耦getViewType,获得不同的card

说了用个管理类映射,面试官说用注解、反射,依赖注入。

三面

1.项目深挖

2.ARouter路由原理

3.如何管理过多的路由表?

4.看视频的时候网络请求很慢怎么优化?

5.说说HTTP3.0有什么改进?

6.App上线后用户使用时卡顿怎么查看是什么原因?

3.最右APP

1.讲一下View的测绘流程

2.由View的绘制流程拓展到自定义View,讲如果你要自定义一个流式标签布局你会去设计哪些内容暴露给外界,以及会在上面提到的View的三个方法里做哪些相关的工作

3.讲一些Android手势事件处理

4.由上面的延伸,如果你要设计一个双击的监听listener,你会怎么设计

5.上面那个问题我讲了两种方案,选了其中一种详细讲了一下然后并在面试官的引导下作了相关的优化

6.讲一下你自己处理过的比较复杂的手势处理

7.如果让你自己做一个像ScrollView那样的View,你怎么设计

8.讲讲Android的消息机制

9.针对上面的机制,我们可不可以利用它的特性来检测ANR,讲一下方案

10.讲讲死锁的发生条件以及如何避免死锁

11.讲讲jvm内存模型

12.讲讲Java的四种引用类型,什么时候会被回收,项目里怎么用的

13.讲讲UDP和TCP的区别

14.讲讲HTTPS和HTTP的区别

15.HTTPS能抓包吗,既然能抓包它为什么还安全

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

分享一份NDK基础开发资料

详解:Linux网络虚拟化技术

分享内容包括不限于高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值