如何看待现在的Java面试变成八股文?

1000 道 Java 题面无表情的回答到:怪我喽?

2022 秋招即将来临,很多同学会问 Java 面试八股文有必要背吗?

我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。

国内的互联网面试,恐怕是现存的、最接近科举考试的制度。

简单来说,互联网IT行业的求职者太多了,如果考察的是清一溜的算法题和设计题,那么会要求面试官有极高的技术水平,还要花大量的时间成本和精力。

也许现行的八股文面试不是最优的解法,但的确是最符合当前国内IT环境的做法。

篇幅所限本文就只贴一下题目了,同学们可以自己先看看有哪些题是会的,不会的可以点击链接查看答案。

一、Java基础
1.JDK动态代理和CGLIB动态代理的区别

2.静态代理和动态代理的区别

3.ArrayList和LinkedList有什么区别?

4.重写和重载的区别

5.Java 8的接口新增了哪些特性?

6.抽象类和接口(Java7)的区别

7.为什么要有 hashCode

8.hashCode()介绍

9.hashCode 与 equals (重要)

10.Java中异常分为哪些种类?

11.内部类的分类有哪些

12.什么是内部类?

13.什么是方法的返回值?返回值的作用是什么?

14.静态方法和实例方法有何不同?

15.静态变量和实例变量区别

16.构造方法有哪些特性?

17.在Java中定义一个不做事且没有参数的构造方法的作用

18.break ,continue ,return 的区别及作用

19.static注意事项

20.static应用场景

21.static的独特之处

22.static存在的主要意义

23.this与super的区别

24.super关键字的用法

25.String类的常用方法有哪些?

26.char型变量中能否能不能存储一个中文汉字,为什么?

27.是否可以继承String类?

28.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对 不对?

29.构造器(constructor)是否可被重写(override)?

30.谈谈你对多态的理解?

31.Java中实现多态的机制是什么?

32.new一个对象的过程和clone一个对象的区别?

33.深克隆和浅克隆?

34.Java中为什么要用 clone?

35.Java 中操作字符串都有哪些类?它们之间有什么区别?

36.String str = “i” 和String str = new String(“1”)一样吗?

37.final finally finalize的区别

38.final 有什么用?

39.Java有哪些数据类型

40.什么是Java注释

41.用最有效率的方法计算2乘以8?

42.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

43.&和&&的区别?

44.Java有没有goto?

45.float f=3.4;是否正确?

46.访问修饰符public,private,protected,以及不写(默认)时的区别?

47.Java语言有哪些特点

48.什么是Java程序的主类?应用程序和小程序的主类有何不同?

49.说下面向对象四大特性

二、Java IO
1.IO多路复用的底层原理

2.缓冲区是什么意思?

3.通道是个什么意思?

4.同步、异步、阻塞、非堵塞

5.阻塞与非阻塞

6.同步与异步

7.什么是AIO

8.什么是NIO

9.什么是BIO

10.流一般需要不需要关闭,如果关闭的话在用什么方法,一般要在那个代码块里面关闭比较好,处理流是怎么关闭的,如果有多个流互相调用传入是怎么关闭的?

11.什么是节点流,什么是处理流,它们各有什么用处,处理流的创建有什么特征?

12.PrintStream、BufferedWriter、PrintWriter的比较?

13.字节流和字符流的区别?

14.如何实现 java 序列化?

15.什么是 java序列化?

16.Java 中有几种类型的流?

三、Java虚拟机
1.如何判断一个常量是废弃常量 ?

2.程序计数器为什么是私有的?

3.JRE、JDK、JVM 及 JIT 之间有什么不同?

4.JVM调优命令有哪些?

5.说一下 JVM 调优的工具?

6.介绍一下类文件结构吧!

7.如何判断一个类是无用的类?

8.Java会存在内存泄漏吗?请简单描述。

9.Minor Gc和Full GC 有什么不同呢?

10.说一下堆内存中对象的分配的基本策略

11.对象的访问定位有哪几种方式?

12.说一下Java对象的创建过程

13.Java 8 为什么要将永久代(PermGen)替换为元空间(MetaSpace)呢?

14.说一下堆和栈的区别

15.怎么打破双亲委派模型?

16.为什么需要双亲委派模式?

17.怎么打出线程栈信息?

18.说说你知道的几种主要的JVM参数

19.什么是happen-before原则?

20.什么是内存屏障?

21.什么是指令重排序?

22.JVM中一次完整的GC流程是怎样的,对象如何晋升到老年代?

23.JVM新生代中为什么要分为Eden和Survivor?

24.什么情况下会发生栈内存溢出?

25.Java对象的布局了解过吗?

26.Tomcat是怎么打破双亲委派机制的呢?

27.什么是双亲委派机制?

28.说下有哪些类加载器?

29.说说类加载的过程

30.ZGC收集器中的染色指针有什么用?

31.说说ZGC垃圾收集器的工作原理

