- Java特性:1
- HashMap:5
- ConcurrentHashMap:4
- 乐观锁和悲观锁:1
- CAS原理:4
- 动态代理:2
- 静态代理:1
- 线程池的原理和运用:3
- AQS:1
- spring优化的自动配置:1
- Spring的AOP:3
- SpringBoot和SpringMVC区别在哪:1
- SpringMVC原理:1
- 单例模式:2
- 工厂模式:1
- StringBuilder和Stringbuffer:2
- ArrayList和LinkedList:1
- wait()和sleep()的区别:1
- NIO和BIO的区别:1
- java的异常:1
- jvm垃圾回收:2
- 可重入锁:1
- Jvm内存区域划分:2
- 程序计数器的作用:1
- 本地方法栈和虚拟机栈的区别:1
- Gc全流程:1
- Gc算法:1
- 一致性hash了解吗?:1
- 同步和异步的区别:1
- 非阻塞io和阻塞式io的区别:1
- Volatile:1
- 死锁:1
A a =new A()
的过程:1- 类加载机制:1
- OSGI加载:1
- 组合索引的字段顺序:2
- MySQL的MVCC:1
- B+树和B树:2
- 最左原则:1
- 数据库事务:1
- 数据库分库分表:1
- 数据库索引:1
- MySQL一条语句的执行过程,解析过程?查询缓存?怎么判断是否命中?:1
- 数据库两种存储引擎的区别:1
- 事务隔离:1
- 索引:1
- 数据库连接池用的哪个? 数据库连接是线程安全的吗?:1
- 缓存穿透、缓存击穿、缓存雪崩都指什么?三者有什么区别,和缓存失效有什么区别:1
- Redis分布式锁的实现:3
- redis的数据类型, 使用场景:1
- 怎么保证Redis的高可用:1
- redis的ttl指令底层实现,redis过期策略:1
- redis数据类型,跳表实现:1
- Setnx加锁的原理:1
- 怎么解除分布式锁?:1
- 布隆过滤器了解吗?:1
- 怎么实现lru?:
- Redis 线程安全,Redis为什么更快:1
- 线程和进程的区别:4
- 分段和分页内存管理:1
- 用户态和内核态的区别:1
- 自己实现一个二阶段提交, 如何设计:1
- 三次握手:2
- 四次分手:2
- TCP拥塞控制算法:1
- TCP和UDP的区别:1
- HTTPS的实现:2
- cookie和session:1
- 网络7层模型:1
- Ip寻址流程:1
- Tcp和udp的区别:1
- http如何保持连接:1
- 如果不用http,如何保持连接:1
- cookie和token的区别:1
- rpc、http、消息队列三者区别:1
- 访问一个网站的过程:1
- 加密算法:1
- 找出一个字符串的最大合法十进制数:1
- 环形打印数组:1
- 实现一个可以解决冲突的HashMap,用的是比较简陋的hash bucket + 双链表:1
- 判断单链表有没有环,找到环入口点:1
- 字符串反转:1
- 如何选择第k大的数:1
- 任务调度:1
- 用给定的数组实现队列,包含push和put方法,要求考虑多线程情况:1
- 堆排序:1
- 归并排序:
- 二叉树非递归前序遍历:2
- 三个数的最大乘积:1
- 一亿个数找出top 100:1
- 消息队列有什么好处:1
- linux内存回收策略:1