大厂面试:一个四年多经验程序员的BAT面经(字节、阿里、腾讯)

2022-01-25
阅读 6 分钟
1.7k
上次写了篇欢聚时代的面经,公众号后台有些读者反馈说看的意犹未尽,希望我尽快更新其他大厂的面经,这里先说声抱歉,不是我太懒,而是项目组刚好有个活动要赶在春节前上线,所以这几天经常加班,只能工作之余断断续续的编写,如果各位看管觉得本文排版看着有些凌乱的话,还望见谅!
封面图

面试官:你真的了解Redis分布式锁吗?

2021-01-15
阅读 6 分钟
29.8k
锁我们都知道,在程序中的作用就是同步工具,保证共享资源在同一时刻只能被一个线程访问,Java中的锁我们都很熟悉了,像synchronized 、Lock都是我们经常使用的,但是Java的锁只能保证单机的时候有效,分布式集群环境就无能为力了,这个时候我们就需要用到分布式锁。
封面图

一文教你看懂缓存击穿、穿透、雪崩、降级等

2020-12-09
阅读 5 分钟
2.8k
对于缓存,大家肯定都不陌生,不管是前端还是服务端开发,缓存几乎都是必不可少的优化方式之一。在实际生产环境中,缓存的使用规范也是一直备受重视的,如果使用的不好,很容易就遇到缓存击穿、雪崩等严重异常情景,从而给系统带来难以预料的灾害。

这才是图文并茂:我写了1万多字,就是为了让你了解AQS是怎么运行的

2020-11-18
阅读 18 分钟
1.6k
如果你想深入研究Java并发的话,那么AQS一定是绕不开的一块知识点,Java并发包很多的同步工具类底层都是基于AQS来实现的,比如我们工作中经常用的Lock工具ReentrantLock、栅栏CountDownLatch、信号量Semaphore等,而且关于AQS的知识点也是面试中经常考察的内容,所以,无论是为了更好的使用还是为了应付面试,深入学习AQ...

面试必问系列:悲观锁和乐观锁的那些事儿

2020-09-02
阅读 4 分钟
3.4k
通常情况下,我们可以用加锁的方式来保证线程安全,通过对共享资源 (也就是要读取的数据) 的加上"隔离的锁",使得多个线程执行的时候也不会互相影响,而悲观锁和乐观锁正是并发控制中较为常用的技术手段。

当面试官问我ArrayList和LinkedList哪个更占空间时,我这么答让他眼前一亮

2020-08-05
阅读 5 分钟
1.4k
对于这两个集合类,相信大家都不陌生,ArrayList可以说是日常开发中用的最多的工具类了,也是面试中几乎必问的,LinkedList可能用的少点,但大多数的面试也会有所涉及,尤其是关于这两者的比较可以说是家常便饭,所以,无论从使用上还是在面试的准备上,对于这两个类的知识点我们都要有足够的了解。

数据库索引的知识点,你所需要了解的都在这儿了

2020-07-21
阅读 7 分钟
7.7k
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。作为辅助查询的工具,合理的设计索引能很大程度上减轻db的查询压力,db我们都知道,是项目最核心也是最薄弱的地方,如果压力太大很容易产生故障,造成难以预计的影响。所以,不管是日常开发还是面试,索引这一块知识体系...

毕业三年了,我开始明白为什么说三年是一个坎

2020-07-09
阅读 4 分钟
1.3k
话题开始之前,请先容我哀悼一分钟。 1,2,3.................60,好了,一分钟过了,我又凑多了几个字。 毕业三年了 哈哈,开个玩笑。 之所以写这篇文章,也是最近才觉察到自己已经毕业三年了,从2017年6月30号算起,整整三年多的时光。时间不知不觉地飞逝,转眼之间,我也从一个青春少年转变成了一个老油条,额。。。...