面试目录

基础

  1. 面向对象
  2. euqals hash
  3. string代码
  4. static
  5. final
  6. 设计模式,单例,策略,责任链,区别,使用,代码
  7. java的异常
  8. == euqals

集合

  1. hashmap,底层数据结构,put和get操作,Jdk7和jdk8
  2. hashmap 为什么扩容是2倍,hash函数,扩容机制
  3. hashmap 有没有其他的解决冲突的办法呢
  4. hashmap 如何在红黑树或者链表中查找
  5. 链表转成红黑树流程
  6. 红黑树的优势
  7. 在高并发大流量的情况下,hashMap有什么问题吗,会不会造成cpu达到100%?如果会,那是在哪一步可能会出现这个问题呢(插入、删除、查找、扩容)?
  8. 集合
  9. Queue和Stack 区别
  10. 线程安全的集合 安全的list
  11. HashSet 实现
  12. 单链表和数组删除各自中间元素的时间复杂度是多少,各自的适用场景

并发

  1. 生成线程的方法
  2. voliate 作用 内存语义 cpu的缓存一致性协议
  3. volitaile为什么保证不了原子性,可以保证可见性嘛?如何保证的(jvm的多线程的内存模型有关系)
  4. synchonize,对象锁和类锁,锁升级,锁降级,实现原理
  5. 在一个普通方法上加synchronize和在一个静态方法上加synchronize有什么区别(的的区别)?
  6. Synchronize的知道吗?moniter的实现机制呢,为什么加了Synchronzie关键字,就可以在多线程下是安全的(这个回答要从java对象的Object头来回答)
  7. 类锁和对象锁的区别呢?字节码的体现呢?
  8. ReentrantLock,AQS lock原理
  9. lock vs synchonize
  10. Lock的公平和非公平锁?
  11. Lock中存在锁升级嘛,他是可重入得嘛,那Synchronize是可重入得嘛,有没有锁升级的概念?
  12. 自旋锁、偏向锁、读写锁、重锁
  13. ConcurrentHashMap做到线程安全的呢?(CAS和锁)
  14. ConcurrentHashMap和HashTable的区别,1.7和1.8的区别
  15. 红黑树的transfer过程
  16. 线程池,参数,拒绝策略,类型,各个类型的区别,使用。线程池中的队列有哪些
  17. 定时执行的线程池实现原理
  18. 为什么线程池的创建最好通过new ThreadPoolExecutor来创建,而不推荐使用Executors创建线程池
  19. CAS原理,问题,使用场景
  20. atomicrefrence实现原理
  21. ThreadLocal
  22. Wait,yeild,stop,sleep、join、start、run的区别和如何使用?
  23. join fork
  24. 子线程等待主线程通知 实现方式
  25. 如何实现一个消费者和生产者的循环消费和生产呢?(有两种方式,一种是通过锁,lock或者Synchronize,还有一个是通过ArrayBlockingQueue实现)
  26. 如何实现线程之间的相互通信?代码?
  27. JUC包的了解,lockSupport
  28. 了解CountDownLatch么,CyclicBarrier的区别呢?
  29. 线程,进程,线程的生命周期,线程的状态
  30. java 对象头 属性和字段
  31. Unsafe类

数据结构\算法

数据结构:数组、链表、递归、队列、栈、堆、二叉树
查找算法:二叉树、红黑树、平衡二叉树,B树,跳表,散列
排序算法:插入,希尔,归并,桶,快速,冒泡,堆
算法思想:回溯、贪心、分治、动态规划

  1. 大根堆小根堆。
  2. 优先级队列
  3. 排序算法
  4. 计算时间复杂度
  5. 树:完全二叉树,平衡二叉树,是否相同,红黑树,二叉树
  6. lru缓存
  7. 朋友圈实现

JVM

  1. 内存模型
  2. new object() 申请的空间只能在java堆?
  3. 判断一个对象是否还活着
  4. gc
  5. G1回收算法
  6. Java的对象年龄 作用
  7. gc时new object() 怎么处理
  8. Young GC和full GC ,如何触发,频繁出现young GC 怎么办?
  9. 类加载过程
  10. 双亲委托模式
  11. 类加载器有哪些
  12. 加载一个string2的过程
  13. new String() string = “abc”;
  14. Jvm指令你知道哪些(jps,jstack,jinfo,jmap……),都有什么作用呢?
  15. Jvm参数你了解吗,知道多少说多少?
  16. 在实战中有进行过jvm调优嘛,怎么做的,

spring

