按照这些知识点依次去复习java知识点,祝你稳过大厂面试(面试java程序员需要掌握哪些知识点)
Posted 福建沙县小吃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按照这些知识点依次去复习java知识点,祝你稳过大厂面试(面试java程序员需要掌握哪些知识点)相关的知识,希望对你有一定的参考价值。
主要原因呢还是太卷,同样是 CURD 的活,谁更熟练要谁,比如下面这些面试题,八股文越熟练越容易通过 Java 面试。
目录
一、Java基础
1.JDK动态代理和CGLIB动态代理的区别
2.静态代理和动态代理的区别
3.ArrayList和LinkedList有什么区别?
4.重写和重载的区别
5.Java 8的接口新增了哪些特性?
6.抽象类和接口(Java7)的区别
7.为什么要有 hashCode
8.hashCode()介绍
9.hashCode 与 equals (重要)
10.Java中异常分为哪些种类?
11.内部类的分类有哪些
12.什么是内部类?
13.什么是方法的返回值?返回值的作用是什么?
14.静态方法和实例方法有何不同?
15.静态变量和实例变量区别
16.构造方法有哪些特性?
17.在Java中定义一个不做事且没有参数的构造方法的作用
18.break ,continue ,return 的区别及作用
19.static注意事项
20.static应用场景
21.static的独特之处 2
2.static存在的主要意义
23.this与super的区别
24.super关键字的用法 25.String类的常用方法有哪些?
26.char型变量中能否能不能存储一个中文汉字,为什么?
27.是否可以继承String类?
28.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对 不对?
29.构造器(constructor)是否可被重写(override)?
30.谈谈你对多态的理解? 31.Java中实现多态的机制是什么?
32.new一个对象的过程和clone一个对象的区别?
33.深克隆和浅克隆?
34.Java中为什么要用 clone?
35.Java 中操作字符串都有哪些类?它们之间有什么区别?
36.String str = “i” 和String str = new String(“1”)一样吗?
37.final finally finalize的区别
38.final 有什么用?
39.Java有哪些数据类型
40.什么是Java注释
41.用最有效率的方法计算2乘以8?
42.Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
43.&和&&的区别?
44.Java有没有goto?
45.float f=3.4;是否正确?
46.访问修饰符public,private,protected,以及不写(默认)时的区别?
47.Java语言有哪些特点 48.什么是Java程序的主类?应用程序和小程序的主类有何不同?
49.说下面向对象四大特性
二、Java IO
1.IO多路复用的底层原理
2.缓冲区是什么意思?
3.通道是个什么意思?
4.同步、异步、阻塞、非堵塞
5.阻塞与非阻塞
6.同步与异步
7.什么是AIO
8.什么是NIO
9.什么是BIO
10.流一般需要不需要关闭,如果关闭的话在用什么方法,一般要在那个代码块里面关闭比较好,处理流是怎么关闭的,如果有多个流互相调用传入是怎么关闭的?
11.什么是节点流,什么是处理流,它们各有什么用处,处理流的创建有什么特征?
12.PrintStream、BufferedWriter、PrintWriter的比较?
13.字节流和字符流的区别?
14.如何实现 java 序列化?
15.什么是 java序列化?
16.Java 中有几种类型的流?
三、Java虚拟机
1.如何判断一个常量是废弃常量 ?
2.程序计数器为什么是私有的?
3.JRE、JDK、JVM 及 JIT 之间有什么不同?
4.JVM调优命令有哪些?
5.说一下 JVM 调优的工具?
6.介绍一下类文件结构吧!
7.如何判断一个类是无用的类?
8.Java会存在内存泄漏吗?请简单描述。
9.Minor Gc和Full GC 有什么不同呢?
10.说一下堆内存中对象的分配的基本策略
11.对象的访问定位有哪几种方式?
12.说一下Java对象的创建过程
13.Java 8 为什么要将永久代(PermGen)替换为元空间(MetaSpace)呢?
14.说一下堆和栈的区别
15.怎么打破双亲委派模型?
16.为什么需要双亲委派模式?
17.怎么打出线程栈信息?
18.说说你知道的几种主要的JVM参数
19.什么是happen-before原则?
20.什么是内存屏障? 21.什么是指令重排序?
22.JVM中一次完整的GC流程是怎样的,对象如何晋升到老年代?
23.JVM新生代中为什么要分为Eden和Survivor?
24.什么情况下会发生栈内存溢出?
25.Java对象的布局了解过吗?
26.Tomcat是怎么打破双亲委派机制的呢?
27.什么是双亲委派机制?
28.说下有哪些类加载器?
29.说说类加载的过程
30.ZGC收集器中的染色指针有什么用?
31.说说ZGC垃圾收集器的工作原理
32.说说G1垃圾收集器的工作原理
33.说说CMS垃圾收集器的工作原理
34.你了解过哪些垃圾收集器?
35.对象都是优先分配在年轻代上的吗?
36.GC Roots有哪些?
37.JVM怎么判断一个对象是不是要回收?
38.Java里有哪些引用类型?
39.你熟悉哪些垃圾收集算法?
40.字符串常量存放在哪个区域?
41.程序计数器有什么作用?
42.栈帧里面包含哪些东西?
四、Linux
1.在Linux下如何指定dns服务器,来解析某个域名?
2.设置DNS需要修改哪个配置文件?
3.如何禁止服务器被ping?
4.用一条命令显示本机eth0网卡的IP地址,不显示其它字符?
5.whereis命令
6.service命令
7.shutdown命令 8.rpm命令 9.yum命令 10.export命令 11.unzip命令 12.bzip2命令 13.gzip命令 14.tar命令 15.把当前目录下所有后缀名为.txt的文件的权限修改为777? 16.xargs命令 17.sort命令 18.diff命令 19.vim命令 20.打印/etc/passwd的1到3行? 21.awk命令 22.打印/etc/ssh/sshd_config的第一百行? 23.用sed命令将指定的路径/usr/local/http替换成为/usr/src/local/http? 24.sed命令 25.grep命令 26.tail命令 27.cp命令 28.mv命令 29.rm命令 30.df命令 31.ls命令 32.在整个目录树下查找文件“core”,如发现则无需提示直接删除它们? 33.如何在home目录下找出120天之前被修改过的文件? 34.如何在var目录下找出90天之内未被访问过的文件? 35.如何在usr目录下找出大小超过10MB的文件? 36.find命令如何使用? 37.vim有几种工作模式?
五、Mybatis
1.Mybatis的一级、二级缓存
2.Mybatis都有哪些Executor执行器?它们之间的区别是什么?
3.Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
4.Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别。
5.Mybatis全局配置文件中有哪些标签?分别代表什么意思?
6.说一下resultMap和resultType?
7.Mybatis动态SQL?
8.Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?
9.如何获取自动生成的(主)键值?
10.Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?
11.当实体类的属性名和表种字段名不一致怎么办?
12.#和$的区别是什么?
13.Mybatis使用场合?
14.Mybatis的优缺点?
15.什么是Mybatis?
六、mysql
1.解释MySQL外连接、内连接与自连接的区别
2.Mysql如何优化DISTINCT?
3.自增主键最大ID记录,MyISAM和InnoDB分别是如何存储的
4.MySQL主从复制原理流程
5.delete、truncate、drop区别
6.key和index的区别
7.MySQL优化
8.行级锁定的缺点
9.行级锁定的优点
10.在MVCC并发控制中,读操作可以分成哪几类?
11.MVVC了解过吗
12.表分区有什么好处?
13.表分区与分表的区别
14.什么是表分区?
15.什么情况下应不建或少建索引
16.说一说三个范式
17.什么是存储过程?有哪些优缺点?
18.关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?
19.超大分页怎么处理?
20.MySQL的binlog有有几种录入格式?分别有什么区别?
21.varchar(10)和int(10)代表什么含义?
22.如果要存储用户的密码散列,应该使用什么字段进行存储?
23.字段为什么要求定义为notnull?
24.主键使用自增ID还是UUID?
25.为什么要尽量设定一个主键?
26.在哪些情况下会发生针对该列创建了索引但是在查询的时候并没有使用呢?
27.MySQL有哪些日志,分别是什么用处?
28.MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义 29.MySQL的redo日志的刷盘时机 30.MySQL的redo日志和undo日志分别有什么用?
31.为什么InnoDB一定会生成主键?
32.InnoDB如果没有设置主键的话,它内部会怎么处理?
33.InnoDB删除某条记录后,内部会怎么处理?
34.InnoDB主键索引跟非主键索引在数据存储上的差异 35.InnoDB的数据是怎么存储的? 36.MyIsam的数据是怎么存储的?
37.InnoDB有聚簇索引吗?MyIsam呢?
38.什么是聚簇索引?
39.MySQL索引的类型
40.有了解过“回表”的概念吗?什么情况下会出现“回表”?
41.事务的隔离级别了解过吗?
42.说一下什么是事务的ACID属性吧
43.了解过哪些存储引擎?各有什么优缺点?
44.在建立索引的时候,都有哪些需要考虑的因素呢?
45.Hash索引和B+树索引有什么区别或者说优劣呢?
46.索引是个什么样的数据结构呢? 47.什么是索引?
七、Redis
1.Redis如何做内存优化?
2.Redis中的管道有什么用?
3.Redis和Redisson有什么关系?
4.Redis有哪些适合的场景? 5.MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都 是热点数据? 6.Redis 集群方案什么情况下会导致整个集群不可用? 7.Redis 集群方案应该怎么做?都有哪些方案? 8.Redis String的内部编码有哪些? 9.用Redis做延时队列,具体应该怎么实现? 10.Redis在集群种查找key的时候,是怎么定位到具体节点的? 11.Redis的持久化了解过吗? 12.Redis在什么情况下会触发key的回收? 13.Redis key的淘汰策略有哪些? 14.Redis事务机制了解过吗? 15.使用Redis统计网站的UV,应该怎么做? 16.Redis中的大key怎么处理? 17.Redis中的热key怎么处理? 18.缓存失效?缓存穿透?缓存雪崩?缓存并发? 19.Redis集群如何选择数据库? 20.Redis如何设置密码及验证密码? 21.为什么 Redis 需要把所有数据放到内存中? 22.Redis 官方为什么不提供 Windows 版本? 23.Redis是单线程还是多线程? 24.Redis为什么那么快? 25.一个字符串类型的值能存储最大容量是多少? 26.Redis的全称是什么? 27.Redis主要消耗什么物理资源? 28.Redis有哪些数据结构? 29.Redis相比memcached有哪些优势? 30.什么是Redis?简述它的优缺点?
八、Spring
1.@Component和@Bean的区别是什么? 2.Spring框架中用到了哪些设计模式? 3.Spring MVC的工作原理了解嘛? 4.Spring中的bean生命周期了解过吗? 5.Bean 工厂和 Application contexts 有什么区别? 6.ApplicationContext通常的实现是什么? 7.Spring AOP 实现原理 8.有哪些不同类型的IOC(依赖注入)? 9.解释自动装配的各种模式? 10.Resource 是如何被查找、加载的? 11.BeanFactory和ApplicationContext有什么区别? 12.Spring 事务底层原理 13.Spring事务中有哪几种事务传播行为? 14.Spring事务中的隔离级别有哪几种? 15.Spring事务管理的方式有几种? 16.将一个类声明为Spring的bean的注解有哪些? 17.Spring中的单例bean的线程安全问题了解吗? 18.Spring中的bean的作用域有哪些? 19.谈谈自己对于Spring AOP的理解 20.Spring AOP和AspectJ AOP有什么区别? 21.谈谈自己对于Spring IOC的理解 22.Spring Boot手动装配有哪几种方式? 23.Spring是怎么解决循环依赖的? 24.Spring由哪些模块组成? 25.使用Spring框架的好处是什么? 26.什么是spring?
九、Spring Boot
1.SpringBoot 2.X有哪些新特性?与1.X有什么区别? 2.保护SpringBoot应用有哪些方法? 3.Spring Boot的核心注解是哪些?他由哪几个注解组成的? 4.Spring Boot中如何解决跨域问题? 5.比较一下Spring Security和Shiro各自的优缺点? 6.如何实现Spring Boot应用程序的安全性? 7.什么是Swagger?你用Spring Boot实现了吗? 8.如何使用配置文件通过 Spring Boot 配置特定环境的配置? 9.如何使用 Spring Boot 部署到不同的服务器? 10.如何在 Spring Boot 中添加通用的 JS 代码? 11.什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢? 12.为什么我们需要 spring-boot-maven-plugin? 13.Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗? 14.怎么使用 Maven 来构建一个 SpringBoot 程序? 15.如何在 Spring Boot 中禁用 Actuator 端点安全性? 16.Spring Boot 中的监视器是什么? 17.如何重新加载 Spring Boot 上的更改,而无需重新启动服务器? 18.Spring 和 SpringBoot 有什么不同? 19.创建一个 Spring Boot Project 的最简单的方法是什么? 20.Spring Boot 有哪些优点? 21.什么是springboot
THANKS FOR WATCHING!
以上是关于按照这些知识点依次去复习java知识点,祝你稳过大厂面试(面试java程序员需要掌握哪些知识点)的主要内容,如果未能解决你的问题,请参考以下文章
按照这些知识点依次去复习java知识点,祝你稳过大厂面试(面试java程序员需要掌握哪些知识点)
这些Java基础知识,诸佬们都还记得嘛(学习,复习,面试都可)