1000 Jave Interview Questions
一、Java基础
18.break ,continue ,return 的区别及作用
28.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对 不对?
29.构造器(constructor)是否可被重写(override)?
35.Java 中操作字符串都有哪些类?它们之间有什么区别?
36.String str = “i” 和String str = new String(“1”)一样吗?
42.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
46.访问修饰符public,private,protected,以及不写(默认)时的区别?
二、Java IO
10.流一般需要不需要关闭,如果关闭的话在用什么方法,一般要在那个代码块里面关闭比较好,处理流是怎么关闭的,如果有多个流互相调用传入是怎么关闭的?
11.什么是节点流,什么是处理流,它们各有什么用处,处理流的创建有什么特征?
三、Java虚拟机
13.Java 8 为什么要将永久代(PermGen)替换为元空间(MetaSpace)呢?
22.JVM中一次完整的GC流程是怎样的,对象如何晋升到老年代?
四、Kafka
3.Controller发生网络分区(NetworkPartitioning)时,Kafka会怎么样?
4.Kafka的哪些场景中使用了零拷贝(ZeroCopy)?
14.阐述下Kafka中的领导者副本(LeaderReplica)和追随者副本(FollowerReplica)的区别
23.kafkaunclean配置代表啥?会对sparkstreaming消费有什么影响?
24.kafkaproducer打数据,ack为0,1,-1的时候代表啥,设置-1的时候,什么情况下,leader会认为一条消息commit了
28.kafkafollower如何与leader同步数据?
29.kafka中的zookeeper起到什么作用?可以不用zookeeper么?
五、Linux
4.用一条命令显示本机eth0网卡的IP地址,不显示其它字符?
15.把当前目录下所有后缀名为.txt的文件的权限修改为777?
22.打印/etc/ssh/sshd_config的第一百行?
23.用sed命令将指定的路径/usr/local/http替换成为/usr/src/local/http?
六、Mybatis
2.Mybatis都有哪些Executor执行器?它们之间的区别是什么?
3.Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
4.Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别。
5.Mybatis全局配置文件中有哪些标签?分别代表什么意思?
8.Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?
七、MySQL
3.自增主键最大ID记录,MyISAM和InnoDB分别是如何存储的
18.关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?
20.MySQL的binlog有有几种录入格式?分别有什么区别?
26.在哪些情况下会发生针对该列创建了索引但是在查询的时候并没有使用呢?
八、Netty
九、RabbitMQ
4.如何确保消息正确地发送至RabbitMQ?如何确保消息接收方消费了消息?
9.若cluster中拥有某个queue的owner node失效了,且该queue 被声明具有 durable属性,是否能够成功从其他node上重新声明该 queue ?
10.客户端连接到cluster中的任意node上是否都能正常工作?
11.在单node系统和多node构成的cluster系统中声明queue、exchange,以及进行 binding会有什么不同?
12.什么是元数据?元数据分为哪些类型?包括哪些内容?与cluster相关的元数据有哪 些?元数据是如何保存的?元数据在cluster中是如何分布的?
十、Redis
5.MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都 是热点数据?
十一、Spring
5.Bean 工厂和 Application contexts 有什么区别?
11.BeanFactory和ApplicationContext有什么区别?
十二、Spring Boot
1.SpringBoot 2.X有哪些新特性?与1.X有什么区别?
3.Spring Boot的核心注解是哪些?他由哪几个注解组成的?
5.比较一下Spring Security和Shiro各自的优缺点?
7.什么是Swagger?你用Spring Boot实现了吗?
8.如何使用配置文件通过 Spring Boot 配置特定环境的配置?
10.如何在 Spring Boot 中添加通用的 JS 代码?
12.为什么我们需要 spring-boot-maven-plugin?
13.Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗?
14.怎么使用 Maven 来构建一个 SpringBoot 程序?
15.如何在 Spring Boot 中禁用 Actuator 端点安全性?
17.如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
十三、Spring Cloud
1.Eureka和zookeeper都可以提供服务注册与发现的功能,两者的区别
2.SpringCloud Config可以实现实时刷新吗?
十四、Zookeeper
十五、多线程
1.你将如何使用thread dump?你将如何分析Thread dump?
2.在Java中Lock接口比synchronized块的优势是什么?你需要实现一个高效的缓存, 它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现 它?
3.高并发、任务执行时间短的业务怎样使用线程池?并发不高、任务执行时间长的业务 怎样使用线程池?并发高、业务执行时间长的业务怎样使用线程池?
5.Hashtable的size()方法中明明只有一条语句”return count”,为什么还要做同步?
13.synchronized 关键字和 volatile 关键字的区别
18.为什么我们调用 start() 方法时会执行 run() 方法,为什么我们不能直接调用 run() 方法?
30.CyclicBarrier和CountDownLatch的区别
40.ReentrantLock与synchronized的区别
十六、分布式
十七、计算机网络
十八、设计模式
十九、数据结构与算法
11.TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何 比较元素?
二十、微服务
1.作为服务注册中心,Eureka比Zookeeper好在哪里?
6.请谈谈对SpringBoot 和SpringCloud的理解
二十一、消息队列
2.如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万 消息持续积压几小时怎么解决?
二十二、Docker
1.在 非 Linux 操作系统平台上如何运行 Docker ?
2.在 Windows 系统上可以运行原生的 Docker 容器吗?
9.Docker Image 和 Docker Layer (层) 有什么不同
11.如何使用 Docker 技术创建与环境无关的容器系统?
12.启动nginx容器(随机端口映射),并挂载本地文件目录到容器html的命令?
二十三、Dubbo
二十四、Elasticsearch
2.在并发情况下,Elasticsearch 如果保证读写一致?
3.对于 GC 方面,在使用 Elasticsearch 时要注意什么?
4.在 Elasticsearch 中,是怎么根据一个词找到对应的倒排索引的?
6.Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?
12.ElasticSearch中的集群、节点、索引、文档、类型是什么?
13.在并发情况下,Elasticsearch如果保证读写一致?
14.Elasticsearch对于大数据量(上亿量级)的聚合如何实现?
16.详细描述一下Elasticsearch更新和删除文档的过程
17.详细描述一下Elasticsearch索引文档的过程。
18.Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选 了另一个master,怎么办?
二十五、Java8
1.Lambda表达式的参数列表与Lambda箭头运算符有何不同?
二十六、Java高并发
11.什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing)?
二十七、Java集合
3.为何Collection不从Cloneable和Serializable接口继承?
6.谈谈对HashMap 构造方法中初始容量、加载因子的理解
11.ConcurrentHashMap和Hashtable的区别?
15.Comparable和Comparator接口有何区别?
22.hashCode()和equals()方法有何重要性?
二十八、Jenkins
二十九、Kubernetes
1.Replica Set 和 Replication Controller之间有什么区别?
8.kube-apiserver和kube-scheduler的作用是什么?
11.Kubernetes Architecture的不同组件有哪些?
三十、Maven
三十一、MongoDB
2.如何理解MongoDB中的GridFS机制,MongoDB为何使用GridFS来存储文件?
7.为什么在MongoDB中使用”Object ID”数据类型
三十二、Mycat
三十三、Nginx
1.请陈述stub_status和sub_filter指令的作用是什么?
5.ngx_http_upstream_module的作用是什么?
三十四、RocketMQ
4.如果让你来动手实现一个分布式消息中间件,整体架构你会如何设计实现?
三十五、Servlet
三十六、Shiro
三十七、Tomcat
7.tomcat容器是如何创建servlet类实例?用到了什么原理?