core币空投币tcc java面试题有哪些?
java面试题有哪些?
谢邀。一般关于面试的java框架都是根据你简历中之前项目用到的框架来问。题主没有问到具体的框架,我就谈谈目前公司招聘要求最多,也是公司用的最多的三个框架SSM。
关于Spring:
1.谈谈你对Spring IOC和DI的理解,它们有什么区别?
2.Spring配置bean实例化有哪些方式?
3.请介绍一下Spring框架中Bean的生命周期和作用域
4.Bean注入属性有哪几种方式?
5.什么是AOP,AOP的作用是什么?
6.Spring如何处理线程并发问题?
7.介绍一下Spring的事物管理
关于SpringMVC:
1.什么是SpringMVC ?简单介绍下你对SpringMVC的理解?
2.说说SpringMVC的流程?
3.SpringMVC有什么优点?
4.SpringMVC怎么样设定重定向和转发的?
5.如何解决POST请求中文乱码问题,GET的又如何处理呢?
6.Spring MVC的异常处理 ?
7.SpringMvc的核心入口类是什么?
8.SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决?
9. @RequestMapping注解用在类上面有什么作用?
10.如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?
11.SpringMvc如何处理视图?
关于Mybatis:
1.#{}和${}的区别是什么?
2.当实体类中的属性名和表中的字段名不一样 ,怎么办?
3.聊聊你对Mybatis的了解和认识?
4. Mybatis工作原理
5.Mapper.xml映射文件中有哪些常用标签?
6.Mybatis是如何进行分页的?分页插件的原理是什么?
7.Mybatis动态sql是做什么的?都有哪些动态sql?简述一下动态sql的执行原理?
8.Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式?
以上题目是我分享的一点点建议,希望能对你有所帮助。有兴趣还可以关注我,定期分享技术干货,在程序员进阶的路上一起学习成长。

1.HashMap底层 扩容
JDK1.8的HashMap的底层是数组 链表 红黑树,发生hash碰撞采用拉链法解决冲突。数组中存放的是链表。链表的每一个节点是一个Entry,每个Entry中存放了Key,Value,hash值,还有指向下一个元素的引用。
当hashMap中的元素个数超过 [数组大小*负载因子] ,并且新的Entry落在了非空的位置,就会进行数组扩容,将会创建原来HashMap大小的两倍的数组,将原来的对象放入新的位置上。默认情况下,数组的大小为16,负载因子的默认值是0.75。
需要注意的是,hashmap扩容的判断,不一定是数量占比超过0.75就会扩容,如果初始数组16的时候,直接插入8个hashcode一样的不同的元素,此时链表并不会转换成红黑树,而是扩容,直到容量至少扩容到了64。
参考文章:
2.MySQL索引数据结构
MySQL中是使用B 树作为索引。它是B树的变种,因此是基于B树来改进的。
- B 数的特性B 树索引的所有数据全部存储在叶子节点,并且数据是按照顺序排列的。B 树非叶子节点上不存储数据,仅存储索引。因为数据是按照顺序排列的。所以B 树在范围查找,排序查找,分组查找以及去重查找这些操作上效率很高。
参考文章:
3.索引失效的情况
- 如果条件中有or,即使其中有条件带索引也不会使用(要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引)
- 对于多列索引,不是使用的第一部分(第一个),则不会使用索引(最左前缀原则)
- like查询以%开头
- 如果列类型是字符串,没有加单引号会导致失效
- 如果mysql估计使用全表扫描要比使用索引快,则不使用索引
- 索引列上做计算、函数、类型转换等操作
参考文章
4.最左匹配原则(abcd联合索引,查bcd可以吗)
- 最左匹配原则就是指在联合索引中,如果你的 SQL 语句中用到了联合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个联合索引去进行匹配。
5.数据库并发事务产生的问题
- Read uncommitted 读未提交
- Read committed 读提交
- Repeatable read 重复读
- Serializable 序列化
参考文章
我也是一直做java开发很多年啦,经历过的面试很多了,大公司小公司都待过,给你一些建议吧。
java面试题面还是很广的,下面给你分类整理下来的。
1、java基础知识。比如面向对象的特征、多态、访问修饰符范围、static和final关键字、抽象类与接口、深拷贝与浅拷贝、序列化与反序列化、几种数据结构、拆箱与装箱
2、java集合相关的。比如集合框架理解、list、set、hashmap底层实现以及区别?hashmap底层原理,put和get方法怎么实现的?hashmap与hashTable区别?concurrentHashMap底层实现?
3、java异常处理。异常分类?编译时异常与运行时异常区别?举例子有哪些运行时异常?
4、jvm内存模型。以及GC垃圾回收机智和算法。
5、spring相关。解释IOC和AOP,以及他们的原理。bean生命周期
6、mysql。索引是什么?索引分类?索引优化?
7、mybaits相关。动态标签,字符串替换,防注入。
8、dubbo。dubbo服务注册与发现。服务负载均衡算法,dubbo配置与使用。
9、多线程。synchronized用法与底层原理,与lock的区别?线程池有哪些?线程池有哪些参数?线程池优化?
10、redis。redis数据类型有哪些,每个类型的使用场景?redis为什么这么快?redis怎么保证高可用?redis怎么保证与数据库数据一致?
11、消息队列。activeMQ、rabbitMQ、rocketMQ、kafka,都可以了解下,以及怎么保证高可用和处理高并发。
12、排序算法与数据结构。冒泡排序、快速排序、选择排序、插入排序等等
大概就有这么个方面的,好好准备还是有很多机会的。
我主要做java 开发的,大家有什么其他问题可以关注我给我私信,或者继续在评论区和我沟通,我有java高级分布式高并发消息队列面试视频可以分享,大家一起进步