32.说说G1垃圾收集器的工作原理

33.说说CMS垃圾收集器的工作原理

34.你了解过哪些垃圾收集器?

35.对象都是优先分配在年轻代上的吗?

36.GC Roots有哪些?

37.JVM怎么判断一个对象是不是要回收?

38.Java里有哪些引用类型?

39.你熟悉哪些垃圾收集算法?

40.字符串常量存放在哪个区域?

41.程序计数器有什么作用?

42.栈帧里面包含哪些东西?

四、Kafka
1.简述Follower副本消息同步的完整流程

2.JavaConsumer为什么采用单线程来获取消息?

3.Controller发生网络分区(NetworkPartitioning)时,Kafka会怎么样?

4.Kafka的哪些场景中使用了零拷贝(ZeroCopy)?

5.分区Leader选举策略有几种?

6.consumer_offsets是做什么用的?

7.Kafka能手动删除消息吗?

8.LEO、LSO、AR、ISR、HW都表示什么含义?

9.Leader总是-1,怎么破?

10.如何估算Kafka集群的机器数量?

11.Broker的HeapSize如何设置?

12.监控Kafka的框架都有哪些?

13.如何设置Kafka能接收的最大消息的大小?

14.阐述下Kafka中的领导者副本(LeaderReplica)和追随者副本(FollowerReplica)的区别

15.解释下Kafka中位移(offset)的作用

16.什么是消费者组?

17.kafka如何实现延迟队列?

18.Kafka中是怎么体现消息顺序性的?

19.为什么Kafka不支持读写分离?

20.Kafka中的消息是否会丢失和重复消费?

21.kafka的message格式是什么样的?

22.如果leadercrash时,ISR为空怎么办?

23.kafkaunclean配置代表啥?会对sparkstreaming消费有什么影响?

24.kafkaproducer打数据,ack为0,1,-1的时候代表啥,设置-1的时候,什么情况下,leader会认为一条消息commit了

25.kafkaproducer如何优化打入速度?

26.kafka为什么那么快?

27.什么情况下一个broker会从ISR中被踢出去?

28.kafkafollower如何与leader同步数据?

29.kafka中的zookeeper起到什么作用?可以不用zookeeper么?

30.kafka中的broker是干什么的?

31.Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么?

32.为什么要使用kafka?为什么要使用消息队列?

五、Linux
1.在Linux下如何指定dns服务器,来解析某个域名?

2.设置DNS需要修改哪个配置文件?

3.如何禁止服务器被ping?

4.用一条命令显示本机eth0网卡的IP地址,不显示其它字符?

5.whereis命令

6.service命令

7.shutdown命令

8.rpm命令

9.yum命令

10.export命令

11.unzip命令

12.bzip2命令

13.gzip命令

14.tar命令

15.把当前目录下所有后缀名为.txt的文件的权限修改为777?

16.xargs命令

17.sort命令

18.diff命令

19.vim命令

20.打印/etc/passwd的1到3行?

21.awk命令

22.打印/etc/ssh/sshd_config的第一百行?

23.用sed命令将指定的路径/usr/local/http替换成为/usr/src/local/http?

24.sed命令

25.grep命令

26.tail命令

27.cp命令

28.mv命令

29.rm命令

30.df命令

31.ls命令

32.在整个目录树下查找文件“core”,如发现则无需提示直接删除它们?

33.如何在home目录下找出120天之前被修改过的文件?

34.如何在var目录下找出90天之内未被访问过的文件?

35.如何在usr目录下找出大小超过10MB的文件?

36.find命令如何使用?

37.vim有几种工作模式?

六、Mybatis
1.Mybatis的一级、二级缓存

2.Mybatis都有哪些Executor执行器?它们之间的区别是什么?

3.Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?

4.Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别。

5.Mybatis全局配置文件中有哪些标签?分别代表什么意思?

6.说一下resultMap和resultType?

7.Mybatis动态SQL?

8.Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?

9.如何获取自动生成的(主)键值?

10.Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?

11.当实体类的属性名和表种字段名不一致怎么办?

12.#{}和${}的区别是什么?

13.Mybatis使用场合?

14.Mybatis的优缺点?

15.什么是Mybatis?

七、MySQL
1.解释MySQL外连接、内连接与自连接的区别

2.Mysql如何优化DISTINCT?

3.自增主键最大ID记录,MyISAM和InnoDB分别是如何存储的

4.MySQL主从复制原理流程

5.delete、truncate、drop区别

6.key和index的区别

7.MySQL优化

8.行级锁定的缺点

9.行级锁定的优点

10.在MVCC并发控制中,读操作可以分成哪几类?

11.MVVC了解过吗

12.表分区有什么好处?

13.表分区与分表的区别

14.什么是表分区?

15.什么情况下应不建或少建索引

16.说一说三个范式

17.什么是存储过程?有哪些优缺点?

18.关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?

19.超大分页怎么处理?

