2019年自做407道java面试题答案

constxiong constxiong     2023-05-01     282

关键词:

基础与语法

  • JDK和JRE有什么区别?
  • ==和equals的区别是什么?
  • 基本类型和包装类对象使用 == 和 equals进行比较的结果?
  • 什么是装箱?什么是拆箱?装箱和拆箱的执行过程?常见问题?
  • hashCode()相同,equals()也一定为true吗?
  • final在java中的作用
  • final finally finalize()区别
  • finally语句块一定执行吗?
  • final与static的区别
  • return与finally的执行顺序对返回值的影响
  • String对象中的replace和replaceAll的区别?
  • Math.round(-1.5) 等于多少?
  • String属于基础的数据类型吗?
  • java中操作字符串都有哪些类?它们之间有什么区别?
  • 如何将字符串反转?
  • String类的常用方法有哪些?
  • 普通类和抽象类有哪些区别?
  • 抽象类必须要有抽象方法吗?
  • 抽象类能使用final修饰吗?
  • 接口和抽象类有什么区别?
  • Java访问修饰符有哪些?权限的区别?
  • Java中的 << << >>> 是什么?
  • javap的作用是什么?
  • throw和throws的区别?
  • try-catch-finally中哪个部分可以省略?
  • 常见的异常类有哪些?
  • 什么是JAVA内部类?
  • nio中的Files类常用方法有哪些?
  • 什么是反射?有什么作用?
  • 动态代理是什么?应用场景?
  • 怎么实现动态代理?
  • 什么是java序列化?什么情况下需要序列化?
  • 什么场景要对象克隆?
  • 深拷贝和浅拷贝区别是什么?
  • 如何实现对象克隆与深拷贝?
  • Java跨平台运行的原理
  • Java的安全性体现在哪里?
  • Java针对不同的应用场景提供了哪些版本?
  • 什么是JVM?
  • 什么是JDK?
  • 什么是JRE?
  • JDK、JRE、JVM之间的关系是什么样的?
  • Java语言有哪些注释的方式?
  • Java中有几种基本数据类型?它们分别占多大字节?
  • i++和++i的作用和区别
  • &和&&的作用和区别
  • |和||的作用和区别
  • 如何让计算机最高效的算出2乘以8?
  • Java中基本类型的转换规则
  • if-else-if-else与switch的区别
  • while和do-while的区别
  • break语句的作用
  • continue语句的作用
  • Java中数组有什么特征?
  • 可变参数的作用和特点是什么?
  • 类和对象的关系
  • 说一说你的对面向过程和面向对象的理解
  • 方法重载和重写是什么?有什么区别?
  • this和super关键字的作用
  • static关键字的作用是什么?
  • abstract关键字的作用是什么?
  • java.lang.Object的常用方法?
  • 子类构造方法的执行过程是什么样的?
  • ==和equals的区别是什么?
  • 什么是Java的多态?
  • instanceof关键字的作用是什么?
  • 什么是Java的垃圾回收机制?
  • 什么是包装类?为什么要有包装类?基本类型与包装类如何转换?
  • 基本类型和包装类的区别?
  • java.sql.Date和java.util.Date的区别
  • 关于Java编译,下面哪一个正确()
  • 关于构造方法,下列说法正确的是()
  • Java中接口的修饰符可以是()
  • 以下代码将输出()
  • 关于关键字的使用说法错误的是()
  • 关于内存回收正确的是()
  • 哪些标识符合法?
  • 说法正确的是()
  • 定义一个Java类,可被所有类访问,申明正确的是()
  • 说说你对面向对象的理解
  • 内存泄漏和内存溢出的区别
  • 不通过构造方法能创建对象吗?
  • 匿名内部类可以继承类或实现接口吗?为什么?
  • 什么是多态?如何实现?有什么好处?
  • Java中关于继承,错误的是()
  • Math.random()的返回值是多少?
  • 同步代码块和同步方法有什么区别?
  • 内部类和静态内部类有什么区别?
  • 下列运算符合法的是()
  • 打印值是多少?
  • 关于抽象,正确的是()
  • 正确的是()
  • 正确的是()
  • 错误的是()
  • 哪些不能修饰 interface
  • 正确是的()
  • 存在i+1< i的数吗?为什么?
  • 接口可否继承接口?抽象类是否可实现接口?抽象类是否可继承实体类?
  • 可序列化对象为什么要定义serialversionUID值?
  • 十进制100转换成八进制是多少?
  • Class类的getDeclaredFields()与getFields()方法的区别?
  • final修饰变量,是引用不能变?还是引用的对象不能变?
  • 解释以下正则表达式的含义
  • 声明合法的是()
  • 下面打印结果是?
  • Java属于编译型还是解释型语言?
  • 如果有两个类A、B(注意不是接口),如何编写C类同时使用这两个类的功能?
  • 构造方法是否可以被重载?重写?
  • 基本类型byte表示的数值范围是多少?
  • 日期类型如何格式化?字符串如何转日期?
  • 当输入为2的时候返回值是
  • System.out.println(‘a‘+1);的结果是
  • 静态与非静态成员变量区别?
  • 二进制数,小数点向右移一位,值会发生什么变化?
  • 下面两段代码的区别是?
  • swtich能否作用在byte、long、String上?
  • 在Java 中,如何跳出当前的多重嵌套循环?
  • 为什么不能根据返回类型来区分方法重载?
  • Inner Class和Static Nested Class的区别?
  • abstract方法是否可是static的?native的?synchronized的?
  • 静态方法内部能对非静态调用吗?
  • 内部类可以引用它的外部类的成员吗?有什么限制?
  • 打印结果是什么
  • 说说字符串与基本数据之间的转换
  • GB2312编码的字符串如何转换为ISO-8859-1编码?
  • Java中的日期与时间获取与转换?
  • 反射主要实现类有哪些?
  • Class类的作用是什么?如何获取Class对象?
  • 面向对象设计原则有哪些?
  • 反射的使用场景、作用及优缺点?
  • 下面代码的输出是?
  • 关于String[] strArr=new String[10];正确的是()
  • 写一个方法实现String类的replaceAll方法
  • String类是否可以继承?
  • String、StringBuilder、StringBuffer的区别?
  • 为什么String类被设计用final修饰?
  • String s = new String("xyz");创建几个String对象?
  • String s="a"+"b"+"c"+"d";创建了几个对象?
  • 对比一下Java和JavaSciprt
  • 什么是assert?

