Java面试

技术相关

面试题及答案:

https://blog.youkuaiyun.com/u012888052/article/details/83504908#t141

MySql

事务的隔离级别

https://blog.youkuaiyun.com/hjy930226173/article/details/79445737

https://www.cnblogs.com/cjsblog/p/8365921.html【原理】

Next-Key Lock

https://www.cnblogs.com/zhoujinyi/p/3435982.html

http://hedengcheng.com/?p=771【更详细】

索引原理及优化

https://blog.youkuaiyun.com/forezp/article/details/88325144

多线程

高并发编程知识体系

https://blog.youkuaiyun.com/forezp/article/details/88052346

https://blog.youkuaiyun.com/everyonetimeismoney/article/details/84953762#t10

微服务

SpringCloud

微服务注册中心如何承载大型系统的千万级访问?

https://blog.youkuaiyun.com/forezp/article/details/83999947

Spring Cloud底层原理

https://blog.youkuaiyun.com/forezp/article/details/83999882

每秒上万并发下的Spring Cloud参数优化实战

https://blog.youkuaiyun.com/forezp/article/details/83999975

分布式

分布式事务原理

https://blog.youkuaiyun.com/forezp/article/details/84503386

NIO

https://blog.youkuaiyun.com/charjay_lin/article/details/81810922

同步、异步、阻塞、非阻塞

https://blog.youkuaiyun.com/forezp/article/details/84503413

Netty

https://www.jianshu.com/p/8c368129c658

算法

一致性hash

https://blog.youkuaiyun.com/bntX2jSQfEHy7/article/details/79549368

https://blog.youkuaiyun.com/leishenop/article/details/62246975【优秀】

https://blog.youkuaiyun.com/u010558660/article/details/52767218【代码实现】

https://www.cnblogs.com/heyanan/p/8630716.html【优秀】

Redis

redis的底层数据结构

https://www.cnblogs.com/ysocean/p/9080942.html

redis的单线程特性有什么优缺点?

https://blog.youkuaiyun.com/wanbf123/article/details/81773630#t4【优点】

对于每个命令的执行事件是有要求的。如果某个命令执行事件过长,会导致其他命令被阻塞,对于Redis这种高性能的服务来说是致命的。【缺点】

 

Redis是怎么保证事务的?

https://www.cnblogs.com/kyrin/p/5967620.html

Redis会将一个事务中的所有命令序列化,然后按顺序执行。Redis不可能在一个Redis事务的执行过程中插入执行另一个客户端发出的请求。这样便能保证Redis将这些命令作为一个单独的隔离操作执行。

> 在一个Redis事务中,Redis要么执行其中的所有命令,要么什么都不执行。因此,Redis事务能够保证原子性。EXEC命令会触发执行事务中的所有命令。因此,当某个客户端正在执行一次事务时,如果它在调用MULTI命令之前就从Redis服务端断开连接,那么就不会执行事务中的任何操作;相反,如果它在调用EXEC命令之后才从Redis服务端断开连接,那么就会执行事务中的所有操作。当Redis使用只增文件(AOF:Append-only File)时,Redis能够确保使用一个单独的write(2)系统调用,这样便能将事务写入磁盘。然而,如果Redis服务器宕机,或者系统管理员以某种方式停止Redis服务进程的运行,那么Redis很有可能只执行了事务中的一部分操作。Redis将会在重新启动时检查上述状态,然后退出运行,并且输出报错信息。使用redis-check-aof工具可以修复上述的只增文件,这个工具将会从上述文件中删除执行不完全的事务,这样Redis服务器才能再次启动。

从2.2版本开始,除了上述两项保证之外,Redis还能够以乐观锁的形式提供更多的保证,这种形式非常类似于“检查再设置”(CAS:Check And Set)操作。本文稍后会对Redis的乐观锁进行描述。

CAS

https://blog.youkuaiyun.com/v123411739/article/details/79561458

 

CAS是英文单词CompareAndSwap的缩写,中文意思是:比较并替换。CAS需要有3个操作数:内存地址V,旧的预期值A,即将要更新的目标值B。

CAS指令执行时,当且仅当内存地址V的值与预期值A相等时,将内存地址V的值修改为B,否则就什么都不做。整个比较并替换的操作是一个原子操作。

Volatile

http://ifeve.com/volatile/

https://blog.youkuaiyun.com/everyonetimeismoney/article/details/84953627#t5【优秀】

Synchronized

https://blog.youkuaiyun.com/javazejian/article/details/72828483

缺点:

  1. 当线程尝试获取锁的时候,如果获取不到锁会一直阻塞。
  2. 如果获取锁的线程进入休眠或者阻塞,除非当前线程异常,否则其他线程尝试获取锁必须一直等待。

ReentrantLock

https://blog.youkuaiyun.com/u011202334/article/details/73188404

https://blog.youkuaiyun.com/weixin_39910081/article/details/80147754

https://www.cnblogs.com/takumicx/p/9402021.html【优秀】

ThreadLocal

https://www.jianshu.com/p/377bb840802f

系统设计

如果让你来设计一个春晚抢红包架构,你会怎么设计?

你们怎么解决缓存击穿问题的?

https://blog.youkuaiyun.com/cainiao_user/article/details/78301563

1.Hytrix

https://blog.youkuaiyun.com/liuchuanhong1/article/details/73718794

Hytrix的隔离机制有哪些?Hytrix常见配置是哪些?

http://www.cnblogs.com/lexiaofei/p/7761982.html(隔离机制)

