TextView的绘制流程 怎么处理换行
性能优化都做了哪些
Shareperference实现机制
插件化原理
ViewRootImpl都做了哪些事情
都有哪些window类型 内部是怎么处理window不同权限的
算法:
给定一个数N 如23121 给定一组数字A如{2,4,9}; 求由A中元素组成的、小于N的最大数,如小于23121的最大数为22999
涂鸦智能(现场面试两轮)
讲一下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
多态
多线程、各种锁机制
Android
性能优化、ANR、内存泄漏
Activity启动模式、启动流程
四大组件
Hanlder机制、事件分发、绘制流程
MVP、MVVM、插件化(hook)
跨进程通信、aidl、广播、ContentProvider
okhttp、retrofit、glide、eventbus底层原理
Kotlin
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 基础知识点
[外链图片转存中…(img-aq72ujjk-1645101300610)]
Java 基础知识点
[外链图片转存中…(img-xYSDq0C0-1645101300611)]
Android 源码相关分析
[外链图片转存中…(img-zqmWt6bB-1645101300612)]
常见的一些原理性问题
[外链图片转存中…(img-PLlKXkL9-1645101300612)]
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2020面试真题解析
[外链图片转存中…(img-oSyQkx6v-1645101300613)]