{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

java面试题有哪些?

genefygenefy 回答0 收藏1
收藏问题

10条回答

tomorrowwu

tomorrowwu

回答于2022-06-28 14:10

肝了一个月的面试题终于来啦,大家开心不。

2020年最新Java面试题整理,全网最全一份,包含各个技术栈,Java基础,Java集合,多线程,Java异常,spring,spring MVC,spring boot,spring cloud,netty,dubbo,activemq,Java web,jvm,kafka,MongoDB,mybatis,MySQL,Nginx,rabbitmq,Redis,Tomcat,zookeeper,设计模式,数据结构,算法,分布式,限流,降级,cap原理等等知识点

话不多说,直接上图

总共80多个PDF

【BAT必备】计算机网络面试题:

链接:https://pan.baidu.com/s/1hFggmtdL1ZmE4utBlo8S1g 提取码:qfkh

【BAT必备】设计模式面试题

链接:https://pan.baidu.com/s/1eXJveIVvQe-m3MdvLcT-fQ 提取码:j0kx

【BAT必备】数据结构算法面试题:

链接:https://pan.baidu.com/s/1daFN9jY03fXsqwc9LeKi2w 提取码:5ab7

【BAT必备】多线程面试题:

链接:https://pan.baidu.com/s/1GdvsNESoHPBjWKN2h-iK7Q 提取码:cqib

【BAT必备】并发编程锁面试题:

链接:https://pan.baidu.com/s/1hXPPtMY2dvz-g7QcSTc3PA 提取码:zhmy

【BAT必备】tomcat面试题:

链接:https://pan.baidu.com/s/1qPZXx4lmLynmaF0XjRTzpQ 提取码:5m16

【BAT必备】zookeeper面试题:

链接:https://pan.baidu.com/s/1EhOee9e1Qe-Q6RC8KlthxA 提取码:p2am

【BAT必备】spring 全家桶面试题:

链接:https://pan.baidu.com/s/1DXGO-N5P6QIGKLZ8LIVOuQ 提取码:m9v7

【BAT必备】rocketMq面试题:

链接:https://pan.baidu.com/s/1TEF3yUR4OOaIpj-4ud_79A 提取码:3g3d

【BAT必备】redis面试题:

链接:https://pan.baidu.com/s/1qlanxWBfwvKUObnHulCQiA 提取码:rjo7

【BAT必备】rabbitMq面试题:

链接:https://pan.baidu.com/s/1ywLiq3IUJVyZosPLNrmyTA 提取码:0td4

【BAT必备】netty面试题:

链接:https://pan.baidu.com/s/1Pbv4aelqOt1dUPA2SwEB_Q 提取码:2w1e

【BAT必备】Nginx面试题:

链接:https://pan.baidu.com/s/1r8YNyOz0N6MJ9F0045lEZw 提取码:49tl

【BAT必备】MySQL面试题:

链接:https://pan.baidu.com/s/1GeX6Fs4nNi6fTUHKxJ2SZw 提取码:8pow

【BAT必备】mybatis面试题:

链接:https://pan.baidu.com/s/1xOYiaiQ2JpPt2jb6GdWjaA 提取码:aqd3

【BAT必备】MongoDB面试题:

链接:https://pan.baidu.com/s/1QTVx1TF8tDn6LUJr7wdfOQ 提取码:j1qt

【BAT必备】Linux面试题:

链接:https://pan.baidu.com/s/1veZ3dBJmz1PduCE5tl-e1A 提取码:txpf

【BAT必备】kafka面试题:

链接:https://pan.baidu.com/s/1SWhiBCswleYGsDupSGzE6g 提取码:o1gv

【BAT必备】jvm面试题:

链接:https://pan.baidu.com/s/1xi-QLq_I75kha439EGqELw 提取码:kxde

【BAT必备】java web面试题:

链接:https://pan.baidu.com/s/1r3Bupn9qhJbw5ebR_6h94A 提取码:qba4

【BAT必备】Java基础面试题:

链接:https://pan.baidu.com/s/1J40nYKIoV_VMCumoRpIyhQ 提取码:5xo7

【BAT必备】dubbo面试题:

链接:https://pan.baidu.com/s/10flnh7Tb0Oxd3yZPQOnjsA 提取码:5gc9

【BAT必备】activeMQ面试题:

链接:https://pan.baidu.com/s/1igNB64dpMCjCQkRzvqCXpQ 提取码:006a

【BAT必备】分布式相关面试题大全面试题:

链接:https://pan.baidu.com/s/1ZcpJDh07B2NPAL4_4VC6jQ 提取码:w4mw

【BAT必备】java面试题大全:

链接:https://pan.baidu.com/s/11jw0Ua4CZiI8-S6EadM_iQ 提取码:epmp

【BAT必备】Java面试汇总

链接:https://pan.baidu.com/s/1vG9_cNoiYBW5TY32S4wGnQ 提取码:k087

【BAT必备】2020年多家公司整理的350道Java面试题手册

链接:https://pan.baidu.com/s/1FEGQVTgiyKG0kCasYn-n2g 提取码:f7y1

【BAT必备】Java全部核心知识点整理

链接:https://pan.baidu.com/s/1StG-ib70TDAE1Hb4NVLQRQ 提取码:5rp1


整理这些非常辛苦,大家 点个赞 在走吧

评论0 赞同0
  •  加载中...
legendmohe

legendmohe

回答于2022-06-28 14:10

2021大厂java面试题库:可能会有些多,建议你都自己整理答案,然后去面试,提取去高频的再好好记记,我觉得能很快找到工作的。

Java基础面试题库

  1. 说下面向对象四大特性
  2. Java语言有些特点
  3. 什么是Java程序的主类?应用程序和小程序的主类有何不同?
  4. 访问修饰符public,private,protected,以及不写(默认)时的区别?
  5. float f=3.4;是否正确?
  6. Java有没有goto?
  7. &和&&的区别?
  8. Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
  9. 用最有效率的方法计算2乘以8?
  10. 什么是Java注释
  11. Java有哪些数据类型
  12. final 有什么用?
  13. final finally finalize的区别
  14. String str = "i" 和String str = new String("1")一样吗?
  15. Java 中操作字符串都有哪些类?它们之间有什么区别?
  16. Java中为什么要用 clone?
  17. 深克隆和浅克隆?
  18. new一个对象的过程和clone一个对象的区别?
  19. Java中实现多态的机制是什么?
  20. 谈谈你对多态的理解?
  21. 构造器(constructor)是否可被重写(override)?
  22. 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
  23. String类的常用方法有哪些?
  24. char型变量中能否能不能存储一个中文汉字,为什么?
  25. this关键字的用法
  26. super关键字的用法
  27. this与super的区别
  28. static存在的主要意义
  29. static的独特之处
  30. static应用场景
  31. static注意事项
  32. break ,continue ,return 的区别及作用
  33. 在Java中定义一个不做事且没有参数的构造方法的作用
  34. 构造方法有哪些特性?
  35. 静态变量和实例变量区别
  36. 静态方法和实例方法有何不同?
  37. 什么是方法的返回值?返回值的作用是什么?
  38. 什么是内部类?
  39. 内部类的分类有哪些
  40. Java中异常分为哪些种类?
  41. hashCode 与 equals (重要)
  42. hashCode()介绍
  43. 为什么要有 hashCode
  44. 抽象类和接口(Java7)的区别
  45. Java 8的接口新增了哪些特性?
  46. 重写和重载的区别
  47. ArrayList和LinkedList有什么区别?
  48. HashMap是怎么实现的?
  49. HashMap在Java7和Java8中的实现有什么不同?
  50. HashMap有时候会死循环,你知道是什么原因吗?
  51. ConcurrentHashMap是怎么实现的?
  52. 静态代理和动态代理的区别
  53. JDK动态代理和CGLIB动态代理的区别

Java多线程面试题库

  1. 说说synchronized的实现原理
  2. ReentrantLock与synchronized的区别
  3. ReentrantLock实现原理
  4. Java原子类AtomicInteger实现原理
  5. Java线程池实现原理
  6. ThreadLocal实现原理
  7. InheritableThreadLocal原理知道吗?
  8. 说一下synchronized锁升级过程
  9. 了解过什么是“伪共享”吗?
  10. “伪共享”出现的原因是什么?
  11. 如何避免“伪共享”?
  12. Java里的线程有哪些状态?
  13. 什么是悲观锁?什么是乐观锁?
  14. 怎么停止一个运行中的线程?
  15. 说一下你对volatile的理解?
  16. 并发编程三要素?
  17. 线程池的优点?
  18. CyclicBarrier和CountDownLatch的区别
  19. 什么是CAS?
  20. CAS的问题
  21. 什么是AQS?
  22. AQS支持几种同步方式?
  23. 什么是自旋锁?
  24. 什么是多线程的上下文切换?
  25. 什么是线程和进程?
  26. 程序计数器为什么是私有的?
  27. 虚拟机栈和本地方法栈为什么是私有的?
  28. 并发与并行的区别?
  29. 什么是线程死锁?如何避免死锁?
  30. sleep() 方法和 wait() 方法的区别和共同点?
  31. 为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法?
  32. 什么是线程安全问题?如何解决?
  33. 什么是活锁?
  34. 什么是线程的饥饿问题?如何解决?
  35. 什么是线程的阻塞问题?如何解决?
  36. synchronized 关键字和 volatile 关键字的区别
  37. 说一说几种常见的线程池及适用场景?
  38. 线程池都有哪几种工作队列?
  39. 什么是线程安全?
  40. Java中如何获取到线程dump文件
  41. Java中用到的线程调度算法是什么?
  42. Thread.sleep(0)的作用是什么?
  43. 单例模式的线程安全性
  44. Semaphore有什么作用?
  45. Hashtable的size()方法中明明只有一条语句"return count",为什么还要做同步?
  46. 同步方法和同步块,哪个是更好的选择?
  47. 高并发、任务执行时间短的业务怎样使用线程池?并发不高、任务执行时间长的业务怎样使用线程池?并发高、业务执行时间长的业务怎样使用线程池?

Java虚拟机面试题库

  1. 说一下JVM的内存结构?
  2. 栈帧里面包含哪些东西?
  3. 程序计数器有什么作用?
  4. 字符串常量存放在哪个区域?
  5. 你熟悉哪些垃圾收集算法?
  6. Java里有哪些引用类型?
  7. JVM怎么判断一个对象是不是要回收?
  8. GC Roots 有哪些?
  9. 你知道哪些GC类型?
  10. 对象都是优先分配在年轻代上的吗?
  11. 你了解过哪些垃圾收集器?
  12. 说说CMS垃圾收集器的工作原理
  13. 说说G1垃圾收集器的工作原理
  14. 说说ZGC垃圾收集器的工作原理
  15. ZGC收集器中的染色指针有什么用?
  16. 说说类加载的过程
  17. 说下有哪些类加载器?
  18. 什么是双亲委派机制?
  19. 双亲委派机制可以被违背吗?请举例说明。
  20. Tomcat是怎么打破双亲委派机制的呢?
  21. Java对象的布局了解过吗?
  22. 什么情况下会发生栈内存溢出?
  23. JVM新生代中为什么要分为Eden和Survivor?
  24. JVM中一次完整的GC流程是怎样的,对象如何晋升到老年代?
  25. 什么是指令重排序?
  26. 什么是内存屏障?
  27. 什么是happen-before原则?
  28. 说说你知道的几种主要的JVM参数
  29. 怎么打出线程栈信息?
  30. 为什么需要双亲委派模式?
  31. 怎么打破双亲委派模型?
  32. 说一下堆和栈的区别
  33. Java 8 为什么要将永久代(PermGen)替换为元空间(MetaSpace)呢?
  34. 说一下Java对象的创建过程
  35. 对象的访问定位有哪几种方式?
  36. 说一下堆内存中对象的分配的基本策略
  37. Minor Gc和Full GC 有什么不同呢?
  38. Java会存在内存泄漏吗?请简单描述。
  39. 如何判断一个类是无用的类?
  40. 介绍一下类文件结构吧!
  41. 说一下 JVM 调优的工具?
  42. JVM调优命令有哪些?
  43. JRE、JDK、JVM 及 JIT 之间有什么不同?
  44. 程序计数器为什么是私有的?
  45. 如何判断一个常量是废弃常量 ?

Java IO面试题库

  1. Java 中有几种类型的流?
  2. 什么是 java序列化?
  3. 如何实现 java 序列化?
  4. 字节流和字符流的区别?
  5. PrintStream、BufferedWriter、PrintWriter的比较?
  6. 什么是节点流,什么是处理流,它们各有什么用处,处理流的创建有什么特征?
  7. 流一般需要不需要关闭,如果关闭的话在用什么方法,一般要在那个代码块里面关闭比较好,处理流是怎么关闭的,如果有多个流互相调用传入是怎么关闭的?
  8. 什么是BIO
  9. 什么是NIO
  10. 什么是AIO
  11. 同步与异步
  12. 阻塞与非阻塞
  13. 同步、异步、阻塞、非堵塞
  14. 通道是个什么意思?
  15. 缓冲区是什么意思?
  16. IO多路复用的底层原理

MySQL面试题库

  1. 什么是索引?
  2. 索引是个什么样的数据结构呢?
  3. Hash索引和B+树索引有什么区别或者说优劣呢?
  4. 在建立索引的时候,都有哪些需要考虑的因素呢?
  5. 了解过哪些存储引擎?各有什么优缺点?
  6. 说一下什么是事务的ACID属性吧
  7. 事务的隔离级别了解过吗?
  8. 说说InnoDB的索引原理
  9. 说说InnoDB的MVCC机制
  10. 有了解过“回表”的概念吗?什么情况下会出现“回表”?
  11. MySQL索引的类型
  12. 有做过MySQL的索引优化吗?
  13. 什么是聚簇索引?
  14. InnoDB有聚簇索引吗?MyIsam呢?
  15. MyIsam的数据是怎么存储的?
  16. InnoDB的数据是怎么存储的?
  17. InnoDB主键索引跟非主键索引在数据存储上的差异
  18. InnoDB删除某条记录后,内部会怎么处理?
  19. InnoDB如果没有设置主键的话,它内部会怎么处理?
  20. 为什么InnoDB一定会生成主键?
  21. MySQL分库分表了解过吗?
  22. MySQL的redo日志和undo日志分别有什么用?
  23. MySQL的redo日志的刷盘时机
  24. MySQL有哪些锁?以及各种锁的作用?
  25. MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义
  26. MySQL有哪些日志,分别是什么用处?
  27. 在哪些情况下会发生针对该列创建了索引但是在查询的时候并没有使用呢?
  28. 为什么要尽量设定一个主键?
  29. 主键使用自增ID还是UUID?
  30. 字段为什么要求定义为not null?
  31. 如果要存储用户的密码散列,应该使用什么字段进行存储?
  32. varchar(10)和int(10)代表什么含义?
  33. MySQL的binlog有有几种录入格式?分别有什么区别?
  34. 超大分页怎么处理?
  35. 关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?
  36. 什么是存储过程?有哪些优缺点?
  37. 说一说三个范式
  38. 什么情况下应不建或少建索引
  39. 什么是表分区?
  40. 表分区与分表的区别
  41. 表分区有什么好处?
  42. MVVC了解过吗
  43. 在MVCC并发控制中,读操作可以分成哪几类?
  44. 行级锁定的优点
  45. 行级锁定的缺点
  46. MySQL优化
  47. key和index的区别
  48. delete、truncate、drop区别
  49. MySQL主从复制原理流程
  50. 自增主键最大ID记录,MyISAM和InnoDB分别是如何存储的
  51. Mysql如何优化DISTINCT?
  52. 解释MySQL外连接、内连接与自连接的区别

Redis面试题库

  1. 什么是Redis?简述它的优缺点?
  2. Redis相比memcached有哪些优势?
  3. Redis有哪些数据结构?
  4. Redis主要消耗什么物理资源?
  5. Redis的全称是什么?
  6. 一个字符串类型的值能存储最大容量是多少?
  7. Redis为什么那么快?
  8. Redis如何实现分布式锁?
  9. Redis是单线程还是多线程?
  10. Redis 官方为什么不提供 Windows 版本?
  11. 为什么 Redis 需要把所有数据放到内存中?
  12. Redis如何设置密码及验证密码?
  13. Redis集群如何选择数据库?
  14. 缓存失效?缓存穿透?缓存雪崩?缓存并发?
  15. Redis中的热key怎么处理?
  16. Redis中的大key怎么处理?
  17. 使用Redis统计网站的UV,应该怎么做?
  18. Redis事务机制了解过吗?
  19. Redis key的淘汰策略有哪些?
  20. Redis在什么情况下会触发key的回收?
  21. Redis的持久化了解过吗?
  22. Redis在集群种查找key的时候,是怎么定位到具体节点的?
  23. Redis集群各个节点之间是怎么保持数据一致性的?
  24. 用Redis做延时队列,具体应该怎么实现?
  25. Redis String的内部编码有哪些?
  26. Redis 集群方案应该怎么做?都有哪些方案?
  27. Redis 集群方案什么情况下会导致整个集群不可用?
  28. MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据?
  29. Redis有哪些适合的场景?
  30. Redis和Redisson有什么关系?
  31. Redis中的管道有什么用?
  32. Redis如何做内存优化?

Spring面试题库

  1. 什么是spring?
  2. 使用Spring框架的好处是什么?
  3. Spring由哪些模块组成
  4. Spring是怎么解决循环依赖的?
  5. Spring Boot手动装配有哪几种方式?
  6. Spring Boot自动配置原理
  7. 谈谈自己对于Spring IOC的理解
  8. 谈谈自己对于Spring AOP的理解
  9. Spring AOP和AspectJ AOP有什么区别?
  10. Spring中的bean的作用域有哪些?
  11. Spring中的单例bean的线程安全问题了解吗?
  12. Spring中的bean生命周期了解过吗?
  13. Spring MVC的工作原理了解嘛?
  14. Spring框架中用到了哪些设计模式?
  15. @Component和@Bean的区别是什么?
  16. 将一个类声明为Spring的bean的注解有哪些?
  17. Spring事务管理的方式有几种?
  18. Spring事务中的隔离级别有哪几种?
  19. Spring事务中有哪几种事务传播行为?
  20. Spring 事务底层原理
  21. BeanFactory和ApplicationContext有什么区别?
  22. Resource 是如何被查找、加载的?
  23. 解释自动装配的各种模式?
  24. 有哪些不同类型的IOC(依赖注入)?
  25. Spring AOP 实现原理
  26. ApplicationContext通常的实现是什么?
  27. Bean 工厂和 Application contexts 有什么区别?

Spring Boot面试题库

  1. 什么是springboot
  2. Spring Boot 有哪些优点?
  3. 创建一个 Spring Boot Project 的最简单的方法是什么?
  4. Spring 和 SpringBoot 有什么不同?
  5. 如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
  6. Spring Boot 中的监视器是什么?
  7. 如何在 Spring Boot 中禁用 Actuator 端点安全性?
  8. 怎么使用 Maven 来构建一个 SpringBoot 程序?
  9. Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗?
  10. 为什么我们需要 spring-boot-maven-plugin?
  11. 什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?
  12. 如何在 Spring Boot 中添加通用的 JS 代码?
  13. 如何使用 Spring Boot 部署到不同的服务器?
  14. 如何使用配置文件通过 Spring Boot 配置特定环境的配置?
  15. 什么是Swagger?你用Spring Boot实现了吗?
  16. 如何实现Spring Boot应用程序的安全性?
  17. 比较一下Spring Security和Shiro各自的优缺点?
  18. Spring Boot中如何解决跨域问题?
  19. Spring Boot的核心注解是哪些?他由哪几个注解组成的?
  20. 保护SpringBoot应用有哪些方法?
  21. SpringBoot 2.X有哪些新特性?与1.X有什么区别?

Spring Cloud面试题库

  1. 什么是 spring cloud?
  2. 使用Spring Cloud有什么优势?
  3. 服务注册和发现是什么意思?Spring Cloud如何实现?
  4. Spring Cloud由哪些组件组成?
  5. 什么是Hystrix?它如何实现容错?
  6. 什么是Hystrix断路器?我们需要它吗?
  7. 什么是Netflix Feign?它的优点是什么?
  8. Eureka的工作原理?
  9. 说说Eureka的自我保护机制?
  10. 什么是zuul?
  11. zuul的工作流程?
  12. 什么是服务熔断?什么是服务降级?
  13. 什么是服务雪崩效应?
  14. ZuulFilter有哪些常用方法?
  15. 如何实现动态Zuul网关路由转发?
  16. 什么是 Spring Cloud Bus?
  17. Spring Cloud Bus 原理?
  18. SpringCloud Config可以实现实时刷新吗?
  19. Eureka和zookeeper都可以提供服务注册与发现的功能,两者的区别

MyBatis面试题库

  1. 什么是Mybatis?
  2. Mybatis的优缺点?
  3. Mybatis使用场合?
  4. #{}和${}的区别是什么?
  5. 当实体类的属性名和表种字段名不一致怎么办?
  6. Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?
  7. 如何获取自动生成的(主)键值?
  8. Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?
  9. Mybatis动态SQL?
  10. 说一下resultMap和resultType?
  11. Mybatis全局配置文件中有哪些标签?分别代表什么意思?
  12. Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别。
  13. Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
  14. Mybatis都有哪些Executor执行器?它们之间的区别是什么?
  15. Mybatis的一级、二级缓存

Netty面试题库

  1. 你了解过哪些IO模型?
  2. 什么是Reactor模型?Reactor的3种版本都知道吗?
  3. 了解过粘包拆包吗?为什么会出现粘包拆包?怎么处理粘包拆包?
  4. UDP协议会有粘包拆包的问题吗?为什么?
  5. Netty 是什么?
  6. 为什么要用 Netty?
  7. Netty 的应用场景了解么?
  8. Netty 的零拷贝了解么?
  9. Netty 的心跳机制了解么?
  10. Netty 中有哪些重要组件?
  11. Netty 发送消息有几种方式?
  12. Netty 支持哪些心跳类型设置?
  13. 说说Netty的执行流程?
  14. Netty高性能体现在哪些方面?

微服务面试题库

  1. 微服务有哪些优缺点?
  2. 作为注册中心,Zookeeper和Eureka有什么区别?
  3. Service Mesh了解过吗?
  4. 微服务有哪些特点?
  5. 单片,SOA 和微服务架构有什么区别?
  6. Spring Cloud 解决了哪些问题?
  7. 服务注册和发现是什么意思?Spring Cloud 如何实现?
  8. Spring Cloud 和dubbo的区别?
  9. 什么是微服务?
  10. 微服务之间是如何通讯的?
  11. 请谈谈对SpringBoot 和SpringCloud的理解
  12. 什么是服务熔断,什么是服务降级
  13. 你所知道的微服务技术栈有哪些?
  14. 什么是 Eureka服务注册与发现?
  15. Eureka的基本架构是什么?
  16. 作为服务注册中心,Eureka比Zookeeper好在哪里?

Zookeeper面试题库

  1. Zookeeper有哪些节点类型?
  2. 了解过Zookeeper的ZAB协议吗?
  3. Zookeeper怎么实现分布式锁?
  4. Zookeeper是怎么保证数据一致性的?
  5. Zookeeper Leader选举过程是怎样的?
  6. Zookeeper怎么实现服务注册?
  7. ZooKeeper是什么?
  8. ZooKeeper提供了什么?
  9. Zookeeper文件系统
  10. Zookeeper Watcher 机制
  11. 客户端注册Watcher实现
  12. 服务端处理Watcher实现
  13. ACL权限控制机制
  14. 服务器角色
  15. Zookeeper 下 Server工作状态
  16. 数据同步
  17. zookeeper是如何保证事务的顺序一致性的?
  18. 分布式集群中为什么会有Master?
  19. zk节点宕机如何处理?
  20. Zookeeper有哪几种部署模式?
  21. 集群最少要几台机器,集群规则是怎样的?
  22. 集群支持动态添加机器吗?
  23. Zookeeper对节点的watch监听通知是永久的吗?为什么不是永久的?
  24. ZAB和Paxos算法的联系与区别?
  25. Zookeeper的典型应用场景
  26. Zookeeper 和 Dubbo 的关系?
  27. zookeeper负载均衡和nginx负载均衡区别

消息队列面试题库

  1. 消息队列有哪些应用场景?
  2. 消息队列的弊端有哪些?
  3. 使用消息队列,怎么确保消息不丢失?
  4. 使用消息队列,如果处理重复消息?
  5. Kafka的消息是有序的吗?如果保证Kafka消息的顺序性?
  6. 消息如何保证幂等性
  7. 消息队列积压怎么办
  8. 各种MQ的比较
  9. 如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时怎么解决?
  10. 为什么使用消息队列?

Kafka面试题库

  1. 为什么要使用 kafka?为什么要使用消息队列?
  2. Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么?
  3. kafka中的broker 是干什么的?
  4. kafka中的 zookeeper 起到什么作用?可以不用zookeeper么?
  5. kafka follower如何与leader同步数据?
  6. 什么情况下一个 broker 会从 ISR 中被踢出去?
  7. kafka 为什么那么快?
  8. kafka producer如何优化打入速度?
  9. kafka producer 打数据,ack 为 0, 1, -1 的时候代表啥, 设置 -1 的时候,什么情况下,leader 会认为一条消息 commit 了
  10. kafka unclean 配置代表啥?会对 spark streaming 消费有什么影响?
  11. 如果leader crash时,ISR为空怎么办?
  12. kafka的message格式是什么样的?
  13. kafka中consumer group 是什么概念?
  14. Kafka中的消息是否会丢失和重复消费?
  15. 为什么Kafka不支持读写分离?
  16. Kafka中是怎么体现消息顺序性的?
  17. kafka如何实现延迟队列?
  18. 什么是消费者组?
  19. 解释下 Kafka 中位移(offset)的作用。
  20. 阐述下 Kafka 中的领导者副本(Leader Replica)和追随者副本 (Follower Replica)的区别。
  21. 如何设置 Kafka 能接收的最大消息的大小?
  22. 监控 Kafka 的框架都有哪些?
  23. Broker 的 Heap Size 如何设置?
  24. 如何估算 Kafka 集群的机器数量?
  25. Leader 总是 -1,怎么破?
  26. LEO、LSO、AR、ISR、HW 都表示什么含义?
  27. Kafka 能手动删除消息吗?
  28. consumer_offsets 是做什么用的?
  29. 分区 Leader 选举策略有几种?
  30. Kafka 的哪些场景中使用了零拷贝(Zero Copy)?
  31. 如何调优 Kafka?
  32. Controller 发生网络分区(Network Partitioning)时,Kafka 会怎么样?
  33. 简述 Follower 副本消息同步的完整流程。

RabbitMQ面试题库

  1. 什么是RabbitMQ?为什么使用RabbitMQ?
  2. RabbitMQ有什么优缺点?
  3. 什么是元数据?元数据分为哪些类型?包括哪些内容?与cluster相关的元数据有哪些?元数据是如何保存的?元数据在cluster中是如何分布的?
  4. 在单node系统和多node构成的cluster系统中声明queue、exchange,以及进行binding会有什么不同?
  5. 客户端连接到cluster中的任意node上是否都能正常工作?
  6. 若cluster中拥有某个queue的owner node失效了,且该queue 被声明具有durable属性,是否能够成功从其他node上重新声明该 queue ?
  7. RabbitMQ 的消息是怎么发送的?
  8. RabbitMQ 怎么避免消息丢失?
  9. RabbitMQ的使用场景有哪些?
  10. RabbitMQ有哪些重要的角色?
  11. 如何确保消息正确地发送至RabbitMQ?如何确保消息接收方消费了消息?
  12. 要保证消息持久化成功的条件有哪些?
  13. RabbitMQ 有几种广播类型?
  14. vhost 是什么?起什么作用?
  15. 消息基于什么传输?
  16. 消息如何分发?
  17. 消息怎么路由?
  18. 如何确保消息接收方消费了消息?
  19. 如何避免消息重复投递或重复消费?
  20. 死信队列和延迟队列的使用

计算机网络面试题库

  1. 请简述TCP/UDP的区别
  2. TCP对应的协议和UDP对应的协议
  3. 有哪些私有(保留)地址?
  4. 你能说一说OSI七层模型?
  5. 说一说TCP/IP四层模型
  6. 简述IP地址的分类?
  7. 简述ARP地址解析协议工作原理
  8. 简述ICMP、TFTP、HTTP、NAT、DHCP协议
  9. 说一说TCP的三次握手
  10. 为什么TCP要三次握手
  11. TCP建立连接时为什么要传回 SYN
  12. TCP为什么要四次挥手
  13. 滑动窗口和流量控制
  14. 拥塞控制
  15. HTTP 协议包括哪些请求?
  16. TCP time_wait状态是主动断开方才有,还是被动断开方才有?还是两边都有?
  17. TCP的keepalive机制了解过吗?
  18. HTTP的keepalive和TCP的keepalive,有什么区别?
  19. TCP与UDP的区别?
  20. 简述 HTTP1.0/1.1/2.0 的区别
  21. HTTPS的原理了解过吗?
  22. TCP里Nagle算法了解过吗?可以禁用吗?在Java里怎么禁用?
  23. HTTP协议为什么无法实现服务端推送?
  24. websocket协议升级过程了解过吗?
  25. websocket帧结构了解过吗?

数据结构与算法面试题库

  1. 什么是算法?
  2. TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?
  3. 如何知道二叉树的深度?
  4. 介绍一下,堆排序的原理是什么?
  5. 数组和链表的区别
  6. 二分查找了解过吗?
  7. 说下你熟悉的排序算法
  8. 布隆过滤器了解过吗?
  9. 一致性hash算法了解过吗?
  10. 如何在一个1到100的整数数组中找到丢失的数字?
  11. 请你讲讲LRU算法的实现原理?
  12. 为什么要设计后缀表达式,有什么好处?
  13. 什么是B树?
  14. 什么是B+树?
  15. 谈一谈,id全局唯一且自增,如何实现?

设计模式面试题库

  1. 接口是什么?为什么要使用接口而不是直接使用具体类?
  2. 设计模式六大原则?
  3. Java怎么实现单例模式?
  4. 什么是代理模式?什么是动态代理?Java中动态代理有哪些实现方式?
  5. 设计模式的类型
  6. 说说你所熟悉或听说过的 j2ee 中的几种常用模式?
  7. 简述一下你了解的 Java 设计模式(总结)
  8. 适配器模式是什么?什么时候使用?
  9. 适配器模式与装饰器模式有什么区别?
  10. 适配器模式和代理模式之间有什么不同?
  11. 什么是模板方法模式?试举例说明。
  12. OOP中的组合、聚合和关联有什么区别?
  13. 给我一个符合开闭原则的设计模式的例子?
  14. 工厂模式与抽象工厂模式的区别?
  15. 举出一个例子,在这种情况你会更倾向于使用抽象类,而不是接口?
  16. Dubbo 源码使用了哪些设计模式?
  17. Spring 当中用到了哪些设计模式?

分布式面试题库

  1. 分布式id如何生成?
  2. 雪花算法了解过吗?
  3. 什么是CAP定理?
  4. 分布式事务了解过吗?
  5. 什么是二阶段提交(2PC)?什么是三阶段提交(3PC)?
  6. TCC了解过吗?
  7. Paxos算法了解过吗?
  8. Zookeeper的Zab协议了解过吗?
  9. 知道什么是Gossip协议吗?
  10. 了解过哪些负载均衡算法?
  11. 负载均衡的实现方案有哪些?
  12. 正向代理和反向代理的区别
  13. 分布式 Session了解过吗?如何实现?
  14. 如何防止表单重复提交?
  15. 如何设计一个秒杀系统?
  16. 分布式系统的接口幂等性设计
  17. 如何保障请求执行顺序
  18. BASE理论了解过吗?
  19. SOA和微服务架构有哪些区别?

Linux面试题库

  1. vim有几种工作模式?
  2. find 命令如何使用?
  3. 如何在 /usr 目录下找出大小超过 10MB 的文件?
  4. 如何在 /var 目录下找出 90 天之内未被访问过的文件?
  5. 如何在 /home 目录下找出 120 天之前被修改过的文件?
  6. 在整个目录树下查找文件 “core” ,如发现则无需提示直接删除它们?
  7. ls 命令
  8. df 命令
  9. rm 命令
  10. mv 命令
  11. cp 命令
  12. tail 命令
  13. grep 命令
  14. sed 命令
  15. 用 sed 命令将指定的路径 /usr/local/http 替换成为 /usr/src/local/http ?
  16. awk 命令
  17. 打印 /etc/passwd 的 1 到 3 行?
  18. vim 命令
  19. diff 命令
  20. sort 命令
  21. xargs 命令
  22. 把当前目录下所有后缀名为 .txt 的文件的权限修改为 777 ?
  23. tar 命令
  24. gzip 命令
  25. bzip2 命令
  26. unzip 命令
  27. export 命令
  28. yum 命令
  29. rpm 命令
  30. shutdown 命令
  31. service 命令
  32. whereis 命令
  33. 用一条命令显示本机 eth0 网卡的 IP 地址,不显示其它字符?
  34. 如何禁止服务器被 ping ?
  35. 设置 DNS 需要修改哪个配置文件?
  36. 在 Linux 下如何指定dns服务器,来解析某个域名?

Docker面试题库

  1. 什么Docker
  2. Docker与虚拟机有何不同
  3. 什么是Docker镜像
  4. 什么是Docker容器
  5. Docker容器有几种状态
  6. DockerFile中最常见的指定是什么?

  7. Docker的常用命令?
  8. 容器与主机之间的数据拷贝命令?
  9. 启动nginx容器(随机端口映射),并挂载本地文件目录到容器html的命令?
  10. 如何使用 Docker 技术创建与环境无关的容器系统?
  11. 有什么方法确定一个 Docker 容器运行状态
  12. Docker Image 和 Docker Layer (层) 有什么不同
  13. 如何停止所有正在运行的容器?
  14. 如何清理批量后台停止的容器?
  15. 如何临时退出一个正在交互的容器的终端,而不终止它?
  16. Docker 群(Swarm)是什么
  17. 在使用 Docker 技术的产品中如何监控其运行
  18. 什么是孤儿卷及如何删除它?
  19. 在 Windows 系统上可以运行原生的 Docker 容器吗?
  20. 在 非 Linux 操作系统平台上如何运行 Docker ?

Dubbo面试题库

  1. Dubbo是什么?
  2. 为什么要用Dubbo?
  3. Dubbo 和 Dubbox 有什么区别?
  4. dubbo都支持什么协议,推荐用哪种?
  5. Dubbo需要 Web 容器吗?
  6. Dubbo内置了哪几种服务容器?
  7. Dubbo默认使用什么注册中心,还有别的选择吗?
  8. Dubbo有哪几种配置方式?
  9. 在 Provider 上可以配置的 Consumer 端的属性有哪些?
  10. Dubbo启动时如果依赖的服务不可用会怎样?
  11. Dubbo推荐使用什么序列化框架,你知道的还有哪些?
  12. Dubbo默认使用的是什么通信框架,还有别的选择吗?
  13. 注册了多个同一样的服务,如果测试指定的某一个服务呢?
  14. Dubbo支持服务多协议吗?
  15. 当一个服务接口有多种实现时怎么做?
  16. 服务上线怎么兼容旧版本?
  17. Dubbo可以对结果进行缓存吗?
  18. Dubbo服务之间的调用是阻塞的吗?
  19. Dubbo支持分布式事务吗?
  20. Dubbo支持服务降级吗?
  21. Dubbo如何优雅停机?
  22. 服务提供者能实现失效踢出是什么原理?
  23. 如何解决服务调用链过长的问题?
  24. 服务读写推荐的容错策略是怎样的?
  25. Dubbo必须依赖的包有哪些?
  26. Dubbo的管理控制台能做什么?
  27. 说说 Dubbo 服务暴露的过程。

Elasticsearch面试题库

  1. 为什么要使用Elasticsearch?
  2. Elasticsearch是如何实现Master选举的?
  3. Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
  4. 详细描述一下Elasticsearch索引文档的过程。
  5. 详细描述一下Elasticsearch更新和删除文档的过程
  6. 详细描述一下Elasticsearch搜索的过程
  7. Elasticsearch对于大数据量(上亿量级)的聚合如何实现?
  8. 在并发情况下,Elasticsearch如果保证读写一致?
  9. ElasticSearch中的集群、节点、索引、文档、类型是什么?
  10. ElasticSearch中的分片是什么?
  11. 什么是ElasticSearch?
  12. Elasticsearch中的倒排索引是什么?
  13. Elasticsearch中的分析器是什么?
  14. 说说Elasticsearch常用的调优手段?
  15. Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?
  16. 客户端在和集群连接时,如何选择特定的节点执行请求?
  17. 在 Elasticsearch 中,是怎么根据一个词找到对应的倒排索引的?
  18. 对于 GC 方面,在使用 Elasticsearch 时要注意什么?
  19. 在并发情况下,Elasticsearch 如果保证读写一致?
  20. 如何监控 Elasticsearch 集群状态?

Java集合面试题库

  1. 常见的集合有哪些?
  2. 常见的集合底层实现
  3. HashMap与HashTable的区别?
  4. ConcurrentHashMap和Hashtable的区别?
  5. ConcurrentHashMap实现原理
  6. ArrayList 和 Vector 的区别?
  7. ArrayList和LinkedList的区别?
  8. HashMap 默认的初始化长度是多少?
  9. 谈谈对HashMap 构造方法中初始容量、加载因子的理解
  10. Java集合框架是什么?说出一些集合框架的优点?
  11. 集合框架中的泛型有什么优点?
  12. 为何Collection不从Cloneable和Serializable接口继承?
  13. 为何Map接口不继承Collection接口?
  14. Iterator是什么?
  15. Enumeration和Iterator接口的区别?
  16. Iterater和ListIterator之间有什么区别?
  17. fail-fast与fail-safe有什么区别?
  18. hashCode()和equals()方法有何重要性?
  19. 我们能否使用任何类作为Map的key?
  20. 如何决定选用HashMap还是TreeMap?
  21. 哪些集合类提供对元素的随机访问?
  22. BlockingQueue是什么?
  23. 队列和栈是什么,列出它们的区别?
  24. Collections类是什么?
  25. Comparable和Comparator接口有何区别?

Java高并发面试题库

  1. 什么是进程
  2. 什么是线程
  3. 进程间如何通讯
  4. 线程间如何通讯
  5. 同步和异步有何不同,在什么情况下分别使用它们?举例说明
  6. 进程调度算法
  7. Java中Unsafe类详解
  8. 如何测试并发量?
  9. 有三个线程T1,T2,T3,怎么确保它们按顺序执行?
  10. 什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing)?
  11. 数据库死锁?
  12. 什么是锁顺序死锁?
  13. 死锁的避免与诊断?
  14. 常见的并发容器?
  15. 常见的同步工具类?
  16. Nginx多进程模型是如何实现高并发的?
  17. CopyOnWriteArrayList
  18. AQS
  19. Java里的阻塞队列
  20. Fork/Join框架

