java面试题

简介: java面试题

1、Java基础

基础知识很多,不过多介绍,主要是面试笔试高频考察点


JVM虚拟机(初级可以不精通,但必须熟悉)


虚拟机的结构、类的加载机制、双亲委派机制


垃圾回收机制、垃圾回收算法


Java的基础语法、流程控制语句 (掌握)


基本数据类型以及包装类之间的转换


对象创建过程中JVM中堆与栈中分别存储了什么?


面向对象(掌握)


什么是面向对象?特性?与面向过程的好处与区别?


接口以及抽象(掌握)


接口与抽象的特点以及区别?


什么是面向接口编程?什么是面向抽象编程?有什么好处?


集合框架(数据结构) (重点掌握)


了解集合体系、底层结构,哪些是线性安全?哪些是线性不安全?


线性不安全时在多线程并发时要注意哪些问题?


如何避免线性不安全带来的数据安全问题?


异常


error与运行时异常的区别?


异常的处理机制、自定义异常、常见的异常有哪些?


IO流、异步IO、NIO、BIO(掌握)


熟悉各种输入输出流的用法


从系统吞吐效率考虑,异步IO与阻塞IO的区别,以及如何实现


多线程以及JUC(重点掌握)


实现多线程的三种方法?掌握消费者与生产者问题


锁机制、各种锁的基本概念、自旋锁、原子引用,Java的内存模型,内存可见性等等


JUC包下的常用线性安全的类


反射(掌握)


什么是反射?反射的基本用法?(几乎所有的框架底层都使用了反射,进阶分析源码必备)


常用类以及工具类的使用(面试题可能会手写代码)(掌握)


String类、StringBuffer、StringBuilder、Date等等


基础的笔试:(掌握)


冒泡排序、选择排序、二分查找、二叉树、链表的实现、利用集合类的特性去重、排序等等


2、Java Web

该部分会考察网络有关的支持


Http基于Tcp\ip协议


TCP为什么三次握手,要四次挥手?


为什么说TCP是可靠传输?


request请求


请求头、请求体、get、post请求的区别?


HttpServletRequest的api使用?


请求的生命周期?


response响应


请求头、请求体、HttpServletResponse的api使用


servlet


什么是servlet? servlet的生命周期?service方法源码?doget\dopost方法?


web.xml中servlet的配置、中文乱码过滤的三种方法?


context上下文


session and cookie工作原理?


什么是转发?什么重定向?区别是什么?


Tomcat的架构?工作原理?基本配置?


过滤器


什么是过滤器?如何自定义过滤器?


拦截器


什么是拦截器?如何自定义拦截器?


maven使用,idea使用,mysql数据库相关?


大厂面试题:


浏览器地址栏中输入地址回车,到页面渲染都发生了什么?

http 1.0 与http 2.0的区别?

在本机的Tomcat上如何使用地址解析?

3、spring

什么是spring?

什么是控制反转?

什么是依赖注入?如何实现依赖注入?

什么是AOP面向切片?

AOP的实现方法?

spring的注解开发?配置版开发?

javaBean的自动装配?属性注入?

Autoword与resource的区别?

注入方式有哪些?以及底层实现?

静态代理以及实现?

动态代理以及实现?jdk 与cglib?

声明式事务

集成mybatis

spring 涉及到的设计模式?

4、spring mvc

springMvc的工作原理?请求的生命周期?

springMvc的注解版开发?

MVC三层架构?

ssm三大框架的集成(spring\springmvc\mybatis)

5、spring boot

场景启动器

自动配置原理(面试高频重点)必须了解源码

集成各种数据库redis、mongodb等

集成中间件kafka、druid等

静态资源配置等

相关文章
|
15天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
45 2
|
3天前
|
Java 程序员
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
小米,29岁程序员,分享了一次面试经历,详细解析了Java中&和&&的区别及应用场景,展示了扎实的基础知识和良好的应变能力,最终成功获得Offer。
26 14
|
20天前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
25天前
|
存储 缓存 Oracle
Java I/O流面试之道
NIO的出现在于提高IO的速度,它相比传统的输入/输出流速度更快。NIO通过管道Channel和缓冲器Buffer来处理数据,可以把管道当成一个矿藏,缓冲器就是矿藏里的卡车。程序通过管道里的缓冲器进行数据交互,而不直接处理数据。程序要么从缓冲器获取数据,要么输入数据到缓冲器。
Java I/O流面试之道
|
21天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
43 4
|
22天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
75 4
|
2月前
|
存储 安全 算法
Java面试题之Java集合面试题 50道(带答案)
这篇文章提供了50道Java集合框架的面试题及其答案,涵盖了集合的基础知识、底层数据结构、不同集合类的特点和用法,以及一些高级主题如并发集合的使用。
100 1
Java面试题之Java集合面试题 50道(带答案)
|
2月前
|
存储 Java 程序员
Java面试加分点!一文读懂HashMap底层实现与扩容机制
本文详细解析了Java中经典的HashMap数据结构,包括其底层实现、扩容机制、put和查找过程、哈希函数以及JDK 1.7与1.8的差异。通过数组、链表和红黑树的组合,HashMap实现了高效的键值对存储与检索。文章还介绍了HashMap在不同版本中的优化,帮助读者更好地理解和应用这一重要工具。
55 5
|
2月前
|
存储 Java
[Java]面试官:你对异常处理了解多少,例如,finally中可以有return吗?
本文介绍了Java中`try...catch...finally`语句的使用细节及返回值问题,并探讨了JDK1.7引入的`try...with...resources`新特性,强调了异常处理机制及资源自动关闭的优势。
23 1
|
2月前
|
Java 程序员
Java 面试高频考点:static 和 final 深度剖析
本文介绍了 Java 中的 `static` 和 `final` 关键字。`static` 修饰的属性和方法属于类而非对象,所有实例共享;`final` 用于变量、方法和类,确保其不可修改或继承。两者结合可用于定义常量。文章通过具体示例详细解析了它们的用法和应用场景。
30 3