2022Android十一位大厂面试题;134道真题;再也不怕面试了
Posted 初一十五啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022Android十一位大厂面试题;134道真题;再也不怕面试了相关的知识,希望对你有一定的参考价值。
前言
金九银十袭来,很多小伙伴面试的面试,跳槽的跳槽,实习的实习,都逃不过要面试的魔掌,前段时间闲暇时间搜罗了一共十一个大厂的面试题,当然也附带了答案,省的大家知道了面试题,又不知道答案,又要去搜索。
135道真题,但是目前答案只整理出来了50多道.具体完全整理完还需要2.3天时间。先来一起看看大厂都在面什么吧!
一丶百度篇
1.关于okhttp
和Retrofit
2.view
的绘制流程
3.触摸的传递机制
4.自定义view
主要重写那个方法
5.讲一下策略模式和状态模式的各自的特点和区别
6.说一下线程安全,线程同步的原子性,可见性和有序性
7.讲一下双重检查锁中的 volatile
关键字的作用
8.讲一下jvm
的堆栈
9.二叉树的层次遍历
10.自定义Navigator
切换fragment
11.Navigation
使用和源码剖析
12.volatile
的作用
二丶阿里篇
1.android
插件化.Hook
插件化框架 ( Hook Activity
启动流程 | Hook
点分析
2.Android
中Handler
处理Runnable
任务的常见方法
3.讲讲对Handler
的认识
4.求二叉树中两个节点之间的最大距离。
5.谈谈对Binder
的认识
6.动态代理实现
7.ASM
的原理
8.内存泄漏常见场景以及解决方案
9.touch
事件源码问题。
10.Android
自定义崩溃收集器捕获java
层和native
层崩溃异常
11.如果 int 的值大于了 3 需要提示
12.介绍下 flutter
的启动流程
13.介绍下 flutter
与 weex
的区别
14.组件化介绍一下
15.webview
与 js
交互的实现方法
16.介绍下 flutter_boost
的原理
三丶腾讯篇
1.讲一下MVVM, MVP,MVC
2.LiveData
在项目里的实践是怎样的,遇到了什么问题;有没有想过怎么去解决LiveData
膨胀的问题
3.Handler
,messageQueue
懂多少说多少,越详细越好
4.View
绘制的三个流程;onMeasure
中的measureSpec
,wrapContent
为什么会失效
5.内存泄漏是怎么避免的?LeakCanary
原理是什么,没看过源码的话现在想一下该怎么实现
6.项目里的webView
是如何优化加载速度的的
7.RecyclerView
和ScrollView
为什么不能一起使用
8.线程池用过吗,工作组件有哪些,OkHttp
用的是什么线程池,为什么要用
9.synchronized
锁升级的过程,为什么要设计这个锁升级
10.HashMap
的实现,如果要自己实现多线程安全的HashMap怎么操作
11.如果我想要自定义个任务有优先级的线程池,应该从哪些方面入手
12.为啥打开一个app
以后默认会显示白屏吗,为啥不是黑屏呢?
13.进程间通信方式有哪些,Binder
讲一下,和共享内存的区别是什么
14.动态代理和静态代理
15.数据结构和23种设计模式
16.RecyclerView
的性能优化怎么实践
17.堆排序实现
四丶京东篇
1.Activity
相关(生命周期、启动模式)
2.service
的意义
3.Handler
内存泄漏相关
4.OKhttp
源码相关
5.手写Singletion
五丶字节篇
1.弱引用与软引用,HashMap
的各个版本差异
2.什么是线程安全,如何实现线程安全 .常用的线程池种类,为什么要这么设计
3.单例常见的实现方式
4.DCL
为什么要加两层判断
5.ReentrantLock
如何实现公平锁的
6.线程池里面非核心线程什么时候会被回收
7.handler
机制,
8.AsyncTask
原理,
9.Activity
窗口层级,
10.binder
机制,
11.Activity
的启动流程,
12.mmap
,Intent
传输数据的限制,
13.ANR
原理,
14.RxJava
线程池的使用注意问题,
15.OKHTTP
拦截器
16.Activity
的启动流程
17.OKhttp
,Retrofit
18.布局优化,内存优化,网络优化,apk瘦身
19.kotlin
,
20.常用设计模式,
21.MVC,MVVM,MVP
22.main
方法执行之前发生了什么
六丶Bilibili篇
1.启动Activity
的方法
2.intent
可以传递的数据
3.Activity
和Fragment
的关系,生命周期,如何传递数据
4.项目用到了ViewModel
,说说看他的原理,为什么Fragment
可以获取到Activity
的ViewModel
5.你说到了内存泄露,有用过别的内存检查的工具吗,什么时候会发生内存泄露
6.说说进程和线程的理解
7.请说说看mvp
和mvvm
模式有什么区别吗
8.JVM
的内存结构是怎样的,哪个地方不会出现内存泄露
9.App
的启动流程
10.对Handler
的理解,handler
的内存泄露了解吗
七丶网易篇
1.线程进程
2.IPC
3.HashMap
4.创建线程三种方式
5.锁、volatile
6.动态代理
7.http
相关(https、响应码、请求方式)
8.Handler
9.Binder
10.view
绘制
八丶小米篇
1.Android
启动模式
2.不同启动模式活动跳转的生命周期
3.handler
机制
4.一个线程中几个handler
同时发送一个相同的消息,怎么分辨哪个消息是哪个handler
发送的
5.Android
服务的生命周期
6.Android
持久化存储的方式
7.Android
广播的分类和使用场景
8.自定义view
三个方法,每个方法都要覆写吗
9.java
怎么使得一个同步方法变为异步方法
10.synchnoized
作用
11.java
抽象类和接口的区别
12.抽象类的方法一定要继承吗
九丶携程
1.Glide
讲一讲。你为什么选择glide
2.Glide
三级缓存
3.Glide
怎么加载图片进Imageview
的
4.OKhttp
拦截器
5.get
和post
请求区别
6.项目里面内存优化
7.LeakCanary
8.Bitmap
高效缓存
9.项目中启动优化
10.渲染布局优化
11.ViewStub
懒加载
12.MVP
和MVVM
,谈谈你对它们的了解
13.设计模式项目里边有用过哪些
14.HTTPS
通信
15.JVM内存模型
16.怎么保证线程安全
17.垃圾回收gc
讲一讲
十丶小红书
1.Java
深拷贝和浅拷贝的区别
2.自定义View
是怎么绘制的?ViewGroup
呢
3.Handler
机制,
4.TCP
和UDP
的区别
十一丶爱奇艺
1.Android
布局嵌套深有什么问题
2.kotlin
协程
3.HashMap
原理
4.算法:手写快排
5.Activity
启动模式
6.Activity A → B
的生命周期在这四种启动模式下的状态
7.有序广播如何实现的按顺序收到广播
8.SharedPreferences
的格式
9.xml
解析方式
10.json
与xml
的区别,json
为什么比xml
更好
11.Android view
绘制流程
12.surfaceView
13.机型大小适配
14.ANR
什么时候出现,如何排查
15.Android
动画
16.startService
与bindService
的区别
17.Service
保活方式
18.java
泛型
19.重写equals
方法需要重写hashCode
方法吗
最后祝大家都能拿到满意的offer~ 不负青春、不负韶华!🤣
以上是关于2022Android十一位大厂面试题;134道真题;再也不怕面试了的主要内容,如果未能解决你的问题,请参考以下文章
12W字;2022最新Android11位大厂面试专题阿里篇