Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e16be97

Browse files
committed
Create 面试记录.md
1 parent c77d444 commit e16be97

File tree

1 file changed

+239
-0
lines changed

1 file changed

+239
-0
lines changed

‎blogs/Interview/面试记录.md

Lines changed: 239 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,239 @@
1+
---
2+
面试记录
3+
---
4+
5+
#### 比心一面
6+
7+
1. Gradle 自定义了哪些 Task?
8+
2. 编译优化做过哪些?
9+
3. HashMap 1.7/1.8 的变化
10+
4. ConcurrentHashMap
11+
5. Java 泛型擦除
12+
6. 项目中的性能优化
13+
7. Activity、Window、View 三者的关系
14+
8. 模块化/插件化
15+
9. 热修复的原理
16+
10. 项目中加载一张大图
17+
11. SurfaceView
18+
12. Kotlin 比 Java 好哪些?
19+
13. 自定义 LinearLayout 怎么做?
20+
14. WebView 加载优化?
21+
22+
#### 比心二面
23+
24+
聊项目。
25+
26+
#### 猫眼一面
27+
28+
1. 手百做了哪些东西,遇到哪些问题
29+
2. Android 端的通信机制(进程间通信、线程间通信方式)
30+
3. ANR 的处理方式
31+
32+
#### 猫眼二面
33+
34+
纯聊天〜
35+
36+
#### 哔哩哔哩一面
37+
38+
大多和个人项目有关,八股文基本上没咋问。
39+
40+
1. 项目相关
41+
2. 类加载器
42+
3. 大图加载
43+
4. //... 还有一些忘了
44+
45+
#### 哔哩哔哩二面
46+
47+
1. 项目相关
48+
2. Choreagrapher 相关
49+
2. View 绘制流程
50+
2. Window、Surface、View 的关系
51+
2. 硬件加速
52+
2. requestLayout、invalidate 的区别
53+
2. 事件分发、滑动冲突的处理
54+
2. 在 Activity 中获取 View 的宽高的方式,post 后为啥可以获取到 View 的宽高了呢
55+
2. LeakCanary 的实现原理
56+
2. Retrofit 的实现原理(不会
57+
2. 网络的强弱缓存(强缓存和协商缓存)
58+
2. Object 里面的一些方法
59+
2. 获取 Class 对象的几种方法
60+
2. 异常的理解,异常类之间的继承关系
61+
62+
#### 哔哩哔哩三面
63+
64+
1. 从零做一个业务,大致的流程是咋样的(背景、目标用户、业务指标、精细化运营)
65+
2. JVM 内存模型、内存区域、GC 算法、JVM 调参
66+
3. 系统或者厂商魔改导致的崩溃,该如何处理
67+
4. Dialog dismiss 加一个打点,怎么做?
68+
69+
#### 哔哩哔哩四面
70+
71+
1. 聊项目聊业务
72+
2. 搜索框输入,联想功能是怎么做的、网络请求是怎么对得上的
73+
3. 谈谈自己的优势
74+
4. 对 Kotlin 的理解
75+
76+
#### 蔚来一面
77+
78+
1. 项目相关
79+
2. Activity 中的三种动画,优缺点、适用场景
80+
3. 泛型的理解、桥接方法
81+
4. JVM 内存布局、GC
82+
5. HashMap、hashCode 和 equals 方法
83+
6. 原子类的实现原理
84+
7. Java 锁升级过程
85+
8. volatile 实现原理、内存屏障
86+
9. JVM 类加载过程、\<clinit> 方法
87+
10. View 渲染流程
88+
11. Activity 的启动流程
89+
12. Activity onCreate 里面获取 View 的宽高
90+
13. Handler、IdleHandler、Looper 为啥没有导致卡顿
91+
14. 卡顿处理、监控
92+
15. App 架构、组件化、组件间通信
93+
16. Kotlin 里的空安全怎么实现的
94+
17. Gradle Plugin
95+
18. 内存优化、内存泄露、LeakCanary
96+
19. 图片管理
97+
20. 项目中印象比较深刻的地方
98+
99+
#### 蔚来二面
100+
101+
1. 项目相关
102+
2. 卡顿
103+
3. 崩溃、ANR
104+
4. Gradle 构建优化
105+
5. MVC、MVP 的理解
106+
107+
#### 蔚来三面
108+
109+
1. 项目相关
110+
111+
#### 快手一面
112+
113+
1. 项目相关
114+
2. Gradle Plugin
115+
3. 事件分发
116+
4. View 设置 gone 的流程、requestLayout、invalidate
117+
5. 帧率的检测
118+
6. 跨 Activity 传 Bitmap、传大 Bitmap 怎么做
119+
7. 线程池的参数
120+
8. Binder
121+
9. Task 依赖关系,怎么判断存在循环依赖
122+
123+
#### 快手二面
124+
125+
1. 项目相关
126+
2. MotionEvent Action_CANCEL 怎么触发的?
127+
3. TCP 的慢启动
128+
4. HTTP 的协议、请求头里面有啥、keep-alive 的理解?
129+
5. 视频聊天会用到 HTTP 的哪些特性,数据流怎么传递到对端的?
130+
6. Android 签名(从我的博客里面岁随便挑的一篇)
131+
7. 大图的加载
132+
133+
#### 快手三面
134+
135+
1. 项目相关
136+
2. 快排的思路
137+
3. 树的广度优先遍历和深度优先遍历
138+
4. 图的遍历
139+
5. 完全二叉树插入一个节点继续保持完全二叉树的状态
140+
141+
#### 字节鸡架一面
142+
143+
1. 项目相关
144+
2. 内存泄露、LeakCanary、Android Profile
145+
3. FPS 的检测、卡顿优化
146+
4. 启动优化
147+
5. 遇到哪些 ANR 问题、ANR 监控、ANR 弹窗是哪个进程弹出来的呢?SharedPreferences 为啥会导致 ANR?那怎么去解决呢?
148+
6. Java 反射的实现原理
149+
7. 线程池原理、线程池设置线程的优先级
150+
8. synchronized 的实现原理
151+
9. JVM 对象内存布局
152+
10. View 绘制流程
153+
11. Binder 机制
154+
12. 插件化原理、插件和宿主的有重名类的怎么办?插件和宿主的有重名的 so 库怎么办?
155+
13. 二叉树的路径总和 ||
156+
157+
#### 字节鸡架二面
158+
159+
1. 热修复的实现原理
160+
2. 包体积优化、so 库的优化、代码层面的优化、Proguard 了解哪些参数配置
161+
3. Kotlin 的扩展方法,在字节码层面是怎么实现的?
162+
4. SP ANR 的原因?commit 和 apply 都会存在 ANR 嘛?异步 commit 会有啥问题?SP 写入的时候怎么保证不会有脏数据?怎么做到 xml 增量写入呢?提前写?
163+
5. Gradle 插件、ASM 用过吗?方法耗时怎么做的?如果抛异常了怎么样?系统方法的耗时怎么插桩,比如 context.getSP?
164+
6. 崩溃的解决?遇到哪些崩溃比较难解决的?
165+
7. synchronized 怎么使用?实现原理?死锁是怎么样的场景?
166+
8. 两个对象互相引用,会不会被回收?GCRoot 有哪些东西?GC 的时候方法没有执行完,那些虚拟机栈里面的局部变量表里面的对象算不算 GCRoot 对象?
167+
9. 不用 CountdownLatch 怎么来做线程同步?一个线程等待三个线程执行完成怎么做?优化空间?
168+
10. 两个线程交替打印奇偶数
169+
170+
#### 字节鸡架三面
171+
172+
1. 项目相关,自己做的项目的核心竞争力是什么?
173+
2. 矢量图 SVG 是怎么渲染的?
174+
3. 渲染流程、View 是怎么会绘制到屏幕上、硬件加速怎么实现的
175+
4. 绘制 View 倒影的框架,给一个 View 返回一个 View
176+
5. View Inflate 时间比较长,怎么去优化?过度绘制怎么监控,确定是哪些控件导致了过度绘制?x2c 原理?
177+
6. 多语言加载,用户选择对应的语言去下载然后更改 app 语言。
178+
7. 把本地的图片动态加载,怎么去设计?怎么确定哪些图片能做离线化哪些不行呢?
179+
8. 页面的动态化框架怎么去做?支持不同事件处理的动态化框架怎么做?
180+
9. 编译优化做了哪些东西?增量编译有哪些优化手段?
181+
10. OOM 怎么去优化、Handler 内存泄漏引用链是怎么样的,从哪里到哪里?内存抖动怎么监控?
182+
11. 图片的不同格式(png、jpeg)会影响 Bitmap 内存嘛?
183+
12. 有遇到比较难的 ANR 或者崩溃嘛?
184+
13. nativePoolOnce 这种 ANR 遇到过嘛?有啥解决思路。
185+
14. ViewGroup 遍历 View 时候发现数组越界,崩溃堆栈是系统堆栈,遇到这种问题怎么解决?
186+
15. 单链表快排
187+
188+
#### 字节飞书一面
189+
190+
1. 项目相关
191+
2. 硬件加速的实现原理
192+
3. View 三种动画的区别
193+
4. View 绘制流程
194+
5. Vsync 信号、Choreographer、FPS 的计算
195+
6. InputManagerService
196+
7. 泛型、协变和逆变
197+
8. 类加载机制、目的是什么、什么场景会导致类加载
198+
9. 三个线程交替打印数字
199+
10. 二叉树的右视图
200+
201+
#### 字节飞书二面
202+
203+
1. 项目相关
204+
2. 崩溃的处理、Native 崩溃的捕获
205+
3. 热修复
206+
4. ViewModel
207+
5. IOC
208+
6. 隐私 API 的检测
209+
210+
#### 字节 TikTok 一面
211+
212+
1. 项目相关
213+
2. 自定义 ViewPager 流程
214+
3. 事件分发
215+
4. 获取 View 的宽高,为啥 post 后就可以获取到宽高了
216+
5. 启动优化,ASM 插桩
217+
6. 二叉搜索树和双向链表
218+
219+
#### 字节 TikTok 二面
220+
221+
算法题:
222+
223+
```
224+
求最长数对链的长度
225+
226+
题目描述
227+
给出 n 个数对,数对的第二个数字一定比第一个数字大​
228+
对于(a, b) (c,d)两个数对,当 b<c 时,认为可形成一个数对链,记为 (a, b) -> (c,d)​
229+
230+
输入一个数对的集合,请输出能够形成的最长数对链的长度​
231+
232+
233+
例如:​
234+
输入:(1,2) (3,10) (4,7) (8, 10) (11,12) ​
235+
形成:(1,2) -> (4, 7) ->(8, 10)-> (11,12)​
236+
输出:4​
237+
238+
```
239+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /