Java webJava

Java工程师面试题

2020-11-25  本文已影响0人  h2coder

JavaOOP

Java的数据结构有哪些?

Java中有几种数据类型

四型八种

String str="aaa",与String str=new String("aaa")一样吗?

String、StringBuffffer 和 StringBuilder 的区别是什么?

抽象类和接口的区别是什么?

有了equals(),为什么还需要hashCode()

介绍Java的强、弱、软、虚,4种引用

Java创建对象有几种方式?

有4种:

浅拷贝和深拷贝的区别是什么?

例如一个对象中有一个List,浅拷贝和深拷贝效果不同。

final、finalize()、finally,它们有什么区别?

使用JDBC中,如何防止SQL注入

Java集合、泛型

ArrayList和LinkedList的区别?

HashMap和HashTable的区别

Collection和Collections的不同

List、Set、Map,3者的区别

Array和ArrayList有什么区别?

说说List接口和它的实现类

说说Set接口和它的实现类

说说Map集合和它的实现类

什么是泛型?什么是泛型擦除?

Java异常面试题

Java异常分为哪几种?

介绍一下Java的异常处理机制

如果自定义一个异常

try-catch-finally,try中有return,finally还执行吗?

Excption与Error的关系

Java中的IO和NIO面试题

Java的IO流分为几种

Java IO流中40多个类,都是从以下4个抽象基类中派生出来的:

Java中IO和NIO的区别?

常用io类有哪些?

什么是Java NIO

什么是NIO的Channel

什么是NIO的Buffer

什么是NIO的Selector

Java反射面试题

Java反射创建对象效率高,还是new创建对象的效率高

Java反射的作用

哪里会用到反射机制

例如:加载MySQL的驱动类,如Hibernate、MyBatis等框架中会使用。

//加载MySQL的驱动类
Class.forName('com.mysql.jdbc.Driver.class');

反射机制的优缺点

Java注解面试题

注解是什么?

4种标准元注解是哪四种?

Java多线程、并发面试题

Java中实现多线程有几种方法

一共有4种方式

如何停止一个正在运行的线程

volatile是什么?可以保证有序性吗?

Thread 类中的start() 和 run() 方法有什么区别?

Java中synchronized 和 ReentrantLock 有什么不同?

SynchronizedMap和ConcurrentHashMap有什么区别?

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

两个方法都可以向线程池提交任务。

说一说自己对于 synchronized 关键字的了解

volatile关键字的作用?

简述一下你对线程池的理解

线程生命周期

什么是乐观锁?

什么是悲观锁?

什么是可重入锁(递归锁)

公平锁与非公平锁

在 Java 中 Executor 和 Executors 的区别?

MySQL面试题

什么是数据库引擎?

InnoDB底层数据结构是什么?适用什么场景?

MyIASM的优点和缺点是什么?

InnoDB与MyISAM的区别

什么是索引?有几种索引?索引越多越好吗?

常见索引原则

数据库的三范式是什么?

什么是数据库事务?

SQL优化

drop、delete与truncate的区别

什么是内联接、左外联接、右外联接?

并发事务带来哪些问题?

不可重复读和幻读的区别

事务隔离级别有哪些?MySQL的默认隔离级别是?

SQL 标准定义了四个隔离级别

但要注意,MySQL InnoDB在 REPEATABLE-READ(可重读)隔离级别下,使用的是Next-Key Lock 锁算法,因此可以避免幻读的产生,所以MySQL默认的的隔离级别,REPEATABLE-READ级别也达到了SERIALIZABLE(可串行化)级别的隔离要求。因为级别越高,事务请求的锁越多,所以大部分的数据库隔离级别都是READ-COMMITTED(读取已提交)。

大表如何优化?

分库分表后,主键id如何处理

分库分表后,每个表的id都是从1开始累加,这样是不对的,我们需要一个全局唯一id来支持。

MySQL中有哪几种锁?

NOW() 和 CURRENT_DATE() 有什么区别?

锁的优化策略

索引的底层实现原理和优化

索引的目的是什么?

索引对数据库系统的负面影响是什么?

为数据表建立索引的原则有哪些?

什么情况下不宜建立索引?

什么情况索引会失效

实践中如何优化 MySQL

优化数据库的方法

简单描述 MySQL 中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)

SQL 注入漏洞产生的原因?如何防止?

Redis面试题

Redis 的数据类型?

使用 Redis 有哪些好处?

Redis 相比 Memcached 有哪些优势?

Memcache 与 Redis 的区别都有哪些?

Redis 是单进程单线程的?

Redis持久化机制

什么是缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级,怎么解决

缓存雪崩

缓存穿透

缓存预热

缓存更新

缓存降级

单线程的redis为什么这么快

redis的数据类型,以及每种数据类型的使用场景

Redis 的持久化机制是什么?各自的优缺点?

Redis 提供两种持久化机制 RDB 和 AOF 机制

怎么理解 Redis 事务?

Spring面试题

什么是 Spring IOC 容器?

什么是依赖注入?

可以通过多少种方式完成依赖注入?

IOC有什么好处?

Spring的Scope有几种?

Spring 自动装配 bean 有哪些方式?

Spring 事务实现方式有哪些?

说一下Spring的事务隔离级别

Spring事务隔离级别比数据库事务隔离级别多一个default。

Spring事务传播属性

什么是 AOP?

AOP 有哪些实现方式?

实现AOP的技术,主要分为两大类。

Spring AOP 和 AspectJ AOP 有什么区别?

描述一下 DispatcherServlet 的工作流程

Spring Boot面试题

什么是 Spring Boot?

为什么要用SpringBoot?

SpringBoot有以下优点

Spring Boot 有哪些优点?

Spring Boot 的优点有

Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?

Spring Boot 的配置加载顺序是什么?

Spring Boot 的核心配置文件有哪几个?它们的区别是什么?

Spring Boot 的核心配置文件是 applicationbootstrap 配置文件。

MyBatis 面试题

什么是 Mybatis?

Mybaits 的优点

MyBatis 框架的缺点

MyBatis 框架适用场合

MyBatis 与 Hibernate 有哪些不同?

#{}${}的区别是什么?

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

MyBatis怎么确定Mapper方法唯一?允许参数不同的方法重载吗?

如何获取自动生成的主键值

对于主键是自增形式的,可以使用如下方式:

<insert id=”insertName”  useGeneratedKeys=”true” keyProperty=”id” keyColumn="id">
insert into names (name) values (#{name})
</insert>

在 Mapper 中如何传递多个参数?

Mybatis 动态 sql 有什么用?有哪些动态 sql?

MyBatis提供动态SQL能力,执行时根据标签上的逻辑判断表达式,动态拼接SQL。
MyBatis提供了9个动态SQL标签。

Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,可以存在同名的方法吗?

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

Mybatis 的一级、二级缓存

MyBatis 有几种分页方式?

4种方式

Spring Cloud面试题

什么是 Spring Cloud?

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

什么是微服务?

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

Eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?

微服务的优点缺点?说下开发项目中遇到的坑?

Eureka和Zookeeper区别

eureka自我保护机制是什么?

什么是Ribbon?

什么是feigin?它的优点是什么?

Ribbon和Feign的区别?

springcloud断路器作用?

上一篇 下一篇

猜你喜欢

热点阅读