导语:
最近看了网上的很多面试题文章以及找了不少Java面试文档,感觉都差那么一点点,所以我就自己搜集了一些整理成一份PDF面试文档,没有废话!全是干货
重中之重:简历篇
很重要的一部分就是简历应该如何填写,简历是面试官对你的第一印象,至少要让面试官有想要深入了解你的冲动,吸引面试官的眼球,一张简历HR也就只会花十几秒的时间,简历就像是一个门面,在很大程度上决定了你是否会进入到下一轮面试,以下是我跟前辈讨的一点经验:
- 为什么说简历很重要?
- 先从面试来说
- 再从面试说起
- 必知必会的几点
- 必须了解的两大法则
- 项目经历怎么写
- 专业技能怎么写
- 排版注意事项
- 其他一些小tips
Java基础篇
- 1、Java语言有哪些特点
- 2、面向对象和面向过程的区别
- 3、八种基本数据类型的大小,以及他们的封装类
- 4、标识符的命名规则。
- 5、instanceof 关键字的作用
- 6、Java自动装箱与拆箱
- 7、 重载和重写的区别
- 8、 equals与==的区别
- 9、 Hashcode的作用
- 10、String. String StringBuffer和StringBuilder的区别是什么?
- 11、ArrayListflinkedList的区别
- 12、HashMap和HashTable的区别
- 13、Collection包结构, 与Collections的区别
- 14、Java的四种引用, 强弱软虚
- 15、 泛型常用特点
- 16、Java创建对象有几种方式?
- 17、有没有可能两个不相等的对象有相同的hashcode
- 18、深拷贝和浅拷贝的区别是什么?
- 19、final有哪些用法?
- 20、static都有 哪些用法?
- 21、3*0.1==0.3返回值是什么
- 22、a=a+ b与a+ =b有什么区别吗?
- 23、try catch fnally, try里有return, fially还执行么?
- 24、Excption 与Error包结构
- 25、OOM你遇到过哪些情况,SOF你遇到过哪些情况
- 26、简述线程、 程序、进程的基本概念。以及他们之间关系是什么?
- 27、线程有哪些基本状态?
- 28、Java 序列化中如果有些字段不想进行序列化,怎么办?
- 29、Java中10流
- 30、Java 10与NIO的区别
- 31、java反射的作用与原理
JVM篇
- 1、知识点汇总
- 2、知识点详解:
- 3、类加载与卸载
- 4、简述一下JM的内存模型
- 5、堆和栈的区别
- 6、什么时候会触发FullGC
- 7、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言?
- 8、Java内存结构
- 9、对象分配规则
- 10、描述一下JVM加载class文件的原理机制?
- 11、Java对象创建过程
- 12、类的生命周期
- 13、简述Java的对象结构
- 14、如何判断对象可以被回收?
多线程&并发篇
- 1、Java中实现多线程有几种方法
- 2、如何停止一个正在运行的线程
- 3、notify0和notifyAll0有什么区别?
- 4、sleep0和wait0 有什么区别?
- 5、volatile 是什么?可以保证有序性吗?
- 6、Thread 类中的start0和run0方法有什么区别?
- 7、为什么wait, notify 和htftifyAll这些方法不在thread类里面?
- 8、为什么wait和notify方法要在同步块中调用?
- 9、Java中interrupted 和isInterruptedd方法的区别?
- 10、Java中synchronized 和ReentrantLock 有什么不同?
- 11、有三个线程T1,T2,T3,如何保证顺序执行? '
- 12、SynchronizedMap和ConcurrentHashMap有什么区别?
- 13、什么是线程安全
- 14、Thread类中的yield方法有什么作用?
- 15、Java线程池中submit0和execute(方法有什么区别?
- 16、说一说自己对于synchronized关键字的了解
- 17、说说自己是怎么使用synchronized 关键字,在项目中用到了吗synchronized关键字最主要的三种使用方式:
- 18、什么是线程安全? Vector是一 个线程安全类吗?
- 19、volatile关键字的作用?
- 20、常用的线程池有哪些?
- 21、简述一下你对线程池的理解
- 22、Java程序是如何执行的
Spring篇
- 1、Spring的IOC和AOP机制?
- 2、Spring中Autowired和Resource关键字的区别?
- 3、依赖注入的方式有几种,各是什么?
- 4、讲一下什么是Spring
- 5、Spring MVC流程
- 6、SpringMVC怎么样设定重定向和转发的?
- 7、SpringMVC常用的注解有 哪些?
- 8、Spring的AOP理解:
- 9、Spring的IOC理解
- 10、解释一下spring bean的生命周期
- 11、解释Spring支持的几种bean的作用域。
- 12、Spring基 于xml注入bean的几种方式:
- 13、Spring框架中都用到了 哪些设计模式?
Mybatis篇
- 1、什么是MyBatis
- 2、MyBatis的优点和缺点
- 3、#}和$}的区别是什么?
- 4、当实体类中的属性名和表中的字段名不一样,怎么办?
- 5、Mybatis 是如何进行分页的?分页插件的原理是什么?
- 6、Mybatis是如何将sq|执行结果封装为目标对象并返回的?都有哪些映射形式?
- 7、如何执行批量插入?
- 8、Xml映射文件中,除了常见的selectinsertlupdae|delete标签之外还有哪些标签?
- 9、MyBatis实现-对一有几种方式?具体怎么操作的?
- 10、Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
- 11、 Mybatis的一 级、二级缓存:
SpringBoot篇
- 1、什么是SpringBoot? 为什么要用SpringBoot
- 2、Spring Boot的核心注解是哪个?它主要由哪几个注解组成的?
- 3、运行Spring Boot有哪几种方式?
- 4、如何理解Spring Boot中的Starters?
- 5、如何在Spring Boot启动的时候运行-些特定的代码?
- 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 Options?
MySQL篇
- 1、数据库的三范式是什么
- 2、数据库引擎有哪些
- 3、InnoDB与MyISAM的区别
- 4、数据库的事务
- 5、索引问题
- 6、SQL优化
- 7、简单说一说drop. delete 与truncate的区别
- 8、什么是视图
- 9、 什么是内联接、左外联接、右外联接?
- 10、并发事务带来哪些问题?
- 11、事务隔离级别有哪些?MySQL的默认隔离级别是?
- 12、大表如何优化?
- 13、分库分表之后,id主键如何处理?
- 14、mysq|有关权限的表都有哪几个
- 15、mysq|有哪些数据类型
- 16、创建索引的三种方式,删除索引
Redis篇
- 1、Redis持久化机制
- 2、缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
- 3、热点数据和冷数据是什么
- 4、Memcache与Redis的区别都有哪些?
- 5、单线程的redis为什么这么快
- 6、redis的数据类型,以及每种数据类型的使用场景
- 7、redis的过期策略以及内存淘汰机制
- 8、Redis 为什么是单线程的
- 9、Redis 常见性能问题和解决方案?
- 10、为什么Redis的操作是原子性的,怎么保证原子性的?
- 11、Redis事务
SpringCloud篇
- 1、什么是SpringCloud
- 2、什么是微服务
- 3、SpringCloud有什么优势
- 4、什么是服务熔断? 什么是服务降级?
- 5、Eureka和zookeeper都可以提供服务注册与发现的功能, 请说说两个的区别?
- 6、SpringBoot和SpringCloud的区别?
- 7、负裁平衡的意义什么?
- 8、什么是Hystrix?它如何实现容错?
- 9、什么是Hystrix断路器?我们需要它吗?
- 10、说说RPC的实现原理
数据结构与算法篇
- 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里装有苹果,请用面向对象的思想实现两个篮子里的物品交换(请用代码实现)
- 6、更多算法练习
写在最后
这就是我总结的Java面试合集PDF文档的一部分了,由于文章篇幅原因,不能上传全部;有需要的朋友可以,一键三连后“加我VX小助理”来免费获取到