无论如何在这两个月的跳槽黄金期 筹备面试是最重要的了,你有规划好自己的复习方向了吗?
我这里收集了一套大厂的面试题包含了答案,技术点概括了:基础、JVM、多线程并发、spring、mybatis、springboot、mysql、Redis、springcloud、Nginx、ZK、kafka、MQ、数据结构与算法、Linux、Elasticsearchi以及还有简历方面的文案,对你应该会有所帮助!
话不多说,上正题
数据结构与算法面试
-
1.常用的数据结构
-
2.数据里有{1,2,3, 4,5,6,7.8,9},请随机打乱顺序,生成一个新的数组(请以代码实现)
-
3.写出代码判断一 个整数是不是2的阶次方( 请代码实现,谢绝调用API方法)
-
4.假设今日是2015年3月1日,星期日,请算出13个月零6天后是星期几,距离现在多少天(请用代码实现,谢绝调用API方法)
-
5.有两个篮子,分别为A和B,篮子A里装有鸡蛋,篮子B里装有苹果,请用面向对象的思想实现两个篮子里的物品交换(请用代码实现)
JVM面试
-
1.知识点汇总
-
2.知识点详解:
-
3.类加载与卸载
-
4.简述一下JM的内存模型
-
5.堆和栈的区别
-
6.什么时候会触发FullC
-
7.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言
-
8.Java内存结构
-
9.对象分配规则
-
10.描述一下J加载class文件的原理机制?
-
11.Java对象创建过程
-
12.类的生命周期
-
13.简述Javs的对象结构
-
14.如何判断对象可以被回收?
-
15.JVM的永久代中会发生垃圾回收么?
-
16.垃圾收集算法
-
17.调优命令有哪些?
-
18.调优工具
-
19.Minor GC与Full GC分别在什么时候发生?
-
20.你知道哪些JM性能调优
-
21.JYM内存分哪几个区,每个区的作用是什么?
-
22.简述J ava垃圾回收机制?
-
23.什么是类加载器,类加载器有哪些?”
-
24.你有没有遇到过OutOfMemory问题?你是怎么来处理这个问题的?处理过程中有哪些收获?
-
26.跟JTM内存相关的几个核心参数图解
-
27.如何启动系统的时候设置JVM的启动参数
多线程、并发面试
-
1.Java中实现多线程有几种方法
-
2.如何停止-个正在运行的线程
-
3.noti fy 0和noti fyAll 0有什么区别?
-
4.sleep 0和waitO有什么区别
-
5.volatile是什么?可以保证有序性吗?
-
6.Thread 类中的start0和run0方法有什么区别?
-
7.为什么wait, notify 和notifyA11这些方法不在thread类里面?
-
8.为什么wai t和noti fy方法要在同步块中调用?
-
9.Java中interrupted和isInterruptedd方法的区别?
-
10.Java中synchronized和Reentr antLock有什么不同?
-
11.有三个线程T1, T2, T3,如何保证顺序执行?
-
12.Symchr oni Ie dMap和C oncurrentHashMap有什么区别?
-
13.什么是线程安全
-
14.Thread类中的yi el a方法有什么作用?
-
15.Java线程池中submitO和execute 0方法有什么区别?
-
16.说-说自己对于synchronized关键字的了解
-
17.说说自己是怎么使用symchronized关键字,在项目中用到了吗synchr oni zed关键字最主要的三种使用方式:
-
18.什么是线程安全? Vector是一个线程安全类吗?
-
19.volatile关键字的作用?
-
20.常用的线程池有哪些?
-
21.简述一下你对线程 池的理解
-
22.Java程序是如何执行的
-
23.说一说自己对于synchronized关键字的了解
-
24.说说自己是怎么使用synchronized关键字,在项目中用到了吗
-
25.讲一下synchronired 关键字的底层原理
-
26.为什么要用线程池?
-
27.实现Runnabl e接口和Callable接口的区别
-
28.执行execute 0方法和submi t0方法的区别是什么呢?
-
29.如何创建线程池
基础面试
-
1.Java语言有哪些特点
-
2.面向对象和面向过程的区别
-
3.八种基本数据类型的大小,以及他们的封装类
-
4.标识符的命名规则。
-
5.instanceof 关键字的作用
-
6.Java自动装箱与拆箱
-
7.重载和重写的区别
-
8.equa1s与==的区别
-
9.Hasheode的作用
-
10.String\ String StringBuffer和StringBuilder 的区别是什么?
-
11.ArrayList和1inke aList的区
-
12.HashMap和HashT able的区别
-
13.Collecti on包结构,与Collecti ons的区别
-
14.Javs的四种引用,强弱软虚
-
15.泛型常用特点
-
16.Jav创建对象有几种方式?
-
17.有没有可能两个不相等的对象有相同的hasheode
-
18.深拷贝和浅拷贝的区别是什么?
-
19.final有哪些用法?
-
20.stati 都有哪些用法?
-
21.3*0. 1==0. 3返回值是什么
-
22.a=a+b与a+=b有什么区别吗?
-
23.try catch finally; try里有return, finally还执行么?
-
24.Exepti on与Error包结构
-
25.00M你遇到过哪些情况,SOF你遇到过哪些情况
-
26.简述线程、程序、进程的基本概念。以及他们之间关系是什么
-
27.线程有哪些基本状态?
-
28.Java序列化中如果有些字段不想进行序列化,怎么办?
-
29.Java中I0流
-
30.Java I0与HI0的区别
-
31.java反射的作用于原理
-
32.说说List, Set, Map三者的区别?
Spring面试
-
1.Sprine的I0C和AOP机制?
-
2.Spring中Autowired和Resouree关键字的区别?
-
3.依赖注入的方式有几种,各是什么?
-
4.讲一下什么是Spring
-
5.Spr ing MVC流程.
-
6.Spri ngMVYC怎么样设定重定向和转发的?
-
7. Sprin/MVC常用的注解有哪些?
-
8.Sprina的AOP理解:
-
9.Sprine的I0C理解
-
10.解释- -下spring be an的生命周期
-
11.解释Spring支持的几种bean的作用域。
-
12. Spring基于xm1注入bean的几种方式:
-
13.Spring框架中都用到了哪些设计模式?
SpringBoot面试
-
1.什么是SpringBoot?为什么要用SpringBoot
-
2.Spring Boot. 的核心注解是哪个?它主要由哪几个注解组成的?
-
3.运行Spring Boot有哪几种方式
-
4.如何理解Spring Boot 中的Starters?
-
5.如何在Spring Boo.启动的时候运行一些特定的代码?
-
6.Spring Boot需要独立的容器运行吗?
-
7.Spring Boot中的监视器是什么?
-
8.如何使用Spring Boot实现异常处理?
-
9.你如何理解Spring Boot中的Starters?
-
10.springboot常用的starter有哪些
-
11.SpringBoot 实现热部署有哪几种方式?
-
12.如何理解Spring Boot配置加载顺序?
-
13.Spring Boot的核心配置文件有哪几个?它们的区别是什么?
-
14.如何集成Spring Boot和ActiveMQ?
-
15.如何重新加载Spring Boot上的更改,而无需重新启动服务器?
-
16.Spring Boot、Spring MVC和Spring有什么区别?
-
17. 能否举一个例子来解释更多Staters的内容?
-
18.Spring Boot还提供了其它的哪些Starter Project Opti ons
MySQL面试
-
1.数据库的三范式是什么
-
2.数据库引擎有哪些
-
3.InoDB与MyISAM的区别
-
4.数据库的事务
-
5.索引问题
-
6.SQL优化
-
7.简单说一说drop、 delete与truncate的区别
-
8.什么是视图
-
9.什么是内联接、左外联接、右外联接?
-
10.并发事务带来哪些问题?
-
11.事务隔离级别有哪些?MySQI的默认隔离级别是?
-
12.大表如何优化?
-
13.分库分表之后,id主键如何处理?
-
14.mysq1有关权限的表都有哪几个
-
15.mysq1有哪些数据类型
-
16.创建索引的三种方式,删除索引
Mybatis面试
-
1.什么是MyBatis
-
2.MyBati s的优点和缺点
-
3.#}和$ {}的区别是什么?
-
4.当实体类中的属性名和表中的字段名不一样,怎么办?
-
5.Mybatis是如何进行分页的?分页插件的原理是什么?
-
6.Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?
-
7.如何执行批量插入?
-
8.Xm1映射文件中,除了常见的select |insert lupdae |delete标签之外,还有哪些标签?
-
9.MyBatis实现一对一有几种方式?具体怎么操作的?
-
10.Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
-
11.Mybatis的一级、二级缓存:
Redis面试
-
1.Redi s持久化机制
-
2.缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
-
3.热点数据和冷数据是什么
-
4.Memcache与Redi s;的区别都有哪些?
-
5.单线程的redi s为什么这么快
-
6.redi s的数据类型,以及每种数据类型的使用场景
-
7.redi s的过期策略以及内存淘汰机制
-
8.Redis为什么是单线程的
-
9.Redis常见性能问题和解决方案?
-
10.为什么Redi s的操作是原子性的,怎么保证原子性的?
-
11.Redis事务
Nginx面试
-
1.简述一下什么是Nginx,它有什么优势和功能?
-
2.Nginx是如何处理一个HTTP请求的呢?
-
3.列举-些Ngi nx的特性
-
4.请列举Nginx和Apache之间的不同点
-
5.在Hginx中;如何使用未定义的服务器名称来阻止处理请求?
-
6.请解释Nei rx服务器上的Master和W orker进程分别是什么?
-
7.请解释代理中的正向代理和反向代理
-
8.解释Nginx用途
SpringCloud面试
-
1.什么是SpringCloud
-
2.什么是微服务
-
3.SpringCloud有什么优势
-
4.什么是服务熔断?什么是服务降级?
-
5.Eureks和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?
-
6.SpringBoot和SpringCloud的区别?
-
7.负载平衡的意义什么?
-
8.什么是Hystrix?它如何实现容错?
-
9.什么是Hystrix断路器?我们需要它吗?
-
10.说说RPC的实现原理
Zookeeper面试
-
1. ZooKeeper 是什么?
-
2. ZooKeeper 提供了什么?
-
3. Zookeeper文件系统
-
4. ZAB 协议?
-
5. 四种类型的数据节点Znode
-
6. Zookeeper Watcher 机制--数据变更通知
-
7.客户端注册Watcher 实现
-
8. 服务端处理Watcher 实现
-
9.客户端回调Watcher
-
10. ACL 权限控制机制
-
11. Chroot 特性
-
12.会话管理
-
13.服务器角色
-
14. Zookeeper 下Server工作状态
-
15.数据同步
-
16. zookeeper 是如何保证事务的顺序一致性的?
-
17.分布式集群中为什么会有Master?
-
18. zk 节点宕机如何处理?
-
19. zookeeper 负载均衡和nginx负载均衡区别
-
20. Zookeeper 有哪几种几种部署模式?
-
21.集群最少要几台机器,集群规则是怎样的?
-
22. 集群支持动态添加机器吗?
-
23. Zookeeper 对节点的watch监听通知是永久的吗?为什么不是永久的?
-
24. Zookeeper 的java客户端都有哪些?
-
25. chubby 是什么,和zookeeper比你怎么看?
-
26. 说几个zookeeper 常用的命令。
-
27. ZAB和Paxos算法的联系与区别?
-
28. Zookeeper的典型应用场景
Kafka面试
-
1.如何获取topic 主题的列表
-
2.生产者和消费者的命令行是什么?
-
3.consumer 是推还是拉?
-
4.讲讲kafka维护消费状态跟踪的方法
-
5.讲一下主从同步
-
6.为什么需要消息系统,mysql不能满足需求吗?
-
7.Zookeeper 对于Kafka的作用是什么?
-
9.Kafka判断-个节点是否还活着有那两个条件?
-
10.Kafka与传统MQ消息系统之间有三个关键区别
-
11.讲一讲kafka的ack的三种机制
-
12.消费者如何不自动提交偏移里由应用提交?
-
13.消费者故障,出现活锁问题如何解决?
-
14.如何控制消费的位置
-
15.kafka分布式(不是单机)的情况下,如何保证消息的顺序消费
-
16.kafka的高可用机制是什么?
-
17.kafka如何减少数据丢失
-
18.kafka如何不消费重复数据?比如扣款,我们不能重复的扣。
MQ面试
-
1.为什么使用顺
-
2.MQ优缺点
-
3.Kafka、ActiveMQ、Rabbi tMQ、RocketMQ都有什么区别?
-
4.如何保证高可用的?
-
5.如何保证消息的可靠传输?如果消息丢了怎么办
-
6.如何保证消息的顺序性
-
7.如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?
-
8.设计M9的思路
Elasticsearch面试
-
1.elasticsearch. 了解多少,说说你们公司es. 的集群架构,索引数据大小,分片有多少,以及一些调优手段。
-
2.elasticsear ch的倒排索引是什么
-
3.elasticsearch 索引数据多了怎么办,如何调优,部署
-
4.elasticsearch是如何实现mster 选举的
-
5.详细描述一 下Elasticsearch索引文档的过程
-
6.详细描述一 下Flasticsearch搜索的过程?
-
7.Elasticsearch 在部署时,对Linux的设置有哪些优化方法
-
8.lucence内部结构是什么?
-
9.Elasticsearch 是如何实现Master选举的?
-
10.Elasticsearch 中的节点(比如共20个),其中的10个
-
11.客户端在和集群连接时,如何选择特定的节点执行请求的?
-
12.详细描述一 下Elasticsearch索引文档的过程。
-
13.详细描述一 下Elasticsearch更新和删除文档的过程。
-
14.详细描述一 下Elasticsearch搜索的过程。
-
15.在Elasticsearch中,是怎么根据一个词找到对应的倒排索引的?
-
16.Elasticsearch 在部署时:又Linux的设置有哪些优化方法?
-
17.对于GC方面,在使用Elasticsearch时要注意什么?
-
18.Elasticsearch对于大数据量(上亿量级) 的聚合如何实现?
-
19.在并发情况下,Flasticsearc h如果保证读写- 致?
-
20.如何监控Elasticsearch集群状态?
-
21.介绍下你们电商搜索的整体技术架构。
-
22.介绍一下你们的个性化搜索方
-
23.是否了解字典树?
-
24.拼写纠错是如何实现的?
Linux面试
-
1.绝对路径用什么符号表示?当前目录、上层自录用什么表示?主目录用什么表示?切换目录用什么命令?
-
2.怎么查看当前进程?怎么执行退出?怎么查看当前路径?
-
3.怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户id?查看指定帮助用什么命令?
-
4.Ls命令执行什么功能?可以带哪些参数,有什么区别?
-
5.建立软链接(快捷方式),以及硬链接的命令。
-
6.目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?
-
7.查看文件内容有哪些命令可以使用?
-
8.随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world" ?
-
9.终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?
-
10.移动文件用哪个命令?改名用哪个命令?
-
11.复制文件用哪个命令?如果需要连同文件夹一块复制呢?如果需要有提示功能呢?
-
12.删除文件用哪个命令?如果需要连目录及目录下文件一块删除呢?删除空文件夹用什么命令?
-
13.Linux下命令有哪几种可使用的通配符?分别代表什么含义?
-
14.用什么命令对一个文件的内容进行统计? (型号、 单词数、字节数)
-
15.Grep命令有什么用?如何忽略大小写?如何查找不含该串的行?
-
16.Linur中进程有哪几种状态?在ps显示出来的信息中,分别用什么符号表示的?
-
17.怎么使一个命令在后台运行?
-
18.利用ps怎么显示所有的进程?怎么利用ps查看指定进程的信
-
19.哪个命令专i ]用来查看后台任务?
-
20.把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?
-
21.终止进程用什么命令?带什么参数?
-
22.怎么查看系统支持的所有信号?
-
23.搜索文件用什么命令?格式是怎么样的?
-
24.查看当前谁在使用该主机用什么命令?查找自己所在的终端信息用什么命令?
-
25.使用什么命令查看用过的命令列表?
-
26.使用什么命令查看磁盘使用空间?空闲空间呢?
-
27.使用什么命令查看网络是否连通?
-
28.使用什么命令查看ip 地址及接口信息?
-
29.查看各类环境变量用什么命令
-
30.通过什么命令指定命令提示符
-
31.查找命令的可执行文件是去哪查找的?怎么对其进行设置及添加
-
32.通过什么命令查找执行命令?
-
33.怎么对命令进行取别名?
-
34.du和df的定义,以及区别
-
35.awk 详解。
-
36.当你需要给命令绑定一个宏或者按键的时候,应该怎么做呢?
-
37.如果一个linux新手想要知道当前系统支持的所有命令的列表, 他需要怎么做?
-
38.如果你的助手想要打印出当前的目录栈:你会建议他怎么做?
-
39.你的系统目前有许多正在运行的任务,在不重启机器的条件下,有什么方法可以把所有正在运行的进程移除呢?
-
40.bash shell 中的hash 命令有什么作用?
-
41.哪-个bash内置命令能够进行数学运算。
-
42.怎样一页一页地查看一个大文件的内容呢?
-
43.数据字典属于哪-个用户的?
-
44.怎样查看一个linw: 命令的概要与用法?假设你在/bin目录中偶然看到一个你从没见过的的命令,怎样才能知道它的作用和用法呢?
-
45.使用哪一个命令可以查看自己文件系统的磁盘空间配额呢?
-
46.列举几个常用的Linux命令
-
47.你平时是怎么查看日志的?
简历模板
-
1.为什么说简历很重要?
-
2.先从面试来说
-
3.再从面试说起
-
4.必知必会的几点
-
5.必须了解的两大法则
-
6.项目经历怎么写
-
7.专业技能怎么写
-
8.排版注意事项
-
9.其他一些小tips
有了面试题,以上所有问题的答案都统一收集在Java面试汇总里面了,希望这份面试宝典能给到大家帮助,在金九银十能拿到心仪的offer,拿到满意的高资!
金九银十必备Java面试宝典、Java面试汇总、简历模板、核心知识
编辑切换为居中
添加图片注释,不超过 140 字(可选)
总结
面试必知
了解自己的能力、要应聘的公司、自己要应聘的岗位,提前做好自己我介绍以及项目介绍等等方面的功课,确保你能在面试过程中简短清晰的回答出来(可以用Star法则来组织自己的语言)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
Java面试宝典
Java面试整整的覆盖了大量知识点,十分适合用来复盘
编辑切换为居中
添加图片注释,不超过 140 字(可选)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
简历模板
看看优秀的简历模板都是怎么样的,都是怎样优化自己提升自己的身价呢
编辑切换为居中
添加图片注释,不超过 140 字(可选)
资源获取:
大家 点赞、收藏、关注、评论啦 、 查看👇🏻👇🏻👇🏻 微信公众号获取联系方式👇🏻👇🏻👇🏻
精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