Skip to content

Commit 8cb69fb

Browse files
committed
Merge branch 'master' of github.com:Snailclimb/JavaGuide-Interview
2 parents 5ed123d + caf52ed commit 8cb69fb

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

docs/a-1校招社招面试指南.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ Guide 当时也参加了几场宣讲会。不过,我是在荆州上学,那
7979

8080
![](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-11/Xnip2020-03-11_20-24-32.jpg)
8181

82-
**上面思维导图大概涵盖了技术面试可能会设计的技术,但是你不需要把上面的每一个知识点都搞得很熟悉,要分清主次,对于自己不熟悉的技术不要写在简历上,对于自己简单了解的技术不要说自己熟练掌握!**
82+
**上面思维导图大概涵盖了技术面试可能会涉及的技术,但是你不需要把上面的每一个知识点都搞得很熟悉,要分清主次,对于自己不熟悉的技术不要写在简历上,对于自己简单了解的技术不要说自己熟练掌握!**
8383

8484
### 1.1.5 休闲着装即可
8585

docs/b-2Java集合.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public interface RandomAccess {
5555
}
5656
```
5757

58-
`ArrayList` 实现了 `RandomAccess` 接口, 而 `LinkedList` 没有实现。为什么呢?我觉得还是和底层数据结构有关!`ArrayList` 底层是数组,而 `LinkedList` 底层是链表。数组天然支持随机访问,时间复杂度为 O(1),所以称为快速随机访问。链表需要遍历到特定位置才能访问特定位置的元素,时间复杂度为 O(n),所以不支持快速随机访问。`ArrayList` 实现了 `RandomAccess` 接口,就表明了他具有快速随机访问功能。 `RandomAccess` 接口只是标识,并不是说 `ArrayList` 实现 `RandomAccess` 接口才具有快速随机访问功能的!
58+
`ArrayList` 实现了 `RandomAccess` 接口, 而 `LinkedList` 没有实现。为什么呢?我觉得还是和底层数据结构有关!`ArrayList` 底层是数组,而 `LinkedList` 底层是链表。数组天然支持随机访问,时间复杂度为 O(1),所以称为快速随机访问。链表需要遍历到特定位置才能访问特定位置的元素,时间复杂度为 O(n),所以不支持快速随机访问。`ArrayList` 实现了 `RandomAccess` 接口,就表明了他具有快速随机访问功能。 `RandomAccess` 接口只是标识,并不是说 `ArrayList` 实现 `RandomAccess` 接口才具有快速随机访问功能的!
5959

6060
### 2.2.3. ArrayList 与 Vector 区别呢?为什么要用Arraylist取代Vector呢?
6161

docs/d-1-mysql.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ select sql_no_cache count(*) from usr;
183183

184184
------
185185

186-
| 隔离级别 | 脏读 | 不可重复读 | 幻影读 |
186+
| 隔离级别 | 脏读 | 不可重复读 | 幻读 |
187187
| :--------------: | :--: | :--------: | :----: |
188188
| READ-UNCOMMITTED ||||
189189
| READ-COMMITTED | × |||
@@ -248,7 +248,7 @@ InnoDB 存储引擎在 **分布式事务** 的情况下一般会用到 **SERIALI
248248

249249
经典的数据库拆分方案,主库负责写,从库负责读;
250250

251-
#### 垂直分区
251+
#### 垂直拆分
252252

253253
**根据数据库里面数据表的相关性进行拆分。** 例如,用户表中既有用户的登录信息又有用户的基本信息,可以将用户表拆分成两个单独的表,甚至放到单独的库做分库。
254254

@@ -258,7 +258,7 @@ InnoDB 存储引擎在 **分布式事务** 的情况下一般会用到 **SERIALI
258258
- **垂直拆分的优点:** 可以使得列数据变小,在查询时减少读取的Block数,减少I/O次数。此外,垂直分区可以简化表的结构,易于维护。
259259
- **垂直拆分的缺点:** 主键会出现冗余,需要管理冗余列,并会引起Join操作,可以通过在应用层进行Join来解决。此外,垂直分区会让事务变得更加复杂;
260260

261-
#### 水平分区
261+
#### 水平拆分
262262

263263
**保持数据表结构不变,通过某种策略存储数据分片。这样每一片数据分散到不同的表或者库中,达到了分布式的目的。 水平拆分可以支撑非常大的数据量。**
264264

docs/d-2-redis.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -677,4 +677,4 @@ Cache Aside Pattern 中遇到写请求是这样的:更新 DB,然后直接删
677677
* 《Redis 设计与实现》
678678
* Redis 命令总结:http://Redisdoc.com/string/set.html
679679
* 通俗易懂的 Redis 数据结构基础教程:[https://juejin.im/post/5b53ee7e5188251aaa2d2e16](https://juejin.im/post/5b53ee7e5188251aaa2d2e16)
680-
* WHY Redis choose single thread (vs multi threads): [https://medium.com/@jychen7/sharing-redis-single-thread-vs-multi-threads-5870bd44d153](https://medium.com/@jychen7/sharing-redis-single-thread-vs-multi-threads-5870bd44d153)
680+
* WHY Redis choose single thread (vs multi threads): [https://medium.com/@jychen7/sharing-redis-single-thread-vs-multi-threads-5870bd44d153](https://medium.com/@jychen7/sharing-redis-single-thread-vs-multi-threads-5870bd44d153)

0 commit comments

Comments
 (0)