使用原理
Spring、Spring MVC、 Mybatis、Ssm,springboot、Spring Cloud

  1. elastic-job 原理,xx-job和elastic-job区别,job调度方式
  2. eurake原理
  3. feign远程调用原理
  4. 限流算法
  5. OAuth2,jwt token
  6. 单立 懒加载
  7. transational实现 失效
  8. aop ioc 原理 应用场景 ioc的链
  9. Spring的依赖注入和切面
  10. 代理模式 实现 失效 jdk代理和cglib代理的区别
  11. springboot 和spring 和springMVC的区别
  12. Springmvc 启动流程
  13. springboot 自动配置原理,@springbootApplication,自动装配
  14. 拦截器和filter的区别
  15. springboot 载入第三方库的原理
  16. spring有什么注解
  17. spring 事务隔离级别 传播机制
  18. bean的生命周期
  19. 如何扩展一个bean的生命周期?
  20. bean的域
  21. applicationContext和beanfactory
  22. Autowire和Resource 的区别
  23. 如何解析在xml中定义的bean的。
  24. dubbo是怎么和spring结合的?
  25. 在spring的配置文件中加入component-scan标签,它就可以自动加载所有添加相应注解的java类,这个是怎么做到的呢,
  26. Spring boot 的核心配置文件有哪几个?他们的区别是什么?
  27. Spring boot的核心注解是那个?它主要由哪几个注解组成的?
  28. 如何理解spring boot的配置加载顺序?
  29. 怎么实现简化配置呢,比如现在SpringBoot整合Dubbo,他是怎么简化的呢

mysql

  1. 存储结构,存储单元
  2. B+树,优势
  3. 聚簇索引,非聚簇索引,覆盖索引,回表查询
  4. 最左前缀的原理
  5. 索引优化,建立,失效
  6. 事务,隔离级别,问题,解决
  7. innodb和myisam的区别
  8. Mysql的锁(表锁、行锁、间隙锁,读写锁,mvcc)使用场景
  9. 死锁:产生,避免
  10. 分库分表
  11. 主从
  12. 千万用户 数据库 服务器优化:哪些方面,sql,索引,机器
  13. group by使用 写sql
  14. 大数据量 limit如何优化
  15. jion on and 和join on where
  16. 数据库设计

linux

shell

计算机网络

http1.0 2.0 3.0
tcp、udp
一个http多少个tcp连接
高并发 tcp会如何

中间件

分布式,缓存,消息队列MQ,搜索等技术体系;
如NoSQL、Rpc、Redis、ZooKeeper、kafka、MQ、dubbo 等;

redis

  1. Redis的基础数据类型,使用,命令
  2. Reids数据结构 set,string的编码、list的编码、zset的编码
  3. redis和数据库一致性
  4. redis分布式锁,实现,多种方案 比较。红锁,zk实现分布式锁
  5. setnx问题 处理
  6. 缓存大key删除
  7. Redis的支持事务么
  8. 布隆过滤器了解吗,他的原理是什么呢?用的是一个hash还是多个hash
  9. 一致性hash
  10. Redis的通信协议
  11. Redis的持久化 ,rdb和aof的区别
  12. Aof瘦身知道么?如何瘦身
  13. Redis的拒绝策略 淘汰策略
  14. 哨兵模式
  15. Zset 跳表,跳表根红黑树时间复杂度都是logN,那为什么用跳表不用红黑树呢
  16. 跳表CRUD的时间复杂度是多少

kafka

  1. kafka消息丢失, 保证策略
  2. topic和partition 等名词解释
  3. isr和osr
  4. 高水位
  5. 分区器、拦截器、序列化器
  6. 消息的可靠性
  7. Kafka的事务
  8. kafka推送
  9. kafka多分区有序
  10. kafka高可用
  11. 消费端数据重复
  12. dubbo
  13. rabbitMq跟kafka 区别 ;那kafka高吞吐量
  14. 页缓存 零拷贝
  15. 幂等性

zk

a. 谈谈你对zookeeper的理解?
b. Zookeeper的节点类型你知道么?
c. Zookeeper的心跳机制呢?
d. Zookeeper的优势在哪?
e. 知道zookeeper的watch嘛?
f. Cap理论知道吗?
g. Paxos算法呢,了解吗?

Netty

  1. nio aio

服务器

Nginx、Tomcat调优;

其他

  1. Docker
  2. k8s

  3. git
  4. maven
  5. 大数据

  6. gradle和maven的区别

  7. helm优点

  8. 部署项目时如何分配空间,分配多大

  9. shell vim docker 调式python脚本命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值