20.MySQL的binlog有有几种录入格式?分别有什么区别?

21.varchar(10)和int(10)代表什么含义?

22.如果要存储用户的密码散列,应该使用什么字段进行存储?

23.字段为什么要求定义为notnull?

24.主键使用自增ID还是UUID?

25.为什么要尽量设定一个主键?

26.在哪些情况下会发生针对该列创建了索引但是在查询的时候并没有使用呢?

27.MySQL有哪些日志,分别是什么用处?

28.MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义

29.MySQL的redo日志的刷盘时机

30.MySQL的redo日志和undo日志分别有什么用?

31.为什么InnoDB一定会生成主键?

32.InnoDB如果没有设置主键的话,它内部会怎么处理?

33.InnoDB删除某条记录后,内部会怎么处理?

34.InnoDB主键索引跟非主键索引在数据存储上的差异

35.InnoDB的数据是怎么存储的?

36.MyIsam的数据是怎么存储的?

37.InnoDB有聚簇索引吗?MyIsam呢?

38.什么是聚簇索引?

39.MySQL索引的类型

40.有了解过“回表”的概念吗?什么情况下会出现“回表”?

41.事务的隔离级别了解过吗?

42.说一下什么是事务的ACID属性吧

43.了解过哪些存储引擎?各有什么优缺点?

44.在建立索引的时候,都有哪些需要考虑的因素呢?

45.Hash索引和B+树索引有什么区别或者说优劣呢?

46.索引是个什么样的数据结构呢?

47.什么是索引?

八、Netty
1.Netty高性能体现在哪些方面?

2.说说Netty的执行流程?

3.Netty 支持哪些心跳类型设置?

4.Netty 发送消息有几种方式?

5.Netty 中有哪些重要组件?

6.Netty 的心跳机制了解么?

7.Netty 的零拷贝了解么?

8.Netty 的应用场景了解么?

9.为什么要用 Netty?

10.Netty 是什么?

11.UDP协议会有粘包拆包的问题吗?为什么?

12.了解过粘包拆包吗?为什么会出现粘包拆包?怎么处理粘包拆包?

13.什么是Reactor模型?Reactor的3种版本都知道吗?

九、RabbitMQ
1.vhost 是什么?起什么作用?

2.RabbitMQ 有几种广播类型?

3.要保证消息持久化成功的条件有哪些?

4.如何确保消息正确地发送至RabbitMQ?如何确保消息接收方消费了消息?

5.RabbitMQ有哪些重要的角色?

6.RabbitMQ的使用场景有哪些?

7.RabbitMQ 怎么避免消息丢失?

8.RabbitMQ 的消息是怎么发送的?

9.若cluster中拥有某个queue的owner node失效了,且该queue 被声明具有 durable属性,是否能够成功从其他node上重新声明该 queue ?

10.客户端连接到cluster中的任意node上是否都能正常工作?

11.在单node系统和多node构成的cluster系统中声明queue、exchange,以及进行 binding会有什么不同?

12.什么是元数据?元数据分为哪些类型?包括哪些内容?与cluster相关的元数据有哪 些?元数据是如何保存的?元数据在cluster中是如何分布的?

13.RabbitMQ有什么优缺点?

14.什么是RabbitMQ?为什么使用RabbitMQ?

15.死信队列和延迟队列的使用

16.如何避免消息重复投递或重复消费?

17.如何确保消息接收方消费了消息?

18.消息怎么路由?

19.消息如何分发?

20.消息基于什么传输?

十、Redis
1.Redis如何做内存优化?

2.Redis中的管道有什么用?

3.Redis和Redisson有什么关系?

4.Redis有哪些适合的场景?

5.MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都 是热点数据?

6.Redis 集群方案什么情况下会导致整个集群不可用?

7.Redis 集群方案应该怎么做?都有哪些方案?

8.Redis String的内部编码有哪些?

9.用Redis做延时队列,具体应该怎么实现?

10.Redis在集群种查找key的时候,是怎么定位到具体节点的?

11.Redis的持久化了解过吗?

12.Redis在什么情况下会触发key的回收?

13.Redis key的淘汰策略有哪些?

14.Redis事务机制了解过吗?

15.使用Redis统计网站的UV,应该怎么做?

16.Redis中的大key怎么处理?

17.Redis中的热key怎么处理?

18.缓存失效?缓存穿透?缓存雪崩?缓存并发?

19.Redis集群如何选择数据库?

20.Redis如何设置密码及验证密码?

21.为什么 Redis 需要把所有数据放到内存中?

22.Redis 官方为什么不提供 Windows 版本?

23.Redis是单线程还是多线程?

24.Redis为什么那么快?

25.一个字符串类型的值能存储最大容量是多少?

26.Redis的全称是什么?

27.Redis主要消耗什么物理资源?

28.Redis有哪些数据结构?

29.Redis相比memcached有哪些优势?

30.什么是Redis?简述它的优缺点?