集合

  • java 有哪些常用容器(集合)?
  • ArrayList和Vector的联系和区别
  • Collection和Collections有什么区别?
  • List、Set、Map 之间的区别是什么?
  • HashMap和Hashtable 有什么区别?
  • 如何决定使用HashMap还是TreeMap?
  • ArrayList和LinkedList的区别是什么?
  • Array和ArrayList有何区别?
  • 如何实现数组和List之间的转换?
  • Queue的add()和offer()方法有什么区别?
  • Queue的remove()和poll()方法有什么区别?
  • Queue的element()和peek()方法有什么区别?
  • 哪些集合类是线程安全的?
  • 迭代器Iterator是什么?
  • Iterator怎么使用?有什么特点?
  • Iterator和 ListIterator有什么区别?
  • 怎么确保一个集合不能被修改?
  • 为什么基本类型不能做为HashMap的键值?
  • HashMap的键值需要注意什么?
  • Java中已经数组类型,为什么还要提供集合?
  • TreeSet的原理是什么?使用需要注意什么?
  • HashSet实现原理是什么?有什么特点?
  • 正确的是()
  • HashSet和HashMap有什么区别?
  • ArrayList list=new ArrayList(10);中的list扩容几次?
  • List、Set、Map哪个继承自Collection接口?
  • ArrayList与LinkedList哪个插入性能高?
  • LinkedHashMap、LinkedHashSet、LinkedList哪个最适合当作Stack使用?
  • Map的实现类中,哪些是有序的,哪些是无序的,如何保证其有序性?
  • TreeMap和TreeSet在排序时如何比较元素?
  • Collections工具类中的sort方法如何比较元素?
  • List里如何剔除相同的对象?
  • Java.util.Map的常用实现类有哪些?
  • List、Set、Map 是否继承自 Collection 接口?
  • Vector、ArrayList、LinkedList 的存储性能和特性?
  • List、Map、Set 三个接口,存取元素时,各有什么特点?