Kubernetes面试题库

  1. 什么是Kubernetes?
  2. Kubernetes与Docker有什么关系?
  3. 什么是Container Orchestration?
  4. Kubernetes如何简化容器化部署?
  5. 什么是Google容器引擎?
  6. 什么是Heapster?
  7. 什么是Minikube?
  8. 什么是Kubectl?
  9. 什么是Kubelet?
  10. Kubernetes Architecture的不同组件有哪些?
  11. 你对Kube-proxy有什么了解?
  12. 您能否介绍一下Kubernetes中主节点的工作情况?
  13. kube-apiserver和kube-scheduler的作用是什么?
  14. 你能简要介绍一下Kubernetes控制管理器吗?
  15. 什么是etcd?
  16. 你对Kubernetes的负载均衡器有什么了解?
  17. 什么是Ingress网络,它是如何工作的?
  18. 您对云控制器管理器有何了解?
  19. 什么是Container资源监控?
  20. Replica Set 和 Replication Controller之间有什么区别?

Maven面试题库

  1. maven是什么?
  2. 使用Maven好处
  3. Maven的坐标和依赖
  4. Maven的⽣命周期
  5. 你们项目为什么选用 Maven 进行构建?
  6. Maven 规约是什么?
  7. Maven 常用命令
  8. Maven 有哪些优点和缺点
  9. Maven 版本规则?
  10. 对于一个多模块项目,如果管理项目依赖的版本?
  11. Maven 依赖原则?
  12. 如何解决 jar 冲突?
  13. 什么是 Maven 插件?
  14. Maven依赖冲突
  15. 依赖的解析机制