十一、Spring
1.@Component和@Bean的区别是什么?

2.Spring框架中用到了哪些设计模式?

3.Spring MVC的工作原理了解嘛?

4.Spring中的bean生命周期了解过吗?

5.Bean 工厂和 Application contexts 有什么区别?

6.ApplicationContext通常的实现是什么?

7.Spring AOP 实现原理

8.有哪些不同类型的IOC(依赖注入)?

9.解释自动装配的各种模式?

10.Resource 是如何被查找、加载的?

11.BeanFactory和ApplicationContext有什么区别?

12.Spring 事务底层原理

13.Spring事务中有哪几种事务传播行为?

14.Spring事务中的隔离级别有哪几种?

15.Spring事务管理的方式有几种?

16.将一个类声明为Spring的bean的注解有哪些?

17.Spring中的单例bean的线程安全问题了解吗?

18.Spring中的bean的作用域有哪些?

19.谈谈自己对于Spring AOP的理解

20.Spring AOP和AspectJ AOP有什么区别?

21.谈谈自己对于Spring IOC的理解

22.Spring Boot手动装配有哪几种方式?

23.Spring是怎么解决循环依赖的?

24.Spring由哪些模块组成?

25.使用Spring框架的好处是什么?

26.什么是spring?

十二、Spring Boot
1.SpringBoot 2.X有哪些新特性?与1.X有什么区别?

2.保护SpringBoot应用有哪些方法?

3.Spring Boot的核心注解是哪些?他由哪几个注解组成的?

4.Spring Boot中如何解决跨域问题?

5.比较一下Spring Security和Shiro各自的优缺点?

6.如何实现Spring Boot应用程序的安全性?

7.什么是Swagger?你用Spring Boot实现了吗?

8.如何使用配置文件通过 Spring Boot 配置特定环境的配置?

9.如何使用 Spring Boot 部署到不同的服务器?

10.如何在 Spring Boot 中添加通用的 JS 代码?

11.什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?

12.为什么我们需要 spring-boot-maven-plugin?

13.Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗?

14.怎么使用 Maven 来构建一个 SpringBoot 程序?

15.如何在 Spring Boot 中禁用 Actuator 端点安全性?

16.Spring Boot 中的监视器是什么?

17.如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?

18.Spring 和 SpringBoot 有什么不同?

19.创建一个 Spring Boot Project 的最简单的方法是什么?

20.Spring Boot 有哪些优点?

21.什么是springboot

十三、Spring Cloud
1.Eureka和zookeeper都可以提供服务注册与发现的功能,两者的区别

2.SpringCloud Config可以实现实时刷新吗?

3.什么是 Spring Cloud Bus?

4.如何实现动态Zuul网关路由转发?

5.ZuulFilter有哪些常用方法?

6.什么是服务雪崩效应?

7.什么是服务熔断?什么是服务降级?

8.什么是zuul?

9.说说Eureka的自我保护机制?

10.Eureka的工作原理?

11.什么是Netflix Feign?它的优点是什么?

12.什么是Hystrix断路器?我们需要它吗?

13.什么是Hystrix?它如何实现容错?

14.Spring Cloud由哪些组件组成?

15.服务注册和发现是什么意思?Spring Cloud如何实现?

16.使用Spring Cloud有什么优势?

17.什么是 Spring Cloud?

十四、Zookeeper
1.zookeeper负载均衡和nginx负载均衡区别

2.Zookeeper 和 Dubbo 的关系?

3.Zookeeper的典型应用场景

4.ZAB和Paxos算法的联系与区别?

5.Zookeeper对节点的watch监听通知是永久的吗?为什么不是永久的?

6.集群支持动态添加机器吗?

7.集群最少要几台机器,集群规则是怎样的?

8.Zookeeper有哪几种部署模式?

9.zk节点宕机如何处理?

10.分布式集群中为什么会有Master?

11.zookeeper是如何保证事务的顺序一致性的?

12.数据同步

13.Zookeeper 下 Server工作状态

14.服务器角色

15.ACL权限控制机制

16.服务端处理Watcher实现

17.客户端注册Watcher实现

18.Zookeeper Watcher 机制

19.Zookeeper文件系统

20.ZooKeeper提供了什么?

21.ZooKeeper是什么?

22.Zookeeper怎么实现服务注册?

23.Zookeeper Leader选举过程是怎样的?

24.Zookeeper是怎么保证数据一致性的?

25.Zookeeper怎么实现分布式锁?

26.了解过Zookeeper的ZAB协议吗?

27.Zookeeper有哪些节点类型?

十五、多线程
1.你将如何使用thread dump?你将如何分析Thread dump?

2.在Java中Lock接口比synchronized块的优势是什么?你需要实现一个高效的缓存, 它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现 它?

3.高并发、任务执行时间短的业务怎样使用线程池?并发不高、任务执行时间长的业务 怎样使用线程池?并发高、业务执行时间长的业务怎样使用线程池?

4.同步方法和同步块,哪个是更好的选择?

5.Hashtable的size()方法中明明只有一条语句”return count”,为什么还要做同步?

6.Semaphore有什么作用?

7.单例模式的线程安全性

8.Java中用到的线程调度算法是什么?

9.Java中如何获取到线程dump文件

10.什么是线程安全?

11.线程池都有哪几种工作队列?

12.说一说几种常见的线程池及适用场景?

13.synchronized 关键字和 volatile 关键字的区别

14.什么是线程的阻塞问题?如何解决?

15.什么是线程的饥饿问题?如何解决?

16.什么是活锁?

17.什么是线程安全问题?如何解决?

18.为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法?

19.什么是线程死锁?如何避免死锁?

20.并发与并行的区别?

21.虚拟机栈和本地方法栈为什么是私有的?

22.程序计数器为什么是私有的?

23.什么是线程和进程?

24.什么是多线程的上下文切换?

25.什么是自旋锁?

26.AQS支持几种同步方式?

27.什么是AQS?

28.CAS的问题

29.什么是CAS?

30.CyclicBarrier和CountDownLatch的区别

31.线程池的优点?

32.创建线程有哪些方式?

33.并发编程三要素?

34.什么是悲观锁?什么是乐观锁?

35.Java里的线程有哪些状态?

36.如何避免“伪共享”?

37.“伪共享”出现的原因是什么?

38.了解过什么是“伪共享”吗?

39.说一下synchronized锁升级过程

40.ReentrantLock与synchronized的区别

41.说说synchronized的实现原理

42.sleep() 方法和 wait() 方法的区别和共同点?

43.Thread.sleep(0)的作用是什么?

十六、分布式
1.SOA和微服务架构有哪些区别?

2.BASE理论了解过吗?

3.如何保障请求执行顺序

4.分布式系统的接口幂等性设计

5.如何设计一个秒杀系统?

6.如何防止表单重复提交?

7.分布式 Session了解过吗?如何实现?

8.正向代理和反向代理的区别

9.负载均衡的实现方案有哪些?

10.了解过哪些负载均衡算法?

11.TCC了解过吗?

12.什么是二阶段提交(2PC)?什么是三阶段提交(3PC)?

13.分布式事务了解过吗?

14.什么是CAP定理?

15.雪花算法了解过吗?

十七、计算机网络
1.HTTP协议包括哪些请求?

2.在浏览器中输入url地址到显示主页的过程

3.拥塞控制

4.滑动窗口和流量控制

5.TCP为什么要四次挥手

6.TCP建立连接时为什么要传回 SYN

7.为什么TCP要三次握手

8.说一说TCP的三次握手

9.简述ICMP、TFTP、HTTP、NAT、DHCP协议

10.简述ARP地址解析协议工作原理

11.简述IP地址的分类?

12.说一说TCP、IP四层模型

13.你能说一说OSI七层模型?

14.有哪些私有(保留)地址?

15.TCP对应的协议和UDP对应的协议

16.请简述TCP和UDP的区别

十八、设计模式
1.Spring 当中用到了哪些设计模式?

2.Dubbo 源码使用了哪些设计模式?

3.举出一个例子,在这种情况你会更倾向于使用抽象类,而不是接口?

4.工厂模式与抽象工厂模式的区别?

5.给我一个符合开闭原则的设计模式的例子?

6.OOP中的组合、聚合和关联有什么区别?

7.适配器模式和代理模式之间有什么不同?

8.适配器模式与装饰器模式有什么区别?

9.适配器模式是什么?什么时候使用?

10.简述一下你了解的 Java 设计模式(总结)

11.说说你所熟悉或听说过的 j2ee 中的几种常用模式?

12.设计模式的类型

13.Java怎么实现单例模式?

14.设计模式六大原则?

15.接口是什么?为什么要使用接口而不是直接使用具体类?

十九、数据结构与算法
1.谈一谈,id全局唯一且自增,如何实现?

2.什么是B+树?

3.什么是B树?

4.为什么要设计后缀表达式,有什么好处?

5.请你讲讲LRU算法的实现原理?

6.如何在一个1到100的整数数组中找到丢失的数字?

7.二分查找了解过吗?

8.数组和链表的区别

9.介绍一下,堆排序的原理是什么?

10.如何知道二叉树的深度?

11.TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何 比较元素?

12.什么是算法?

二十、微服务
1.作为服务注册中心,Eureka比Zookeeper好在哪里?

2.Eureka的基本架构是什么?

3.什么是 Eureka服务注册与发现?

4.你所知道的微服务技术栈有哪些?

5.什么是服务熔断,什么是服务降级

6.请谈谈对SpringBoot 和SpringCloud的理解

7.微服务之间是如何通讯的?

8.什么是微服务?

9.Spring Cloud 和dubbo的区别?

10.服务注册和发现是什么意思?Spring Cloud 如何实现?

11.Spring Cloud 解决了哪些问题?

12.单片,SOA 和微服务架构有什么区别?

13.微服务有哪些特点?

14.微服务有哪些优缺点?

二十一、消息队列
1.为什么使用消息队列?

2.如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万 消息持续积压几小时怎么解决?

3.各种MQ的比较

4.消息队列积压怎么办

5.消息如何保证幂等性

6.Kafka的消息是有序的吗?如果保证Kafka消息的顺序性?

7.使用消息队列,如果处理重复消息?

8.使用消息队列,怎么确保消息不丢失?

9.消息队列的弊端有哪些?

10.消息队列有哪些应用场景?

二十二、Docker
1.在 非 Linux 操作系统平台上如何运行 Docker ?

2.在 Windows 系统上可以运行原生的 Docker 容器吗?

3.什么是孤儿卷及如何删除它?

4.在使用 Docker 技术的产品中如何监控其运行

5.Docker 群(Swarm)是什么

6.如何临时退出一个正在交互的容器的终端,而不终止它?

7.如何清理批量后台停止的容器?

8.如何停止所有正在运行的容器?

9.Docker Image 和 Docker Layer (层) 有什么不同

10.有什么方法确定一个 Docker 容器运行状态

11.如何使用 Docker 技术创建与环境无关的容器系统?

12.启动nginx容器(随机端口映射),并挂载本地文件目录到容器html的命令?

13.容器与主机之间的数据拷贝命令?

14.Docker的常用命令?

15.DockerFile中的命令COPY和ADD命令有什么区别?

16.DockerFile中最常见的指定是什么?

17.Docker容器有几种状态

18.什么是Docker容器

19.什么是Docker镜像

20.Docker与虚拟机有何不同

21.什么是Docker

二十三、Dubbo
1.说说 Dubbo 服务暴露的过程。

2.Dubbo的管理控制台能做什么?

3.Dubbo必须依赖的包有哪些?

4.服务读写推荐的容错策略是怎样的?

5.如何解决服务调用链过长的问题?

6.服务提供者能实现失效踢出是什么原理?

7.Dubbo如何优雅停机?

8.Dubbo支持服务降级吗?

9.Dubbo支持分布式事务吗?

10.Dubbo服务之间的调用是阻塞的吗?

11.Dubbo可以对结果进行缓存吗?

12.服务上线怎么兼容旧版本?

13.当一个服务接口有多种实现时怎么做?

14.Dubbo支持服务多协议吗?

15.注册了多个同一样的服务,如果测试指定的某一个服务呢?

16.Dubbo默认使用的是什么通信框架,还有别的选择吗?

17.Dubbo推荐使用什么序列化框架,你知道的还有哪些?

18.Dubbo启动时如果依赖的服务不可用会怎样?

19.在 Provider 上可以配置的 Consumer 端的属性有哪些?

20.Dubbo有哪几种配置方式?

21.Dubbo默认使用什么注册中心,还有别的选择吗?

22.Dubbo内置了哪几种服务容器?

23.Dubbo需要 Web 容器吗?

24.dubbo都支持什么协议,推荐用哪种?

25.Dubbo 和 Dubbox 有什么区别?

26.为什么要用Dubbo?

27.Dubbo是什么?

二十四、Elasticsearch
1.如何监控 Elasticsearch 集群状态?

2.在并发情况下,Elasticsearch 如果保证读写一致?

3.对于 GC 方面,在使用 Elasticsearch 时要注意什么?

4.在 Elasticsearch 中,是怎么根据一个词找到对应的倒排索引的?

5.客户端在和集群连接时,如何选择特定的节点执行请求?

6.Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

7.说说Elasticsearch常用的调优手段?

8.Elasticsearch中的分析器是什么?

9.Elasticsearch中的倒排索引是什么?

10.什么是ElasticSearch?

11.ElasticSearch中的分片是什么?

12.ElasticSearch中的集群、节点、索引、文档、类型是什么?

13.在并发情况下,Elasticsearch如果保证读写一致?

14.Elasticsearch对于大数据量(上亿量级)的聚合如何实现?

15.详细描述一下Elasticsearch搜索的过程

16.详细描述一下Elasticsearch更新和删除文档的过程

17.详细描述一下Elasticsearch索引文档的过程。

18.Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选 了另一个master,怎么办?

19.Elasticsearch是如何实现Master选举的?

20.为什么要使用Elasticsearch?

二十五、Java8
1.Lambda表达式的参数列表与Lambda箭头运算符有何不同?

2.是什么使JavaSE8优于其他?

3.什么是Java8中的MetaSpace?它与PermGen Space有何不同?

4.Lambda函数的优点

5.什么是Lambda表达式?

6.解释Java8中间操作与终端操作?

7.hashMap原理,java8做的改变

8.Java8中的可选项是什么?

9.Java8支持函数编程是什么意思?

10.抽象类和接口的异同?

11.Java 8 新特性简介

二十六、Java高并发
1.ForkJoin框架

2.Java里的阻塞队列

3.AQS

4.CopyOnWriteArrayList

5.Nginx多进程模型是如何实现高并发的?

6.常见的同步工具类?

7.常见的并发容器?

8.死锁的避免与诊断?

9.什么是锁顺序死锁?

10.数据库死锁?

11.什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing)?

12.有三个线程T1,T2,T3,怎么确保它们按顺序执行?

13.如何测试并发量?

14.Java中Unsafe类详解

15.进程调度算法

16.同步和异步有何不同,在什么情况下分别使用它们?举例说明

17.线程间如何通讯

18.进程间如何通讯

19.什么是线程

20.什么是进程

二十七、Java集合
1.Iterator是什么?

2.为何Map接口不继承Collection接口?

3.为何Collection不从Cloneable和Serializable接口继承?

4.集合框架中的泛型有什么优点?

5.Java集合框架是什么?说出一些集合框架的优点?

6.谈谈对HashMap 构造方法中初始容量、加载因子的理解

7.HashMap 默认的初始化长度是多少?

8.ArrayList和LinkedList的区别?

9.ArrayList 和 Vector 的区别?

10.ConcurrentHashMap实现原理

11.ConcurrentHashMap和Hashtable的区别?

12.HashMap与HashTable的区别?

13.常见的集合底层实现

14.常见的集合有哪些?

15.Comparable和Comparator接口有何区别?

16.Collections类是什么?

17.队列和栈是什么,列出它们的区别?

18.BlockingQueue是什么?

19.哪些集合类提供对元素的随机访问?

20.如何决定选用HashMap还是TreeMap?

21.我们能否使用任何类作为Map的key?

22.hashCode()和equals()方法有何重要性?

23.fail-fast与fail-safe有什么区别?

24.Iterater和ListIterator之间有什么区别?

25.Enumeration和Iterator接口的区别?

二十八、Jenkins
1.什么是Blue Ocean

2.什么是jenkinsfile?为什么使用jenkinsfile

3.如何通过Jenkins克隆Git存储库?

4.如何在Jenkins中创建备份和复制文件?

5.可以使用哪些命令手动启动Jenkins?

6.Jenkins的优势是什么?

7.在Jenkins中, 什么是持续集成?

8.Maven, Ant和Jenkins有什么区别?

9.什么是Jenkins?

二十九、Kubernetes
1.Replica Set 和 Replication Controller之间有什么区别?

2.什么是Container资源监控?

3.您对云控制器管理器有何了解?

4.什么是Ingress网络,它是如何工作的?

5.你对Kubernetes的负载均衡器有什么了解?

6.什么是etcd?

7.你能简要介绍一下Kubernetes控制管理器吗?

8.kube-apiserver和kube-scheduler的作用是什么?

9.您能否介绍一下Kubernetes中主节点的工作情况?

10.你对Kube-proxy有什么了解?

11.Kubernetes Architecture的不同组件有哪些?

12.什么是Kubelet?

13.什么是Kubectl?

14.什么是Minikube?

15.什么是Heapster?

16.什么是Google容器引擎?

17.Kubernetes如何简化容器化部署?

18.什么是Container Orchestration?

19.Kubernetes与Docker有什么关系?

20.什么是Kubernetes?

三十、Maven
1.依赖的解析机制

2.Maven依赖冲突

3.什么是 Maven 插件?

4.如何解决 jar 冲突?

5.Maven 依赖原则?

6.对于一个多模块项目,如果管理项目依赖的版本?

7.Maven 版本规则?

8.Maven 有哪些优点和缺点

9.Maven 常用命令

10.Maven 规约是什么?

11.你们项目为什么选用 Maven 进行构建?

12.Maven的⽣命周期

13.Maven的坐标和依赖

14.使用Maven好处

15.maven是什么?

三十一、MongoDB
1.为什么MongoDB的数据文件很大?

2.如何理解MongoDB中的GridFS机制,MongoDB为何使用GridFS来存储文件?

3.在MongoDB中什么是副本集

4.MongoDB支持存储过程吗?如果支持的话,怎么用?

5.在MongoDb中什么是索引

6.“ObjectID”有哪些部分组成

7.为什么在MongoDB中使用”Object ID”数据类型

8.为什么要在MongoDB中用”Regular Expression”数据类型

9.为什么要在MongoDB中用”Code”数据类型

10.MongoDB支持哪些数据类型

11.MongoDB支持主键外键关系吗

12.为什么要在MongoDB中使用分析器

13.MongoDB中的分片什么意思

14.MongoDB中的命名空间是什么意思?

15.为什么用MOngoDB?

16.在哪些场景使用MongoDB

17.什么是文档(记录)

18.什么是集合(表)?

19.MongoDB的优势有哪些

20.什么是MongoDB?