网络编程

  • java中IO流有哪些?
  • BIO、NIO、AIO有什么区别?
  • tcp和udp的区别?
  • tcp为什么要三次握手,两次不行吗?为什么?
  • tcp粘包是怎么产生的?
  • OSI的七层模型有哪些?
  • 面向字符的输入流是()
  • 如何读取文件a.txt中第10个字节?
  • 关于流的创建,错误的是()
  • JDK中什么类可以通过流写入数据到内存?
  • 如何将字符串写入文件?
  • 输入流和输出流的区别
  • 列举常用字节输入流和输出流
  • 节点流和处理流区别
  • 字节流和字符流区别与适用场景
  • 缓冲流的优缺点
  • Java实现文件夹复制
  • Java中的Socket是什么?
  • 基于TCP和UDP的Socket编程的主要步骤

并发

  • 并行是什么意思?与并发的区别是什么?
  • 什么是线程?什么是进程?为什么要有线程?有什么关系与区别?
  • 什么是守护线程?
  • 如何创建、启动 Java 线程?
  • 什么是并发编程?
  • 为什么要用并发编程?
  • 并发编程的缺点?
  • 导致并发程序出问题的根本原因是什么?
  • Java 程序中怎么保证多线程的运行安全?
  • 如何优雅地停止一个线程?
  • 线程包括哪些状态?状态之间是如何变化的?
  • 什么是线程池?
  • 线程池包含哪些状态?
  • Executors创建线程池有哪几种方式?
  • 如何停止一个线程池?
  • synchronized关键字的作用是什么?
  • volatile关键字的作用是什么?
  • Java中的锁是什么?
  • 锁如何使用?有什么注意事项?
  • 可重入锁与不可重入锁之间的区别与性能差异?
  • Java中的锁之间的区别是什么?
  • synchronized锁的升级原理是什么?
  • 什么是死锁?
  • 如何避免死锁?
  • 什么是活锁和饥饿?
  • Java中有哪些无锁技术来解决并发问题?如何使用?
  • 什么是 Java 内存模型?
  • 什么是 happens-before 原则?
  • sleep()和wait()有什么区别?
  • Runnable和Callable有什么区别?
  • notify()和notifyAll()有什么区别?
  • 线程池中submit()和execute()方法有什么区别?
  • ThreadLocal有什么作用?有哪些使用场景?
  • synchronized和volatile的区别是什么?
  • synchronized和Lock有什么区别?
  • synchronized和ReentrantLock区别是什么?
  • ReadWriteLock如何使用?
  • JDK中Atomic开头的原子类实现原子性的原理是什么?
  • 介绍一下ForkJoinPool的使用
  • LongAdder与AtomicLong有什么区别?
  • 乐观锁与悲观锁是什么?
  • 使用对象的wait()方法需要注意什么?
  • 哪种方式不会使线程进入阻塞状态()
  • volatile关键字能否保证线程安全?
  • 如何保证多个线程同时启动?
  • 同步和异步有何异同,分别在什么情况下使用?
  • 创建进程需要()
  • sleep()和yield()有什么区别?
  • 说说与线程相关的方法
  • 线程的run()方法和start()方法有什么区别?
  • 说说对于sychronized同步锁的理解
  • Java中实现线程通信方式有哪些?

WEB

  • jsp和servlet有什么区别?
  • jsp有哪些内置对象?作用分别是什么?
  • jsp的4种作用域?
  • session和cookie有什么区别?
  • session的工作原理?
  • 客户端禁止cookie,session还能用吗?
  • http响应码301和302代表的是什么?有什么区别?
  • forward和redirect的区别?
  • get和post请求有哪些区别?
  • 如何实现跨域?
  • 什么是JSONP?
  • HTML、CSS、Javascript在Web开发中的作用?
  • body中的onload事件和document.ready()有什么区别?
  • 写一些常见的Javascript正则表达式?
  • Javascript正则表达式使用方式有哪些?
  • jQuery中有哪些选择器?
  • div居中和内容居中的css属性设置
  • JavaScript中null、undefined有什么区别?
  • Servlet中的doPost和doGet方法有什么区别?传递和获取参数上有什么区别?
  • jQuery中get与eq方法的区别
  • 如何配置一个servlet?
  • JavaScript如何定义含有数值1至3的数组?
  • 常见的HTTP协议状态码?

安全

  • 如何避免sql注入?
  • 什么是XSS攻击,如何避免?
  • 什么是CSRF攻击,如何避免?

设计模式

  • 常用的设计模式有哪些?
  • 简单工厂和抽象工厂有什么区别?
  • 为什么Java中一个类可以实现多个接口,但只能继承一个类?
  • 什么是UML?

框架

  • 为什么要使用spring框架?
  • 什么是aop?
  • 什么是ioc?
  • spring有哪些主要模块?
  • spring常用的注入方式有哪些?
  • spring中的bean是线程安全的吗?
  • spring支持几种bean的作用域?
  • spring自动装配bean有哪些方式?
  • spring事务实现方式有哪些?
  • 介绍一下spring mvc
  • spring mvc运行流程?
  • spring mvc有哪些组件?
  • @RequestMapping的作用是什么?
  • @Autowired的作用是什么?
  • 什么是spring boot?为什么要用?
  • spring boot核心配置文件是什么?
  • spring boot有哪些方式可以实现热部署?

数据结构与算法

  • 递归计算n!
  • 什么是递归?递归的优缺点是什么?
  • 什么是复杂度?为什么要进行复杂度分析?
  • 什么是时间复杂度?什么是空间复杂度?
  • 如何进行复杂度分析?
  • 使用递归输出某个目录下所有子目录和文件
  • 常见加密算法有哪些?是否对称?
  • 合并两个有序的链表
  • 单向链表的反转
  • 一个不包含相同元素的整数集合,返回所有可能的不重复子集集合
  • 正确的是()
  • 统计某字符串在文件中出现的次数
  • 统计一段长字符串中某字符串的出现次数

异常

  • 列举一些列举常见的运行时异常
  • OutOfMemoryError的原因有哪些?怎么解决?
  • Unsupported major.minor version 52是什么造成的,如何解决?
  • Java中如何进行异常处理?throws、throw、try、catch、finally分别如何使用?
  • 运行时异常与受检异常有何异同?
  • 异常的设计原则有哪些?

文件解析与生成

  • Java中有哪些解析XML的类库?有什么特点?
  • 解析xml的方式有哪些?如何选择?
  • XML 文档定义有几种形式?有何区别?
  • 解析XML文档有哪些种方式?
  • XML的使用场景有哪些?

linux

  • 什么是Linux?
  • linux如何添加新系统用户?
  • 什么是bash别名?
  • 什么是linux内核?包括哪些模块?
  • linux指令-ls
  • linux指令-cd
  • linux指令-pwd
  • linux指令-mkdir
  • linux指令-rm
  • linux指令-rmdir
  • linux指令-mv
  • linux指令-cp
  • linux指令-cat
  • linux指令-more
  • linux指令-less
  • linux指令-tail
  • linux指令-head
  • linux指令-which
  • linux指令-whereis
  • linux指令-locate
  • linux指令-find
  • linux指令-chmod
  • linux指令-tar
  • linux指令-chown
  • linux指令-df
  • linux指令-du
  • linux指令-ln
  • linux指令-date
  • linux指令-cal
  • linux指令-grep
  • linux指令-wc
  • linux指令-ps
  • linux指令-top
  • linux指令-kill
  • linux指令-free

MySQL

  • 如何创建和删除数据库?
  • MyISAM与InnoDB的区别?
  • char与varchar的区别
  • 建表语句中varchar(50)中50的指是什么?
  • int(10)中10指什么?
  • DELETE和TRUNCATE的区别是什么?
  • MySQL如何获取当前日期?
  • 如何获取MySQL的版本?
  • 什么是触发器,MySQL都有哪些触发器?
  • MySQL显示表前 50 行
  • 如何连接MySQL服务端、关闭连接?
  • int(10)、char(16)、varchar(16)、datetime、text的意义?
  • 说说你知道的MySQL存储引擎
  • 说一说MySQL中的锁机制
  • 说一说MySQL中的事务
  • MySQL中TEXT数据类型的最大长度
  • MySQL中有哪些时间字段?
  • MySQL中DATETIME和TIMESTAMP的区别
  • MySQL的数据类型有哪些?
  • FLOAT和DOUBLE的区别是什么?
  • Mysql的SQL语句是否区分大小写?
  • Mysql驱动程序是什么?
  • Innodb引擎有什么特性?
  • 使用过MySQL的存储过程吗?介绍一下
  • 什么是索引?什么场景使用?
  • 索引的种类有哪些?
  • 索引如何创建与删除?
  • 索引对性能有哪些影响?
  • MySQL创建和使用索引的注意事项?
  • 创建MySQL联合索引应该注意什么?
  • 列值为NULL时,查询是否会用到索引?
  • 以下语句是否会使用索引?
  • 以下三条sql 如何只建一条索引?
  • LIKE 后的%和_代表什么?
  • 与Oracle相比,Mysql有什么优势?
  • MySQL有哪些常用函数?
  • MyISAM索引与InnoDB索引的区别?

Oracle

  • Oracle中function和procedure有什么区别?
  • Oracle中字符串链接符是什么?
  • Oracle怎么分页?
  • rowid与rownum的含义是什么?
  • 如何使用oracle伪列删除表中重复记录?
  • truncate和delete的异同?
  • 简述oracle中 dml、ddl、dcl
  • Oracle数据库有哪些触发器?
  • Oracle产生的存储文件有哪些?
  • Oracle存储文件类型的字段?
  • Oracle中排序对性能的影响?
  • data block、extent、segment、tablespace有何区别?
  • 什么是游标?在oracle中如何使用?
  • Oracle怎样实现每天备份一次?
  • oracle中常用的函数
  • 哪些因素影响oracle查询性能?
  • oracle中存储过程、游标、函数的区别?

 


答案:微信小程序【持续更新中】

技术图片

 

 

2019年java面试题基础系列228道,查漏补缺!(代码片段)

2019年Java面试题基础系列228道上一篇更新1~20题的答案解析2019年Java面试题基础系列228道(1),快看看哪些你还不会? 本次更新Java面试题(一)的21~50题答案21、描述一下JVM加载class文件的原理机制?22... 查看详情

4万字,200道java面试题含答案

...ka、Zookeeper、MySQL、Redis、JVM」,如下图所示:共包含208道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威 查看详情

4万字,200道java面试题含答案

...ka、Zookeeper、MySQL、Redis、JVM」,如下图所示:共包含208道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威 查看详情

69道spring面试题和答案

Spring概述1.什么是spring?Spring是个Java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯... 查看详情

金九银十,史上最强java面试题整理。

