java http长连接_java 面试专题一:(Java基础)第一篇

4faaa0ca55ead5c14a4d02e3c31d3888.png

一、Java基础

面向对象

1、面向对象和面向过程的区别

2、四个基本特性

3、重载和重写

4、构造器Constructor是否可被override

5、访问控制符

6、抽象类和接口的区别

语言特性

1、String和StringBuffer、StringBuilder的区别

2、hashCode和equals方法的关系

3、自动装箱与拆箱

4、什么是泛型、为什么要使用以及泛型擦除

5、Java中的集合类

6、Java中的异常

7、Java中的NIO,BIO,AIO

8、IO和NIO区别

9、序列化与反序列化

多线程

1、多线程的实现方式

2、线程的状态转换

3、如何停止一个线程

4、什么是线程安全

5、synchronized如何使用

6、synchronized和Lock的区别

7、sleep和wait的区别

8、死锁

9、Java线程池

10、并发工具类和并发容器类

11、volatile关键字

二、Java虚拟机

内存管理

1、内存区域与内存溢出异常

2、垃圾收集器与内存分配策略

虚拟机执行子系统

1、虚拟机类加载

2、字节码执行

Java内存模型

三、流行框架与技术

spring

Spring概述

1、Spring有哪些特点?

2、使用Spring有什么好处?

3、Spring应用程序看起来像什么?

4、Spring核心容器模块是什么?

5、为了降低Java开发的复杂性, Spring采取了哪几种策略

6、谈谈Spring框架几个主要部分组成

SpringBean

1、说一下Spring中支持的bean作用域

2、Spring框架中单例beans是线程安全的吗?为什么?

3、解释Spring框架中bean的生命周期

4、哪些是最重要的bean生命周期方法?能重写它们吗?

5、Spring容器实例化Bean有多少种方法?分别是什么?

6、如何减少Spring XML的配置数量

7、什么是bean自动装配?并解释自动装配的各种模式?

8、自动装配有哪些好处和坏处?

9、是不是所有类型都能自动装配?如果不是请举例

10、什么是循环依赖?

11、Spring如何解决循环依赖?

SpringMVC

1、SpringMVC的工作流程和原理是什么?

2、SpringMVC与Struts2的主要区别?

3、SpringMVC的控制器是不是单例模式,如果是有什么问题,怎么解决

Spring注解

1、Spring注解的基本概念和原理

2、举例说明什么是Spring基于Java的配置?

3、什么是基于注解的容器配置?

4、@Autowired @Resource @Inject 的区别

Spring AOP

1、什么是AOP,有什么作用,能应用在什么场景?

2、什么是织入,织入的时机是什么

3、什么是切入点,关注点,连接点

4、Spring提供了几种AOP支持?

Spring JDBC

1、举例说明什么是事物以及其特点

2、Java EE事务类型有哪些?应用场景是什么?Spring是如何实现的?

3、Spring有几个事物隔离级别,分别详述

4、描述下SpringJDBC的架构

5、描述下Spring事务处理类及其作用

6、Spring提供几种事物实现?分别是什么?各有什么优缺点?

7、JdbcTemplate有哪些主要方法

8、JdbcTemplate支持哪些回调类

mybatis

1、什么是MyBatis?简述MyBatis的体系结构

2、列举MyBatis的常用API及方法

3、对于Hibernate和MyBatis的区别与利弊,谈谈你的看法

4、#{}和${}的区别是什么?

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

6、简述Mybatis的插件运行原理,以及如何编写一个插件

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

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

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

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

11、Mybatis是否可以映射Enum枚举类?

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

13、Mybatis能否执行一对一、一对多关联查询?都有哪些实现方式,它们之间有什么区别

14、什么是MyBatis的接口绑定,有什么好处

15、iBatis和MyBatis在细节上的不同有哪些

16、讲下MyBatis的缓存

四、分布式服务

SpringCloud

1、微服务是如何保护自己的

2、客户端与服务端负载均衡区别

3、路由网关原理

4、如何解决微服务多配置问题

5、各服务之间如何调用

6、注册中心工作原理

7、如何保证服务健康的情况

SpringBoot

1、与SpringMVC差异化在哪

2、为什么说Spring是一个容器

3、常用注解@Required @Autowired @Qualifier @Controller @RequestMapping

4、谈谈对AOP的理解

5、怎样开启注解装配

6、描述模板JdbcTemplate RestTemplate

7、Spring支持的事务管理类型

8、Spring框架的事务管理有哪些优点

9、Spring Boot Starter内容及工作原理

Dubbo

1、什么是RPC框架

2、序列化方式及作用

3、如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?

4、dubbo连接注册中心和直连的区别

5、dubbo底层协议

6、dubbo注册中心如何设置

7、dubbo负载均衡的理解

8、dubbo服务的容错机制

9、服务调用超时的实现原理是什么?

10、描述服务注册与发现流程怎样实现

11、服务提供者能实现失效踢出是什么原理

五、数据库与nosql

mysql

1、各个数据库引擎区别

2、提高sql语句的技巧(sql优化)

3、怎么样做执行计划分析

4、创建索引的注意事项

5、sql语句场景

6、怎么样做mysql的高可用(读写分离、分库分表、集群)

mongoDB

1、与mysql区别

2、nosql的应用场景

3、mongodb的索引注意事项

4、怎么样做mongodb查询优化

5、常用命令考察

6、mongodb是怎么实现高可用?(复制、分片)

redis

1、结合项目经验,说下redis应用场景

2、redis支持数据类型?各有什么特点?

3、有什么持久化策略?各有什么特点

4、redis如何事务支持?与一般意义上的事务有何区别

5、介绍下哨兵机制

6、介绍redis集群方案?以及其原理

7、redis能做读写分离吗?同步策略是怎么实现的?

8、与memcached区别

六、算法与数据结构

数据结构

1、队列

2、堆栈

3、链表

4、树(二叉树、B+树、哈夫曼树)

算法

1、广度优先、深度优先(图)

2、常见排序算法(时间复杂、空间复杂)(冒泡、选择、插入、希尔、归并、快排、堆排、桶排)

3、常见查找算法(时间复杂、空间复杂)

4、hash原理 hashmap内部实现

七、通讯协议

TCP/IP

1、解释TCP长连接和短连接

2、Java如何实现Socket长连接和短连接

3、TCP与UDP的区别

4、TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用

5、电脑上访问一个网页,整个过程是怎么样的:如浏览器、网络(UDP,TCP,HTTP等),以及服务器等各种参数与对象上由此引发的一系列活动。请尽可能的涉及到所有的关键技术点。

Http

1、解释与说明HTTP协议的几个重要概念

2、Http的报文结构

3、Get/Post 以及幂等性

4、Http怎么处理长连接

5、Http Request的几种类型

6、Http几个版本,版本间有什么区别

7、如果客户端不断的发送请求连接会怎样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值