三十二、Mycat
1.你们项目中分片的实现方式是什么?

2.配置文件不会变多,配置的节点主机会变多?

3.Mycat的在分库分表之后,它是怎么支持联表查询的?

4.Mycat中全局ID方案有哪些?程序自定义全局ID的方案有哪些?

5.进行库表拆分时,拆分规则怎么取舍?

6.mycat分库可以分成100个库吗?

7.搭建mycat的核心配置文件有哪些?

8.在项目组中,切分后的库从哪里而来?

9.什么叫混合切分

10.Mycat是什么?

三十三、Nginx
1.请陈述stub_status和sub_filter指令的作用是什么?

2.Nginx 常用配置?

3.Nginx 常用命令?

4.fastcgi 与 cgi 的区别?

5.ngx_http_upstream_module的作用是什么?

6.在Nginx中如何在URL中保留双斜线?

7.在Nginx中,如何使用未定义的服务器名称来阻止处理请求?

8.请解释Nginx如何处理HTTP请求。

9.列举Nginx服务器的最佳用途。

10.使用“反向代理服务器”的优点是什么?

11.Nginx应用场景?

12.Nginx的优缺点?

13.Nginx怎么处理请求的?

14.为什么要用Nginx?

15.请解释一下什么是 Nginx ?

三十四、RocketMQ
1.任何一台Broker突然宕机了怎么办?

2.再说说RocketMQ 是如何保证数据的高容错性的?

3.高吞吐量下如何优化生产者和消费者的性能?

4.如果让你来动手实现一个分布式消息中间件,整体架构你会如何设计实现?

5.RocketMQ在分布式事务支持这块机制的底层原理?

6.rocketMQ的消息堆积如何处理

7.RocketMQ如何保证消息不丢失?

8.如何让RocketMQ保证消息的顺序消费?

9.消息重复消费如何解决?

10.RocketMQ如何做负载均衡?

11.broker如何处理拉取请求的?

12.消费消息是push还是pull?

13.RocketMQ消费模式有几种?

14.RocketMQ Broker中的消息被消费后会立即删除吗?

15.RocketMQ中的Topic和JMS的queue有什么区别?

三十五、Servlet
1.init(ServletConfig)方法与异常

2.init(ServletConfig)方法执行次数

3.如何读取Servlet的初始化参数?

4.如何配置Servlet的初始化参数?

5.Request对象的主要方法

6.四种会话跟踪技术

7.页面间对象传递的方法

8.什么情况下调用doGet()和doPost()?

9.Servlet的基本架构

10.Servlet和JSP的区别?

11.Servlet的生命周期?

三十六、Shiro
1.Session Manager 会话管理介绍一下

2.shiro拦截器的执行流程

3.Realm 域如何使用?

4.Cryptography 加密的过程是这样的?

5.Authorization 授权的方式和流程是怎样的?

6.说下Authentication 身份验证的流程

7.Shiro有哪些组件?

8.Shiro的优点

9.解释下Shiro的核心概念:Subject、SecurityManager、Realm

10.什么是shiro

三十七、Tomcat
1.Tomcat一个请求的完整过程

2.如何添加JMS远程监控

3.tomcat共享session如何处理?

4.tomcat垃圾回收策略调优了解吗?

5.tomcat内存调优了解过吗?

6.tomcat 如何优化?

7.tomcat容器是如何创建servlet类实例?用到了什么原理?

8.Tomcat有几种部署方式?

9.tomcat 有哪几种Connector 运行模式(优化)?

10.Tomcat的缺省端口是多少,怎么修改?

三十八、编译原理
1.全局优化

2.有穷自动机(有限自动机)

3.出错处理

4.表格管理程序

5.目标代码生成

6.中间代码生成

7.语义分析

8.语法分析

9.词法分析

三十九、操作系统
1.守护、僵尸、孤儿进程的概念

2.系统调用与库函数的区别

3.内部碎片与外部碎片分别是什么?

4.用户态和核心态(内核态)之间的区别是什么呢?

5.用户态切换到内核态的方式有哪些?

6.中断与系统调用了解吗?

7.页面置换算法了解多少?

8.说下对虚拟内存的理解

9.动态链接库与静态链接库的区别

10.介绍一下内存池、进程池、线程池

11.什么是临界资源

12.如何处理死锁问题

13.死锁出现的条件?

14.一个程序从开始运行到结束的完整过程(四个过程)

15.说下你知道的调度算法

16.非抢占式调度与抢占式调度的区别是什么?

17.进程调度的种类有哪些?

18.进程的通信方式有哪些

19.说下你对进程同步的理解

20.为什么进程上下文切换比线程上下文切换代价高?

21.说下进程和线程的联系与区别

22.说下进程的状态

由于篇幅有限以上答案博主已经整理好了,需要的同学可以点赞,私信博主“资料”即可免费获取

 

 

猜你喜欢

转载自blog.csdn.net/uuqaz/article/details/125590064