- TextView的绘制流程 怎么处理换行
- 性能优化都做了哪些
- Shareperference实现机制
- 插件化原理
- ViewRootImpl都做了哪些事情
- 都有哪些window类型 内部是怎么处理window不同权限的
- 算法:
涂鸦智能(现场面试两轮)
一面
- 讲一下Handler消息机制
- 项目中都做了哪些性能优化
- 讲一下绘制流程 View和ViewGroup的区别
- 事件分发流程是怎么执行的
- http的请求过程
- HashMap原理 put过程、扩容 1.7 1.8区别ConcurrentHashMap原理
- MQTT协议的特点 底层原理
- Activity启动流程 为什么zygote使用socket通信
- 插件化原理 遇到过什么问题 怎么解决的
- classLoader双亲机制
- 模块化通信 自己设计一套怎么实现
- tcp协议请求过程
等了有一个星期邮件通知感谢
阿里(三面挂)
初面(电话简单聊了二十分钟)
- 项目经历 主要做过哪些业务功能
- 性能优化
- 有遇到过哪些比较难的问题
- 讲一下MQTT协议
- 注解和反射原理
- HashMap内部实现原理 怎么hash的 怎么扩容 1.7、1.8什么区别 多线程会导致什么问题
- 项目中人脸识别用到了哪些业务场景
一面(电话面试四十分钟)
- 介绍自己做过的项目 处理了什么问题
- ListView和ScrollView的冲突怎么处理
- Handler怎么处理延时消息的 消息队列中死循环在native层都做了什么处理
- 为什么用单Activity多Fragment 怎么处理传参
- 同事代码可能导致内存泄漏和ANR 在代码层面怎么避免
- okhttp拦截器实现 连接池的复用策略 有实现http2.0吗 okhttp和volley的区别 从实现策略讲
- 讲一下eventbus实现原理
- glide的三级缓存是怎么执行的 最近使用和正在使用的缓存是怎么切换的 怎么处理bitmap复用的 如果自己实现一个该怎么处理
- 模块化怎么通信 底层怎么实现
- 介绍项目 自己处理过哪些项目痛点 怎么处理的
- 泛型编译期信息怎么储存的 什么情况下泛型会擦除
- MVP、MVVM优缺点
- 与web是怎么交互通信的 这个模块怎么设计的
- 接口 抽象类区别 可以new吗
- JDK8的流有用过吗 解决了什么问题 写过接口的默认实现吗
- 讲一下RN和Flutter的区别
- 算法:查找数组中大小为x的两个数(只有一对)
- 介绍做过的项目 处理过哪些问题
- http2.0什么特性 有哪些问题
- 设计模式了解多少 讲一下装饰模式
- MQTT协议解决了哪些问题 为什么
- flutter了解多少
- 平时都通过哪些方式学习和了解技术的
- 都有了解其他哪方面的技术
- 在最近的项目中学到了什么
- 职业发展方向
- 对于这项工作你有什么优势
第三天就收到邮件感谢了 -。-
阿里整体的面试难度不算太离谱,可能刚好都是比较擅长的,但面试周期较长,面到三面的时候已经多半个月了,有点力不从心;也有自己没有准备好的原因,有点懈怠了,三面问的问题大白话的偏多,奈何本人嘴笨,血压逐渐拉满,不过也算没有遗憾,深知能力有限,就酱吧~
整理了下其他面试中都涉及过的问题
网络
http请求、tcp握手回收、MQTT相关
数据结构
树、链表
Java
- GC、Collection、Map
- 多态
- 多线程、各种锁机制
- 性能优化、ANR、内存泄漏
- Activity启动模式、启动流程
- 四大组件
- Hanlder机制、事件分发、绘制流程
- MVP、MVVM、插件化(hook)
- 跨进程通信、aidl、广播、ContentProvider
- okhttp、retrofit、glide、eventbus底层原理
- kotlin反射、kotlin泛型
- 协成原理 await、async区别
- lateinit和by lazy区别
文章图片
很多技术细节,工作中用不太到,但是面试不得不去准备,还是要把基础打牢固,下面就分享一些我梳理的一些Android基础相关知识:关于一些基础知识的梳理
Java基础:
1.ArrayList、Linkedlist、Vector
2.BlockingQueue、CountDownLatch
3.Collections、Arrays
4.Exception与Error包结构,OOM,SOF的各种情况
5.HashCode作用
6.Java1.7、1.8新特性
7.Java NIO
8.Java基本数据类型以及相关操作
9.Java的四种引用,强弱软虚,用到的场景
10.Map、Set、List、Queue、Stack的特点与用法
11.Map相关子类区别
12.Object共有方法以及wait和sleep区别
13.Override与Overload区别
14.String相关内容学习
15.foreach与for循环效率对比
16.interface与abstract类的区别
17.static关键字
18.synchronized、lock、reentrantLock区别
19.不同清醒下return与finally的执行顺序
20.transient、volatile
21.反射原理及应用
22.反省特点以及类型转换
23.生产者消费者问题的五中实现
24.县城以及ThreadLocal
25.线程池的使用
26.解析XML的DOM与SAX以及PULL区别
27.锁的等级:方法锁、对象锁、类锁
28.面向对象的特征和含义以及多态实现原理
Android:
1.在AS中定义Gradle插件
2.Activity与Fragment生命周期
3.Activity卡顿原因
4.Activity启动过程
5.Activity四种启动模式与IntentFilter匹配规则
6.Activity的状态保存
7.Android5.0、6.0、7.0、8.0、9.0、10.0特性
8.Android内存优化方法
9.Android动画
总结
我最近从朋友那里收集到了2020-2021BAT 面试真题解析,内容很多也很系统,包含了很多内容:
Android 基础、Java 基础、Android 源码相关分析、常见的一些原理性问题
等等,可以很好地帮助大家深刻理解Android相关知识点的原理以及面试相关知识。这份资料把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节;还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
这里也分享给广大面试同胞们,希望每位程序猿们都能面试成功~
领取方式:点击直达GitHub
Android 基础知识点
文章图片
Java 基础知识点
文章图片
Android 源码相关分析
文章图片
常见的一些原理性问题
文章图片
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析
文章图片
%E9%AB%98%E8%96%AA%EF%BC%81.md)**
【程序员|Android面试反思(开发5年crud背景,惨遭字节阿里双挂,Android已死)】Android 基础知识点
[外链图片转存中…(img-aq72ujjk-1645101300610)]
Java 基础知识点
[外链图片转存中…(img-xYSDq0C0-1645101300611)]
Android 源码相关分析
[外链图片转存中…(img-zqmWt6bB-1645101300612)]
常见的一些原理性问题
[外链图片转存中…(img-PLlKXkL9-1645101300612)]
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析
[外链图片转存中…(img-oSyQkx6v-1645101300613)]
推荐阅读
- 大咖说|阿里巴巴闻佳(数字技术将引领我们走向节能型社会)
- java|用Compose实现手写春联效果
- 程序员|手把手教你用python来制作春联,是时候让你大展身手了
- Java|大厂Java面试过程中怎么谈项目经历,这样说显得你很牛逼
- JAVA人生|三流面试聊技术,二流面试聊框架,一流面试…
- opengl|直播换脸后,我们来搞搞微信QQ聊天换脸!| avatarify
- android|android coredump,coredump功能介绍
- 面试|初到深圳面试分享(下)
- android|android eclipse debug coredump,Android P 开启抓取Coredump功能