互联网高级java高并发分布式消息队列面试视频在蜻蜓FM,搜索“浅戏互联网”,喜欢的朋友可以关注一下,谢谢。

不邀以来。
您好,本人就是一名JAVA程序员,工作3年左右。
在这3年的JAVA开发工作生涯中,从一开始被别人面试,再到后来给别人面试,总结出一些面试心得,也有一些自己的面试技巧。
对于面试官,会看你的简历,会重点问你简历上写的技术,所以你要精心准备自己简历上的问题,争取知道了解80%-90%,自己不会的技术,不了解的技术,千万不要写在简历上,比如,你不会实现分页技术,就一定不要多写关于分页的技术。
其次,面试官主要还会问一些基础问题,比如循环,字符类型等,还有就是三大框架,数据库等,三大框架比如Spring,springmvc或struts2,mybatis或hibernate,还有数据库Oracle,MySQL等。
如果作者需要面试题,可以关注私信我,我看到后会第一时间发给您。
SpringMVC

- 什么是Spring MVC ?简单介绍下你对springMVC的理解?
- SpringMVC的流程?
- Springmvc的优点
- SpringMVC和struts2的区别有哪些?
- 如何解决POST请求中文乱码问题,GET的又如何处理呢?
Spring

- AOP(面向切面编程)的原理
- AOP的使用场景
- IOC(控制反转)的原理
- Spring框架中的单例bean是线程安全的吗?
- 常用的注解
- 用到的设计模式
- Spring的优点(解耦、很多主流框架的集成 低侵入式设计,代码的污染极低 等等)
- SpringBean的作用域
- 事务机制
- Spring的核心类,及作用 如BeanFactory、ApplicationContext、BeanWrapper
- Spring支持的ORM?
- BeanFactory 接口和 ApplicationContext 接口有什么区别 ?
- 依赖注入的方式有几种:接口注入、Setter注入、构造方法注入
Mybatis

- 什么是mybatis?
- MyBatis与Hibernate有哪些不同?
- Mybait的优缺点
- 常见的标签
- 分页及常用的分页插件
- #{}和${}的区别是什么?
- 一对一、一对多的关联查询 ?
- Mybatis的一级、二级缓存:
- Mybatis比IBatis比较大的几个改进是什么?
- IBatis和MyBatis在核心处理类分别叫什么?
- IBatis和MyBatis在细节上的不同有哪些?
- 为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
- MyBatis与Hibernate有哪些不同?
Hibernate

- Hibernate工作原理
- Hibernate是如何延迟加载(懒加载)?
- 缓存机制(一级缓存、二级缓存)
- Hibernate的查询方式有几种Hibernate中save、persist和saveOrUpdate这三个方法的不同之处?
- get()与load()的区别
- Hibernate中的SessionFactory有什么作用? SessionFactory是线程安全的吗?
SpringBoot

- 常用的starter有哪些
- Spring Boot 的配置文件有哪几种格式?它们有什么区别?
- Spring Boot 的核心注解是哪个?常用的注解(如@EnableEurekaClient
- @EnableFeignClients @FeignClient @EnableTransactionManagement
- @RestController @Configuration @Order @ControllerAdvice等)
- Spring Boot 需要独立的容器运行吗?( 可以不需要,内置了 Tomcat/ Jetty 等容器。)
- 运行 Spring Boot 有哪几种方式?
- SpringBoot与SpringCloud的关系
- SpringCloud的各类组件(Feign、Eureka、Hystrix等)的理解及使用
Nginx
- Nginx作用
- 常用命令
- 负载均衡的几种常用方式?
- session不同步怎么办
- 前端服务器集群后做负载均衡和动静分离
其他
Thymeleaf、freemarker等模板引擎
NoSQL:Redis、Memcache和MongoDB等的区别、使用
xml解析(DOM解析、SAX解析、JDOM解析、DOM4J解析)
POI实现Microsoft Office格式档案读和写的功能
多线程、线程池的原理及实现
设计模式
Kafka、MQ等消息机制
Sql优化
jvm原理
常用搜索引擎Elasticsearch等
扎实的java基础

程序猿,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。
