1. 首页 > 区块资讯  > core币空投币tcc java面试题有哪些?

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.索引失效的情况

  1. 如果条件中有or,即使其中有条件带索引也不会使用(要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引)
  2. 对于多列索引,不是使用的第一部分(第一个),则不会使用索引(最左前缀原则)
  3. like查询以%开头
  4. 如果列类型是字符串,没有加单引号会导致失效
  5. 如果mysql估计使用全表扫描要比使用索引快,则不使用索引
  6. 索引列上做计算、函数、类型转换等操作

参考文章

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

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

Spring

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

Mybatis

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

Hibernate

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

SpringBoot

  1. 常用的starter有哪些
  2. Spring Boot 的配置文件有哪几种格式?它们有什么区别?
  3. Spring Boot 的核心注解是哪个?常用的注解(如@EnableEurekaClient
  4. @EnableFeignClients @FeignClient @EnableTransactionManagement
  5. @RestController @Configuration @Order @ControllerAdvice等)
  6. Spring Boot 需要独立的容器运行吗?( 可以不需要,内置了 Tomcat/ Jetty 等容器。)
  7. 运行 Spring Boot 有哪几种方式?
  8. SpringBoot与SpringCloud的关系
  9. SpringCloud的各类组件(Feign、Eureka、Hystrix等)的理解及使用

Nginx

  1. Nginx作用
  2. 常用命令
  3. 负载均衡的几种常用方式?
  4. session不同步怎么办
  5. 前端服务器集群后做负载均衡和动静分离

其他

  1. Thymeleaf、freemarker等模板引擎

  2. NoSQL:Redis、Memcache和MongoDB等的区别、使用

  3. xml解析(DOM解析、SAX解析、JDOM解析、DOM4J解析)

  4. POI实现Microsoft Office格式档案读和写的功能

  5. 多线程、线程池的原理及实现

  6. 设计模式

  7. Kafka、MQ等消息机制

  8. Sql优化

  9. jvm原理

  10. 常用搜索引擎Elasticsearch等

  11. 扎实的java基础


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