MongoDB面试题库

  1. 什么是MongoDB?
  2. MongoDB的优势有哪些
  3. 什么是集合(表)?
  4. 什么是文档(记录)
  5. 为什么用MOngoDB?
  6. 在哪些场景使用MongoDB
  7. MongoDB中的命名空间是什么意思?
  8. MongoDB中的分片什么意思
  9. 为什么要在MongoDB中使用分析器
  10. MongoDB支持主键外键关系吗
  11. MongoDB支持哪些数据类型
  12. 为什么要在MongoDB中用"Code"数据类型
  13. 为什么要在MongoDB中用"Regular Expression"数据类型
  14. 为什么在MongoDB中使用"Object ID"数据类型
  15. "ObjectID"有哪些部分组成
  16. 在MongoDb中什么是索引
  17. 在MongoDB中什么是副本集
  18. MongoDB支持存储过程吗?如果支持的话,怎么用?
  19. 如何理解MongoDB中的GridFS机制,MongoDB为何使用GridFS来存储文件?
  20. 为什么MongoDB的数据文件很大?

Jenkins面试题库

  1. 什么是Jenkins?
  2. Maven, Ant和Jenkins有什么区别?
  3. Jenkins支持哪些SCM工具?
  4. 在Jenkins中, 什么是持续集成?
  5. Jenkins的优势是什么?
  6. 可以使用哪些命令手动启动Jenkins?
  7. 如何在Jenkins中创建备份和复制文件?
  8. 如何通过Jenkins克隆Git存储库?
  9. 什么是jenkinsfile?为什么使用jenkinsfile
  10. 什么是Blue Ocean

