Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

java interview

算法数据结构

海量数据如何去重?

算法

常见数据结构


java基础相关

hashcode相等两个类一定相等吗? equals 呢 相反呢?

线程池用过么?都有哪些参数? 底层如何实现?

synchized和lock什么区别? 底层细节

threadLocal是什么?底层如何实现?写一个例子

volitile的工作原理

Thread and lock

cas知道吗?如何实现?

四种写法,写一个单例模式

Integer x= 5, int y=5 比较x==y有哪些步骤

javaCore

动态代理

NIO

基于socket的网络编程

jMM

注解原理

数据库相关

使用mysql索引都有哪些原则?索引有什么数据结构? B+tree 和 B tree 什么区别

mysql 有哪些存储引擎?有什么区别?

设计高并发系统数据库层面应该怎么设计? 数据库锁有哪些类型?如何实现

数据库事物有哪些?

如何设计可以动态扩容的分库分表方案? 以及底层原理?常见的分库分表中间件?优缺点? 如何让未分库分表的数据动态切换到分库分表的系统上?分库分表解决主键问题?

分布式事物?如何实现?TCC? 网络出现问题,如何容错?

分布式寻址方式方式有哪些算法? 一致性hash算法


缓存相关

redis和 memcheched什么区别?为什么单线程的redis比多线程的memched效率高?

redis主要数据类型?分别那种场景下使用?

redis的主从复制怎么实现的?redis集群模式是如何实现的? redis的key是如何寻址的?

redis基本知识

缓存如何使用?缓存使用不当带来什么问题

热点数据处理


分布式架构相关

zk原理? zk的应用? paxos算法?

dubbo的实现过程?注册中心挂了可以继续通信么?dubbo常见配置有哪些

dubbo支持哪些序列化协议?hession?hession数据结构? pb知道么?为啥PB的��率是最高的?

dubbo负载均衡策略和高可用策略有哪些?动态代理策略呢?为什么要进行系统拆分啊? 拆分不用dubbo可以么? dubbo和thirft什么区别?

不用应用环境下的会话保持

自己实现RPC

如何设计一个高并发高可用系统?

如何限流?工程中怎么做的?说下具体实现?

负载均衡

如何降级?如何进行系统拆分,如何进行数据库拆分


消息相关

netty 可以干什么? NIO,BIO ,AIO 都是什么? 有什么区别

为什么使用消息队列?消息队列的优点和缺点?

如何保证消息队列的高可用?如何保证消息不被重复消费?

kafka,activemq,rabbitmq,rocketmq 都有什么优点和缺点?如何自己设计一个消息队列,该如何进行架构设计

rabbitMQ基础


jvm相关

jvm内存模型?用过哪些垃圾回收器?说说

线上频繁发生fullGC 如何处理? CPU使用频率过高怎么办?

类加载机制? 类加载器?分别加载哪些文件?手写一个

jvm优化?使用什么方法?达到什么效果**

排查过程


框架相关

spring 哪些机制?aop如何实现?IOC如何实现

springboot


网络相关

https

http的工作流程?越细节越好。 http1.0 1.1 1.2有哪些区别

tcp 三次握手,四层分手的工作流程〉为什么不是其他次数?

get/post区别

cookie 和 session

OAuth2.0

子网掩码

dump


其他

git原理

maven

-(maven)

常见加解密算法

系统设计


链接收集

About

java中高级面试指南

Resources

Stars

11 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors