Java 2021最新Java面试题

trianno · 2021-04-08 13:57:45 · 热度: 23

一:Java基础

1:final 在 Java 中有什么作用?

2:Math.round(1.5) 等于多少?Math.round(-1.5)等于多少?

3:float f=3.5;是否正确?

4:3*0.1 == 0.3 将会返回什么?true 还是 false?

5:什么是值传递和引用传递?

6:为什么不能根据返回类型来区分重载?

7:请说出下面程序的输出,90%的程序人员都可能错?

class StringTest {
    public static void main(String[] args) {
        String s1 = "Programming";
        String s2 = new String("Programming");
        String s3 = "Program";
        String s4 = "ming";
        String s5 = "Program" + "ming";
        String s6 = s3 + s4;
        System.out.println(s1 == s2);
        System.out.println(s1 == s5);
        System.out.println(s1 == s6);
        System.out.println(s1 == s6.intern());
        System.out.println(s2 == s2.intern());
    }
}

8:Java语言如何进行异常处理,关键字:throws、throw、try、catch、finally分别如何使用?

9:什么是反射?

10:深拷贝和浅拷贝区别是什么?

二:集合容器

1:Collection 和 Collections 有什么区别?

2:为什么集合类没有实现Cloneable和Serializable接口?

3:HashMap 和 Hashtable 有什么区别?

4:TreeMap和TreeSet在 排序 时如何比较元素?

5:说一下 HashMap 的实现原理?

6:说一下 HashSet 的实现原理?

7:ArrayList 和 LinkedList 的区别是什么?

8:什么是Java优先级队列(Priority Queue)?

9:HashSet和TreeSet有什么区别?

10:Iterator 和 ListIterator 有什么区别?

三:多线程(目前共43个,选10个给大家看看)

1:Java中如何调度线程?

2:在监视器(Monitor)内部,是如何做线程同步的?

3:为什么 wait, notify 和 notifyAll 这些方法不在 thread 类里面?

4:什么是CAS?CAS存在的问题

5:线程池中 submit()和 execute()方法有什么区别?

6:多线程锁的升级原理是什么?

7:什么是死锁、活锁和饥饿?

8:说一下 synchronized 底层实现原理?

9:synchronized 和 ReentrantLock 区别是什么?

10:CycliBarriar 和 CountdownLatch 有什么区别?

四:JVM

1:说一下 JVM 的主要组成部分?及其作用?

2:说一下 JVM 运行时数据区?

3:说一下栈、堆和静态存储区的用法?

4:如果对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存?

5:什么是双亲委派模型?

6:说一下类加载的执行过程?

7:Java 中都有哪些引用类型?

8:说一下 JVM 有哪些垃圾回收器?

9:详细介绍一下 CMS 垃圾回收器?

10:简述分代垃圾回收器是怎么工作的?

五:Mysql

1:一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 mysql 数据库,又插入了一条数据,此时 id 是多少?

2:说一下数据库的事务隔离?

3:说说B树和B+树的区别?

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

5:说一下 mysql 的行锁和表锁?

6:MySQL数据库cpu飙升到500%,怎么处理?

7:超大分页如何处理?

8:什么是分库分表,是怎么做的?

9:MySQL的复制原理以及流程?

10:MySQL 数据库,一天五万条以上的增量,预计运维三年,怎么优化?

六:Spring和SpringMVC

1:什么是IoC和DI?DI是如何实现的?

2:构造方法注入和setter注入有什么区别?

3:解释一下什么是AOP?

4:你是如何理解”横切关注”这个概念的?

5:Spring如何处理线程并发问题?

6:阐述Spring框架中Bean的生命周期?

7:Spring 事务实现方式有哪些?

8:Spring 框架中都用到了哪些设计模式?

9:说一下 Spring mvc 运行流程?

10:怎样在控制器方法里面得到request或者session?

七:Redis

1:说说 Redis 的线程模型

2:什么是缓存穿透?怎么解决?

3:Redis 持久化有几种方式?

4:Redis 怎么实现分布式锁?

5:Redis 淘汰策略有哪些?内存淘汰机制有哪些?

6:Redis主从复制原理

7:为什么Redis哨兵集群只有2个节点无法正常工作?

8:说说quorum和majority 跟 主备切换的关系

8:Redis Cluster数据分布的算法

10:如果Redis要支撑超过10万+的并发,那应该怎么做?

八:Kafka

1:Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么

2:Kafka 消息是采用 Pull 模式,还是 Push 模式?

3:Kafka 高效文件存储设计特点:

4:讲讲 Kafka 维护消费状态跟踪的方法

5:消费者故障,出现活锁问题如何解决?

6:Kafka 的 ack 机制

7:如何保障Kafka中的消息不会丢失?

8:Kafka中如何保障顺序消费消息?

9:Kafka中用到的mmap是什么?

10:为什么Kafka不支持读写分离?

还有很多,还包括:

网络知识
设计模式
数据结构和算法
JDBC
Java Web
Hibernate
Mybatis

SpringBoot

分布式架构
Zookeeper
ElasticSearch
Netty

RabbitMQ

SpringCloud
Dubbo
等等方面的内容

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册