Mycat面试题库

  1. Mycat是什么?
  2. 什么叫混合切分
  3. 在项目组中,切分后的库从哪里而来?
  4. 搭建mycat的核心配置文件有哪些?
  5. mycat分库可以分成100个库吗?
  6. 进行库表拆分时,拆分规则怎么取舍?
  7. Mycat中全局ID方案有哪些?程序自定义全局ID的方案有哪些?
  8. Mycat的在分库分表之后,它是怎么支持联表查询的?
  9. 配置文件不会变多,配置的节点主机会变多?
  10. 你们项目中分片的实现方式是什么?

Nginx面试题库

  1. 请解释一下什么是 Nginx ?
  2. 为什么要用Nginx?
  3. Nginx怎么处理请求的?
  4. Nginx的优缺点?
  5. Nginx应用场景?
  6. 使用“反向代理服务器”的优点是什么?
  7. 列举Nginx服务器的最佳用途。
  8. 请解释Nginx如何处理HTTP请求。
  9. 在Nginx中,如何使用未定义的服务器名称来阻止处理请求?
  10. 在Nginx中如何在URL中保留双斜线?
  11. ngx_http_upstream_module的作用是什么?
  12. fastcgi 与 cgi 的区别?
  13. Nginx 常用命令?
  14. Nginx 常用配置?
  15. 请陈述stub_status和sub_filter指令的作用是什么?

RocketMQ面试题库

  1. RocketMQ中的Topic和JMS的queue有什么区别?
  2. RocketMQ Broker中的消息被消费后会立即删除吗?
  3. RocketMQ消费模式有几种?
  4. 消费消息是push还是pull?
  5. broker如何处理拉取请求的?
  6. RocketMQ如何做负载均衡?
  7. 消息重复消费如何解决?
  8. 如何让RocketMQ保证消息的顺序消费?
  9. RocketMQ如何保证消息不丢失?
  10. rocketMQ的消息堆积如何处理
  11. RocketMQ在分布式事务支持这块机制的底层原理?
  12. 如果让你来动手实现一个分布式消息中间件,整体架构你会如何设计实现?
  13. 高吞吐量下如何优化生产者和消费者的性能?
  14. 再说说RocketMQ 是如何保证数据的高容错性的?
  15. 任何一台Broker突然宕机了怎么办?

shiro面试题库

  1. 什么是shiro
  2. 解释下Shiro的核心概念:Subject、SecurityManager、Realm
  3. Shiro的优点
  4. Shiro有哪些组件?
  5. 说下Authentication 身份验证的流程
  6. Authorization 授权的方式和流程是怎样的?
  7. Cryptography 加密的过程是这样的?
  8. Realm 域如何使用?
  9. shiro拦截器的执行流程
  10. Session Manager 会话管理介绍一下

Servlet面试题库

  1. Servlet的生命周期?
  2. Servlet和JSP的区别?
  3. Servlet的基本架构
  4. 什么情况下调用doGet()和doPost()?
  5. 页面间对象传递的方法
  6. 四种会话跟踪技术
  7. Request对象的主要方法
  8. 如何配置Servlet的初始化参数?
  9. 如何读取Servlet的初始化参数?
  10. init(ServletConfig)方法执行次数
  11. init(ServletConfig)方法与异常

Tomcat面试题库

  1. Tomcat的缺省端口是多少,怎么修改?
  2. tomcat 有哪几种Connector 运行模式(优化)?
  3. Tomcat有几种部署方式?
  4. tomcat容器是如何创建servlet类实例?用到了什么原理?
  5. tomcat 如何优化?
  6. tomcat内存调优了解过吗?
  7. tomcat垃圾回收策略调优了解吗?
  8. tomcat共享session如何处理?
  9. 如何添加JMS远程监控
  10. Tomcat一个请求的完整过程

java8面试题库

  1. Java 8 新特性简介:
  2. 抽象类 和 接口的 异同?
  3. Java8支持函数编程是什么意思?
  4. Java 8中的可选项是什么?
  5. hashMap原理,java8做的改变
  6. 解释Java 8-中间操作与终端操作?
  7. 什么是Lambda表达式?
  8. Lambda函数的优点:
  9. 什么是Java8中的MetaSpace?它与PermGen Space有何不同?
  10. 是什么使Java SE 8优于其他?
  11. Lambda表达式的参数列表与Lambda箭头运算符有何不同?

密码学面试题库

  1. 什么是base64
  2. MD5
  3. SHA
  4. HMAC
  5. 密码的常用术语
  6. 单向加密算法
  7. 复杂的对称加密(DES、PBE)、非对称加密算法
  8. 非对称加密
  9. DES

操作系统面试题库

  1. 说下进程的状态
  2. 说下进程和线程的联系与区别
  3. 为什么进程上下文切换比线程上下文切换代价高?
  4. 说下你对进程同步的理解
  5. 进程的通信方式有哪些
  6. 进程调度的种类有哪些?
  7. 非抢占式调度与抢占式调度的区别是什么?
  8. 说下你知道的调度算法
  9. 一个程序从开始运行到结束的完整过程(四个过程)
  10. 死锁出现的条件?
  11. 如何处理死锁问题
  12. 如何处理死锁问题
  13. 什么是临界资源
  14. 介绍一下内存池、进程池、线程池
  15. 动态链接库与静态链接库的区别
  16. 说下对虚拟内存的理解
  17. 页面置换算法了解多少?
  18. 中断与系统调用了解吗?
  19. 用户态切换到内核态的方式有哪些?
  20. 用户态和核心态(内核态)之间的区别是什么呢?
  21. 内部碎片与外部碎片分别是什么?
  22. 系统调用与库函数的区别
  23. 守护、僵尸、孤儿进程的概念

编译原理面试题库

  1. 词法分析
  2. 语法分析
  3. 语义分析
  4. 中间代码生成
  5. 目标代码生成
  6. 表格管理程序
  7. 出错处理
  8. 句型、句子、语言
  9. 有穷自动机(有限自动机)
  10. 全局优化

计算机组成原理

  1. 计算机系统由哪两部分组成?计算机系统性能取决于什么?
  2. 计算机系统5层层次结构从下到上由哪五层组成?哪些是物理机,哪些是虚拟机?
  3. 在计算机系统结构中,什么是翻译?什么是解释?
  4. 什么是计算机体系结构?什么是计算机组成?以乘法指令为例说明二者区别。
  5. 冯诺依曼机器的主要特点?
  6. 程序访问的局部性
  7. 字长
  8. Cache的基本工作原理
  9. Cache和主存之间的映射方式
  10. Cache中主存块的替换算法
  11. 二进制一般使用什么方法转换成十进制?
  12. 计算机直接使用原码计算有什么缺点?
  13. 请计算12、124、1023、-1、-127的二进制原码。
  14. 计算机的补码解决了什么问题?
  15. 什么是溢出?什么是上溢?什么是下溢?
  16. 浮点数之间做加减法运算需要几个步骤?每个步骤都是必须的吗?为什么?
  17. 虚拟存储器的基本概念
  18. 页式虚拟存储器
  19. 段式虚拟存储器
  20. 段页式虚拟存储器

评论0 赞同0
  •  加载中...
mzlogin

mzlogin

回答于2022-06-28 14:10

Java 面试题有哪些?面试经常会问什么样的问题?互联网大厂的面试题是怎么样的呢?今天,我们就一起来聊一聊,关于 Java 相关的面试题。


面试题推荐

关于 Java 相关的面试题,其实有很多,而且在 GitHub 上,有很多人整理了很多 Java 相关面试题,而且这些面试题里不仅配有答案,分析,很多面试题都包含了一些类似于 BAT TMD 等大厂的面试题,看这些面试题,可以让你充分了解大厂面试 Java 会经常为什么样的问题。


所以,今天我就给大家推荐两个关于 Java 面试的开源项目。里面就包含了很多 Java 面试题,还有经验分享。


JavaGuide

这个开源项目就是:JavaGuide ,它已经有 6 万多人 star 了。号称是:【Java 学习 + 面试指南】,一份涵盖大部分 Java 程序员所需要掌握的核心知识。


来看一看包含了哪些核心知识吧!看图:

上面是整个开源项目的目录,具体每个目录下有什么呢?如下:

我在这里就不一一列举了,比如,我们点击其中一个链接,看看具体有哪些面试题呢?

是不是内容很丰富呢?

这个开源项目地址:

https://github.com/Snailclimb/JavaGuide


Java-Interview

这个开源项目的名称就是:Java-Interview ,它起的名字更厉害,更唬人,就是:Java 面试必会,直通 BAT 。对,就是这么夸张,你看完之后,让你直通 BAT 。


里面整合和整理了很多面试题。比如这样:

再比如,具体内容:

不仅有问题,还带有答案,也是整理很多 Java 相关的面试题。所以,建议大家在上面复习和学习,去应对面试,可以做到充分准备。毕竟,我们不打无准备之仗嘛。


所以,你可以在 GitHub 上去获取,一搜,出来一堆。GitHub 对于程序员来讲,绝对是个好地方。


怎么样,经过我这么一回答,是不是豁然开朗了呢?如果感觉不错,记得给个赞哦!

评论0 赞同0
  •  加载中...
explorer_ddf

explorer_ddf

回答于2022-06-28 14:10

谢邀回答!!!????????????

我认为,Java面试试题众多,重在对基础理论知识和实际操作的考核,给你分享一些面试题目(由于篇幅有限,答案省略),主要有:

1. 什么是Spring MVC框架的控制器?

2.SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决?

3.结合项目谈谈你对 MVC 的理解?

4.什么是Spring MVC?SpringMVC的工作流程是什么?

5.SpringMVC的优点是什么?

6.SpringMVC与Struts2的区别?

7.Spring框架分为哪七大模块,各模块的主要功能作用是什么?

8.Spring框架中的三大核心思想是什么?

9.AOP的概念以及使用AOP机制有什么好处?

10.Java编程中实现AOP有几种方式?

11.jsp静态包含和动态包含的区别?

12.jsp有哪些内置对象?作用分别是什么?

13.Tomcat 有哪几种Connector 运行模式?

14.你所知道的集合类都有哪些?主要方法?

15.说出ArrayList、Vector、LinkedList 的存储性能和特性?

16.Collection 和Collections 的区别?

17.HashMap 和Hashtable 的区别?

18.Arraylist 与Vector 区别?

19.Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?

20.介绍JAVA中的Collection FrameWork?如何写自己的数据结构?

21.EJB与JAVA BEAN的区别是什么?

22.请你介绍EJB的基本架构?等等。

以上题目是我分享的一点点建议,希望能对你有所帮助和启发,也希望与你相互学习、共同进步!!!





评论0 赞同0
  •  加载中...
wangshijun

wangshijun

回答于2022-06-28 14:10

我也是一直做java开发很多年啦,经历过的面试很多了,大公司小公司都待过,给你一些建议吧。

java面试题面还是很广的,下面给你分类整理下来的。

1、java基础知识。比如面向对象的特征、多态、访问修饰符范围、static和final关键字、抽象类与接口、深拷贝与浅拷贝、序列化与反序列化、几种数据结构、拆箱与装箱

2、java集合相关的。比如集合框架理解、list、set、hashmap底层实现以及区别?hashmap底层原理,put和get方法怎么实现的?hashmap与hashTable区别?concurrentHashMap底层实现?

3、java异常处理。异常分类?编译时异常与运行时异常区别?举例子有哪些运行时异常?

4、jvm内存模型。以及GC垃圾回收机智和算法。

5、spring相关。解释IOC和AOP,以及他们的原理。bean生命周期

6、mysql。索引是什么?索引分类?索引优化?

7、mybaits相关。动态标签,字符串替换,防注入。

8、dubbo。dubbo服务注册与发现。服务负载均衡算法,dubbo配置与使用。

9、多线程。synchronized用法与底层原理,与lock的区别?线程池有哪些?线程池有哪些参数?线程池优化?

10、redis。redis数据类型有哪些,每个类型的使用场景?redis为什么这么快?redis怎么保证高可用?redis怎么保证与数据库数据一致?

11、消息队列。activeMQ、rabbitMQ、rocketMQ、kafka,都可以了解下,以及怎么保证高可用和处理高并发。

12、排序算法与数据结构。冒泡排序、快速排序、选择排序、插入排序等等

大概就有这么个方面的,好好准备还是有很多机会的。

我主要做java 开发的,大家有什么其他问题可以关注我给我私信,或者继续在评论区和我沟通,我有java高级分布式高并发消息队列面试视频可以分享,大家一起进步

互联网高级java高并发分布式消息队列面试视频在蜻蜓FM,搜索“浅戏互联网”,喜欢的朋友可以关注一下,谢谢。

评论0 赞同0
  •  加载中...
gaara

gaara

回答于2022-06-28 14:10

谢邀。一般关于面试的java框架都是根据你简历中之前项目用到的框架来问。题主没有问到具体的框架,我就谈谈目前公司招聘要求最多,也是公司用的最多的三个框架SSM。

关于Spring:

1.谈谈你对Spring IOC和DI的理解,它们有什么区别?

2.Spring配置bean实例化有哪些方式?

3.请介绍一下Spring框架中Bean的生命周期和作用域

4.Bean注入属性有哪几种方式?

5.什么是AOP,AOP的作用是什么?

6.Spring如何处理线程并发问题?

7.介绍一下Spring的事物管理

关于SpringMVC:

1.什么是SpringMVC ?简单介绍下你对SpringMVC的理解?

2.说说SpringMVC的流程?

3.SpringMVC有什么优点?

4.SpringMVC怎么样设定重定向和转发的?

5.如何解决POST请求中文乱码问题,GET的又如何处理呢?

6.Spring MVC的异常处理 ?

7.SpringMvc的核心入口类是什么?

8.SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决?

9. @RequestMapping注解用在类上面有什么作用?

10.如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?

11.SpringMvc如何处理视图?

关于Mybatis:

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

2.当实体类中的属性名和表中的字段名不一样 ,怎么办?

3.聊聊你对Mybatis的了解和认识?

4. Mybatis工作原理

5.Mapper.xml映射文件中有哪些常用标签?

6.Mybatis是如何进行分页的?分页插件的原理是什么?

7.Mybatis动态sql是做什么的?都有哪些动态sql?简述一下动态sql的执行原理?

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

以上题目是我分享的一点点建议,希望能对你有所帮助。有兴趣还可以关注我,定期分享技术干货,在程序员进阶的路上一起学习成长。

评论0 赞同0
  •  加载中...
caozhijian

caozhijian

回答于2022-06-28 14:10

1.不可变对象

指对象一旦被创建状态不能再改变。任何修改都会创建一个新的对象,如 String、Integer及其它包装类。

2.能否创建一个包含可变对象的不可变对象?

可以。不要共享可变对象的引用就可以了,如果需要变化就返回原对象的一个拷贝。最常见的例子是对象中包含一个日期对象的引用.

3.java 创建对象的方式

  • 采用new
  • 通过反射
  • 采用clone
  • 通过序列化机制

前2者都需要显式地调用构造方法. 造成耦合性最高的恰好是第一种,因此你发现无论什么框架,只要涉及到解耦必先减少new的使用.

4.switch中能否使用string做参数

在idk 1.7之前,switch只能支持byte,short,char,int或者其对应的封装类以及Enum类型。从idk 1.7之后switch开始支持String.

5.Object中有哪些公共方法?

  • equals()
  • clone()
  • getClass()
  • notify(),notifyAll(),wait()

6. object中定义了哪些方法?

clone(), equals(), hashCode(), toString(), notify(), notifyAll(), wait(), finalize(), getClass()

7. HashMap和HashTable的区别

  • HashTable是线程安全的HashMap不是
  • HashMap中允许存在null键和null值,HashTable中不允许

8. HashMap的实现原理

HashMap的底层实现是“基于拉链法的散列表”。

9.String 是最基本的数据类型吗?

不是。Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitive type)和枚举类型(enumeration type),剩下的都是引用类型(reference type)。

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

不正确。3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换float f =(float)3.4; 或者写成float f =3.4F;。

11.Java有没有goto?

goto 是Java中的保留字,在目前版本的Java中没有使用。《The Java Programming Language》附录中有goto和const,但这两个是目前无法使用的关键字,因此有些地方将其称之为保留字,其实保留字这个词应该有更广泛的意义,因为熟悉C语言的程序员都知道,在系统类库中使用过的有特殊意义的单词或单词的组合都被视为保留字。

12.http1.0,http1.1,http2.0区别

1.0相比1.1可以一次传输多个文件,各类浏览器大概都支持3~5个请求同时发送。

http2.0主要是二进制的格式替代了原来的文本,增加了多路复用和首部压缩解决了head of line blocking,另外还有server pushing等新特性。

协议的东西还是建议看一看官网的说明。

13.Get/Post对缓存的影响

此题其实是问浏览器缓存对于HTTP Method中Get和Post的请求是否支持,答案是不支持Post Method。Get可以被浏览器缓存。

14.多态的好处

允许不同类对象对同一消息做出响应,主要优点:

  • 可替换性:多态对已存在代码具有可替换性;
  • 可扩充性:增加新的子类不影响已经存在的类结构;
  • 接口性:多态是超累通过方法签名,想子类提供一个公共接口,由子类来完善或者重写它来实现的;
  • 灵活性;
  • 简化性。

15.代码中如何实现多态

  • 接口实现
  • 继承父类重写方法
  • 同一类中进行方法重载

16.虚拟机是如何实现多态的

动态绑定技术(dynamic binding),执行期间判断所引用对象的实际类型,根据实际类型调用对应的方法.

17.接口的意义

接口的意义用三个词就可以概括:规范,扩展,回调.

18.抽象类的意义

  • 为其他子类提供一个公共的类型
  • 封装子类中重复定义的内容
  • 定义抽象方法,子类虽然有不同的实现,但是定义时一致的

19.父类的静态方法能否被子类重写

不能。子类继承父类后,有相同的静态方法和非静态,这是非静态方法覆盖父类中的方法,父类的该静态方法被隐藏,另外子类可集成父类的静态与非静态方法,至于方法重载我觉得它其中一要素就是在同一类中,不能说父类中的什么方法与子类里的什么方法是方法重载的体现。

以上19道java经典面试题。

最后

为帮助那些往想互联网方向转行想学习,却因为时间不够,资源不足而放弃的人。我搜集整理了一套完整的IT学习资料,包括运营技巧、SEO优化等,比自己在网上零散收集的结构性和连贯性更强,只为帮助那些想学习的人!需要的同学可私信!私信!回复“资料”

评论0 赞同0
  •  加载中...
henry14

henry14

回答于2022-06-28 14:10

SpringMVC

  1. 什么是Spring MVC ?简单介绍下你对springMVC的理解?
  2. SpringMVC的流程?
  3. Springmvc的优点
  4. SpringMVC和struts2的区别有哪些?
  5. 如何解决POST请求中文乱码问题,GET的又如何处理呢?

Spring

  1. AOP(面向切面编程)的原理
  2. AOP的使用场景
  3. IOC(控制反转)的原理
  4. Spring框架中的单例bean是线程安全的吗?
  5. 常用的注解
  6. 用到的设计模式
  7. Spring的优点(解耦、很多主流框架的集成 低侵入式设计,代码的污染极低 等等)
  8. SpringBean的作用域
  9. 事务机制
  10. Spring的核心类,及作用 如BeanFactory、ApplicationContext、BeanWrapper
  11. Spring支持的ORM?
  12. BeanFactory 接口和 ApplicationContext 接口有什么区别 ?
  13. 依赖注入的方式有几种:接口注入、Setter注入、构造方法注入

Mybatis

  1. 什么是mybatis?
  2. MyBatis与Hibernate有哪些不同?
  3. Mybait的优缺点
  4. 常见的标签
  5. 分页及常用的分页插件
  6. #{}和${}的区别是什么?
  7. 一对一、一对多的关联查询 ?
  8. Mybatis的一级、二级缓存:
  9. Mybatis比IBatis比较大的几个改进是什么?
  10. IBatis和MyBatis在核心处理类分别叫什么?
  11. IBatis和MyBatis在细节上的不同有哪些?
  12. 为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
  13. MyBatis与Hibernate有哪些不同?

Hibernate

  1. Hibernate工作原理
  2. Hibernate是如何延迟加载(懒加载)?
  3. 缓存机制(一级缓存、二级缓存)
  4. Hibernate的查询方式有几种Hibernate中save、persist和saveOrUpdate这三个方法的不同之处?
  5. get()与load()的区别
  6. Hibernate中的SessionFactory有什么作用? SessionFactory是线程安全的吗?

SpringBoot

  1. 常用的starter有哪些
  2. Spring Boot 的配置文件有哪几种格式?它们有什么区别?
  3. Spring Boot 的核心注解是哪个?常用的注解(如@EnableEurekaClient
  4. @EnableFeignClients @FeignClient @EnableTransactionManagement
  5. @RestController @Configuration @Order @ControllerAdvice等)
  6. Spring Boot 需要独立的容器运行吗?( 可以不需要,内置了 Tomcat/ Jetty 等容器。)
  7. 运行 Spring Boot 有哪几种方式?
  8. SpringBoot与SpringCloud的关系
  9. SpringCloud的各类组件(Feign、Eureka、Hystrix等)的理解及使用

Nginx

  1. Nginx作用
  2. 常用命令
  3. 负载均衡的几种常用方式?
  4. session不同步怎么办
  5. 前端服务器集群后做负载均衡和动静分离

其他

  1. Thymeleaf、freemarker等模板引擎

  2. NoSQL:Redis、Memcache和MongoDB等的区别、使用

  3. xml解析(DOM解析、SAX解析、JDOM解析、DOM4J解析)

  4. POI实现Microsoft Office格式档案读和写的功能

  5. 多线程、线程池的原理及实现

  6. 设计模式

  7. Kafka、MQ等消息机制

  8. Sql优化

  9. jvm原理

  10. 常用搜索引擎Elasticsearch等

  11. 扎实的java基础



程序猿,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。

评论0 赞同0
  •  加载中...
vibiu

vibiu

回答于2022-06-28 14:10

作为一家有着12年教学经验且只专心教Java的培训机构,自然有很多高质量的面试题:

Java常见面试题及答案(131~140企业真题)

131、j2ee中的应用服务器有哪些?(ACD)