以下会重新整理所有Java 系列面试题答案、及各大互联网公司的面试经验,会从以下几个方面汇总,本文会长期更新。Java面试篇史上最全Java面试题,带全部答案史上最全69道Spring面试题和答案史上最全Java多线程面试题及答案... 查看详情

600+道java面试题及答案整理(2021最新版)

栈长整理了2021年最新、最全的Java面试题,题目涉及Java基础、集合、多线程、IO、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等。题库共600+道,带全部答案,非常齐全!Java基础1、面向对象... 查看详情

史上最全69道spring面试题和答案

史上最全69道Spring面试题和答案目录Spring概述依赖注入SpringbeansSpring注解Spring数据访问Spring面向切面编程(AOP)SpringMVC Spring 概述 1.什么是spring? Spring是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,... 查看详情

2019年jvm面试都问了什么?快看看这22道面试题!(附答案解析)

2019年JVM面试都问了什么?快看看这22道面试题!(附答案解析)一.Java类加载过程?Java类加载需要经历一下7个过程:1.加载加载是类加载的第一个过程,在这个阶段,将完成一下三件事情:•通过一个类的全限定名获取该类的... 查看详情

springcloud面试题及答案300道,springcloud面试题总结(持续更新)

SpringCloud面试题及答案(SpringCloud面试题大全带答案)2021年面试题及答案【最新版】高级SpringCloud面试题大全,发现网上很多SpringCloud面试题及答案整理都没有答案,所以花了很长时间搜集,本套SpringCloud面试题... 查看详情

4万字,200道java面试题含答案!

你知道的越多,不知道的就越多,业余的像一棵小草!你来,我们一起精进!你不来,我和你的竞争对手一起精进!编辑:业余草cnblogs.com/51ma/p/12462688.html推荐:https://www.xttblog.com/?p=5271包含... 查看详情

50道css基础面试题及答案

1介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的?标准盒子模型:宽度=内容的宽度(content)+border+padding+margin低版本IE盒子模型:宽度=内容宽度(content+border+padding)+margin2box-sizing属性?用来控制元素的盒子... 查看详情

2019最新整理java面试题附答案(代码片段)

...ookeeper、MySQL、Redis、JVM如下图所示:  共包含208道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单,下面一起进入主题吧。====================================================一.Java基础模块1.JDK和JRE有什么区别... 查看详情

10万字208道java经典面试题总结(附答案,建议收藏)

...,通过阿里、腾讯、字节跳动、京东等互联网大厂的面试,我觉得短时间提升自己最快的手段就是背面试题,最近总结了Java常用的面试题,分享给大家,希望大家都能圆梦大厂,加油,我命由我不由天... 查看详情

4万字,200道java面试题含答案

...ka、Zookeeper、MySQL、Redis、JVM」,如下图所示:共包含208道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单,下面一起进入主题吧。Java基础1.JDK和JRE有什么区别?JDK:JavaDevelopmentKit的简称,Java开发工具包,... 查看详情

最全91道mysql面试题|附答案解析

原文链接:https://blog.csdn.net/ThinkWon/article/details/104778621 查看详情

最全91道mysql面试题|附答案解析

原文链接:https://blog.csdn.net/ThinkWon/article/details/104778621 查看详情

java面试题笔试常见选择题大全含答案

java面试题笔试常见选择题大全含答案1、9道常见的java笔试选择题2、java多线程面试题选择题大全含答案3、java异常处理面试题常见选择题含答案4、java笔试常见的选择题(坑你没商量)5、java笔试题大全之IO流常见选择题6、java集... 查看详情

2019年java面试题基础系列228道(代码片段)

...异常的catch块能够抓住try块中抛出的ExampleB类型的异常)面试题-说出下面代码的运行结果。(此题的出处是《Java编程思想》一书)classAnnoyanceextendsExceptionclassSneezeextendsAnnoyanceclassHumanpublicstaticvoidmain(String[]args)throwsExceptiontrytrythrowne... 查看详情