https://www.jianshu.com/p/3dfe6855e1c5(常见配置)

JVM调优

https://baijiahao.baidu.com/s?id=1617167971312758600&wfr=spider&for=pc

数据库调优

https://blog.youkuaiyun.com/baidu_37107022/article/details/77460464

Java基础

集合框架

HashMap

https://blog.youkuaiyun.com/mbshqqb/article/details/79799009

CurrenthashMap

在涉及到Java多线程开发时,如果我们使用HashMap可能会导致死锁问题,使用HashTable效率又不高。而ConcurrentHashMap既可以保持同步也可以提高并发效率,所以这个时候ConcurrentHashmap是我们最好的选择。

https://www.jianshu.com/p/c0642afe03e0

https://blog.youkuaiyun.com/elricboa/article/details/70199409【扩容】

ArrayList

https://blog.youkuaiyun.com/weixin_36378917/article/details/81812210

LinkedList

https://www.cnblogs.com/shenxiaoquan/p/6218191.html

Hashtable

http://www.imooc.com/article/details/id/23015

HashSet

https://www.cnblogs.com/dongying/p/4024519.html

CopyOnWrite

https://blog.youkuaiyun.com/xmzyjr123/article/details/86600122

1List Set 的区别

https://www.cnblogs.com/IvesHe/p/6108933.html


2HashSet 是如何保证不重复的

https://blog.youkuaiyun.com/ning109314/article/details/17354839

3HashMap 是线程安全的吗,为什么不是线程安全的?

https://blog.youkuaiyun.com/chisunhuang/article/details/79041656

 

https://mp.weixin.qq.com/s?__biz=MzI2NjA3NTc4Ng==&mid=2652079766&idx=1&sn=879783e0b0ebf11bf1a5767933d4e61f&chksm=f1748d73c6030465fe6b9b3fa7fc816d4704c91bfe46cb287aefccee459153d3287172d91d23&scene=21#wechat_redirect

 

如果判断链表有环

 

https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653189798&idx=1&sn=c35c259d0a4a26a2ee6205ad90d0b2e1&chksm=8c99047cbbee8d6a452fbb171133551553a825c83fb8b0cc66210dcda842c61157a07baaeb6b&scene=21#wechat_redirect


4HashMap 的扩容过程

 

https://blog.youkuaiyun.com/u014532901/article/details/78936283

 

https://blog.youkuaiyun.com/u010890358/article/details/80496144


5HashMap 1.7 1.8 区别,说明 1.8 做了哪些优化,如何优化的?

https://blog.youkuaiyun.com/qq_36520235/article/details/82417949


6final finally finalize

https://baijiahao.baidu.com/s?id=1611915475314303885&wfr=spider&for=pc


8Java反射


9Arrays.sort 实现原理和 Collection 实现原理

https://blog.youkuaiyun.com/u011410529/article/details/56668545


10LinkedHashMap的应用

https://blog.youkuaiyun.com/justloveyou_/article/details/71713781

 


11cloneable接口实现原理

https://blog.youkuaiyun.com/u013916933/article/details/51590332


12、异常分类以及处理机制

https://www.jianshu.com/p/7b8a24641050


13waitsleep的区别

https://blog.youkuaiyun.com/kangkanglou/article/details/82221301


14、数组在内存中如何分配

https://www.cnblogs.com/chenpi/p/5489732.html

Java 并发

1synchronized 的实现原理以及锁优化?

 

https://blog.youkuaiyun.com/thousa_ho/article/details/77992743


2volatile 的实现原理?

https://blog.youkuaiyun.com/jjavaboy/article/details/77164474


3Java 的信号灯?

https://blog.youkuaiyun.com/zbc1090549839/article/details/53389602


4synchronized 在静态方法和普通方法的区别?

https://www.cnblogs.com/guiqulai/articles/7342006.html


5、怎么实现所有线程在等待某个事件的发生才会去执行?

https://blog.youkuaiyun.com/jiyiqinlovexx/article/details/51236323


6CASCAS 有什么缺陷,如何解决?

https://blog.youkuaiyun.com/qq_41706675/article/details/82794915


7synchronized lock 有什么区别?

https://blog.youkuaiyun.com/z15732621582/article/details/81841415


8Hashtable 是怎么加锁的

http://www.cnblogs.com/wang-meng/p/5808006.html


9HashMap 的并发问题?

https://blog.youkuaiyun.com/bjwfm2011/article/details/81076736


10ConcurrenHashMap 介绍?1.8 中为什么要用红黑树?

java8不是用红黑树来管理hashmap,而是在hash值相同的情况下(且重复数量大于8),用红黑树来管理数据。 红黑树相当于排序数据。可以自动的使用二分法进行定位。性能较高。
一般情况下,hash值做的比较好的话基本上用不到红黑树。


11AQS

https://blog.youkuaiyun.com/zhangdong2012/article/details/79983404


12、如何检测死锁?怎么预防死锁?

https://www.cnblogs.com/lovedesy123/p/7752077.html(检测)

https://blog.youkuaiyun.com/qq_38663729/article/details/80058980(预防)


13Java 内存模型?

https://www.cnblogs.com/handsomeye/p/5442879.html


14、如何保证多线程下 i++ 结果正确?

 


15、线程池的种类,区别和使用场景?

https://blog.youkuaiyun.com/qq_42695926/article/details/83959620


16、分析线程池的实现原理和线程的调度过程?

https://blog.youkuaiyun.com/wzq6578702/article/details/68926320

 

 

 

 

 

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值