A. Weblogic

B. Tomcat

C. JBoss

D. WebSphere

E. IIS

132、EJB程序与普通的java程序区别有哪些?

EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序当然,还有许多方式可以实现分布式应用,类似微软的.net技术。

凭借 java 跨平台的优势,用EJB 技术部署的分布式系统可以不限于特定的平台。EJB(EnterpriseJavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。

在J2EE里,Enterprise Java Beans(EJB)称为Java企业Bean,是Java 的核心代码,分别是会话 Bean(Session Bean),实体 Bean(Entity Bean)和消息驱动 Bean(MessageDriven Bean)。

简单来讲:比如做一个工程就和盖房子,如果,你会 java,那么你就拥有了基本的技能,一步一步累砖,总能把房子盖好但是EJB就是一个框架,盖房子的时候,先有这个框架,然后你根据这个框架去累砖,房子就会盖的又快又好。java是基础,EJB 是在java上发展出来的模型,框架。

133、请简述什么是集群?

服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就象是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。一旦在服务器上安装并运行了群集服务,该服务器即可加入群集。群集化操作可以减少单点故障数量,并且实现了群集化资源的高可用性。

134、字符串中有重复的内容去重 例如:abbccccaaddaggb-->abvadagb

public class Test {

public static void main(String[] args) {

List<String> list = new ArrayList<String>();

list.add("a");

list.add("a");

list.add("a");

list.add("b");

list.add("b");

list.add("c");

System.out.println("没有去重前的数据为>>>" + list.toString());

for (int i = 0; i < list.size() - 1; i++) {

for (int j = list.size() - 1; j > i; j--) {

if (list.get(j).equals(list.get(i))) {

list.remove(j);

}

}

}

System.out.println("去重后的数据为>>>" + list.toString());

}

}

135、利用 java 面向对象的思路设计正方形、长方形、圆的计算面积的类圆:

class MianJi {

float r;

float pai = (float) 3.14;

void gongShi() {

Float s = pai * r * r;

System.out.println("圆的面积为" + s);

}

void zhengFangXing(float bianChang) {

System.out.println("正方形的面积为" + bianChang * bianChang);

}

void changFangXing(float chang, float kuan) {

System.out.println("长方形的面积为" + chang * kuan);

}

public static void main(String[] arg) {

MianJi c = new MianJi();

System.out.println("请输入圆的半径:");

Scanner sc = new Scanner(System.in);

c.r = sc.nextFloat(); c.gongShi();

System.out.println("请输入正方形的边长:");

float bian = sc.nextFloat();

c.zhengFangXing(bian);

System.out.println("请输入长方形的长和宽:");

float chang = sc.nextFloat();

float kuan = sc.nextFloat();

c.changFangXing(chang, kuan);

}

}

136、任何>=6的偶数都可以分解为两个质数之和,从键盘输入一个偶数,输出其分解的质数

public class Test { public static void main(String[] args) { int num = inPut(); outPut(num); } public static int inPut() { Scanner sc = new Scanner(System.in); System.out.println("请输入大于 6 的偶数:"); int num = sc.nextInt(); if (num % 2 != 0 || num <= 6) { System.out.println("输入错误,请重新输入大于 6 的偶数:"); return inPut(); } return num; } public static boolean isPrim(int num) { for (int i = 2; i <= Math.sqrt((double) num); i++) { if (num % i == 0) { return false; } } return true; } public static void outPut(int num) { for (int i = 2; i <= num / 2; i++) { if (isPrim(i) == true && isPrim(num - i) == true) { System.out.println(i + " " + (num - i)); } } } }

137、什么叫对象?什么叫类?什么是面向对象(OOP)?

类的概念:类是具有相同属性和行为的一组对象的集合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。

对象的概念:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。从更抽象的角度来说,对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。客观世界是由对象和对象之间的联系组成的。

类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组有相同特性(属性)和相同行为(方法)的对象。

上面大概就是它们的定义吧,也许你是刚接触面象对象的朋友,不要被概念的东西搞晕了, 给你举个列子吧,如果你去中关村想买几台组装的PC机,到了那里你第一步要干什么,是不是装机的工程师和你坐在一起,按你提供的信息和你一起完成一个装机的配置单呀,这个配置单就可以想像成是类,它就是一张纸,但是它上面记录了你要买的PC机的信息,如果用这个配置单买10台机器,那么这10台机子,都是按这个配置单组成的,所以说这10台机子是一个类型的,也可以说是一类的。那么什么是对象呢,类的实例化结果就是对象,用这个配置单配置出来(实例化出来)的机子就是对象,是我们可以操作的实体,10 台机子,10 个对象。每台机子都是独立的,只能说明他们是同一类的,对其中一个机(对象)做任何动作都不会影响其它9台机器,但是我对类修改,也就是在这个配置单上加一个或少一个配件,那么装出来的9个机子都改变了,这是类和对象的关系(类的实例化结果就是对象)

138、JAVA中使用final修饰符,对程序有哪些影响?

● 修饰类

当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意 final 类中的所有成员方法都会被隐式地指定为final 方法。在使用 final 修饰类的时候,要注意谨慎选择,除非这个类真的在以后不会用来继承或者出于安全的考虑,尽量不要将类设计为 final类。

● 修饰方法

被final修饰的方法将不能被子类覆盖,主要用于:

把方法锁定,以防任何继承类修改它的含义。

在早期的Java实现版本中,会将final方法转为内嵌调用,所以效率能够提升。

● 修饰变量

对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。当用 final 作用于类的成员变量时,成员变量(注意是类的成员变量,局部变量只需要保证在使用之前被初始化赋值即可)必须在定义时或者构造器中进行初始化赋值,而且final变量一旦被初始化赋值之后,就不能再被赋值了。

139、写出 5 个你在 JAVA 开发中常用的包含(全名),并简述其作用。

● java.lang.*

提供利用Java编程语言进行程序设计的基础类。最重要的类是Object(它是类层次结构的根)和Class(它的实例表示正在运行的应用程序中的类)。

● java.util.*

包含集合框架、遗留的Collection类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期 Date 类、堆栈 Stack 类、向量 Vector 类等)。集合类、时间处理模式、日期时间工具等各类常用工具包。

● java.io.*

Java 的核心库java.io提供了全面的IO接口。包括:文件读写、标准设备输出等。Java 中 IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。

● java.net.*

并非所有系统都支持 IPv6 协议,而当 Java 网络连接堆栈尝试检测它并在可用时透明地使用它时,还可以利用系统属性禁用它。在IPv6不可用或被显式禁用的情况下,Inet6Address 对大多数网络连接操作都不再是有效参数。虽然可以保证在查找主机名时 java.net.InetAddress.getByName之类的方法不返回Inet6Address,但仍然可能通过传递字面值来创建此类对象。在此情况下,大多数方法在使用 Inet6Address 调用时都将抛出异常。

● java.sql.*

提供使用JavaTM编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的API。此API包括一个框架,凭借此框架可以动态地安装不同驱动程序来访问不同数据源。

140、方法重载(overload)需要满足什么条件,方法覆盖/方法重写(override)需要满足什么条件?

重载需要满足的条件:在同一类中定义的方法,方法名必须相同,参数一定不同。

发生覆盖的条件:“三同一不低”,子类和父类的方法名称,参数列表,返回类型必须完全相同,而且子类方法的访问修饰符的权限不能比父类低。子类方法不能抛出比父类方法更多的异常。即子类方法所抛出的异常必须和父类方法所抛出的异常一致,或者是其子类,或者什么也不抛出;被覆盖的方法不能是final类型的。因为final修饰的方法是无法覆盖的。被覆盖的方法不能为private。否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。被覆盖的方法不能为static。所以如果父类中的方法为静态的,而子类中的方法不是静态的,但是两个方法除了这一点外其他都满足覆盖条件,那么会发生编译错误。反之亦然。即使父类和子类中的方法都是静态的,并且满足覆盖条件,但是仍然不会发生覆盖,因为静态方法是在编译的时候把静态方法和类的引用类型进行匹配。

重写规则:重写方法不能比被重写方法限制有更严格的访问级别。(但是可以更广泛,比如父类方法是包访问权限,子类的重写方法是public访问权限)。比如:Object类有个toString()方法,开始重写这个方法的时候我们总容易忘记public修饰符,编译器当然不会放过任何教训我们的机会。出错的原因就是:没有加任何访问修饰符的方法具有包访问权限,包访问权限比 public当然要严格了,所以编译器会报错的。参数列表必须与被重写方法相同。重写有个孪生的弟弟叫重载,也就是后面要出场的。如果子类方法的参数与父类对应的方法不同,那么就是你认错人了,那是重载,不是重写。返回类型必须与被重写方法的返回类型相同。

父类方法A:void eat(){}子类方法B:int eat(){}两者虽然参数相同,可是返回类型不同,所以不是重写。

父类方法A:int eat(){} 子类方法 B:long eat(){} 返回类型虽然兼容父类,但是不同就是不同,所以不是重写。

评论0 赞同0
  •  加载中...
silenceboy

silenceboy

回答于2022-06-28 14:10

我会定时更新一些Java题库,现在好多做大的都商业化了,而且网上的面试题库有些太久了,不适合,我自己平时上下班地铁上会写一些面试题,纯粹也是为了让自己总结一下,顺便分享给大家,你可以关注看看。

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<