java面试题(二)

spring事务的底层原理,
32位操作系统和64位操作系统底层差异,
集合的原理,
数据库中的游标要注意哪些东西,
索引的原理,
微服务,多线程,高并发,都有问的,
缓存和分布式方面,
高并发缓存的设计应用,
spring,过滤器拦截器,
索引什么时候比较慢 in和exist底层的区别 优化手段,
熔断器 eureka 容灾,
技术方面问redis用来干嘛,怎么保证不重复扣款,
spring的启动过程,为啥map是线程不安全的,
需要对spring原理有清晰的认识,
springboot与springmvc的区别,
问了spring源码,aop原理,事务注解的注意事项,
空白期多长会有风险,
redis synchronize和lock的区别 ,
Kafka的分区,然后问了下我现在做的项目的结构我简单讲解了下 ,
数据库性能相关的多一些,主要是表结构方面的,再就是微服务方面的问题,还有中件间,
主要问的rabbit 消息持久化,消息丢失,ioc 和aop相关,然后最近看哪些非技术类书籍,AI大数据这块的了解等。
泛型的理解;
Java容器一个个说下、Arraylist(底层是一个对象数组,所以不能存基本类型,而只能存其包装类对象) 、Linkedlist底层实现、线程安全的集合concurrenthashmap等;
单例模式 代理模式 适配器模式等常用设计模式代码实现;
各种锁;
分布式系统怎么保证某个节点挂了,系统仍然正常运行?
jvm内存、jvm垃圾回收机制、jvm对String类型对象的特殊处理(加载时、垃圾回收时);
说一说往线程池里提交一个任务会发生什么?
线程池的几个参数如何设置?
线程池的非核心线程什么时候会被释放?
你们现在的项目,是微服务吗?你怎么理解微服务的?(我回答不是,我们的模块粒度还是比较大应该是一个SOA)
各模块之间的调用有没有做认证(回答了下白名单,了解到有一个shiro框架,但是没有使用到)
用到的技术栈(ssm+vue+oracle等)
前端访问后端有没有用https,和http有什么区别,用到了哪些加密算法,对称非对称的加密算法有那些?(使用了证书的加密解密)
https用到了什么加密算法,加密过程?(aes、base64剩下不记得了)
解释一下Spring使用的IoC是什么?spirng的生命周期和作用域。(回答到了ioc本质上是一个hashmap,把对象bean放到里面管理,负责bean的实例化与依赖注入,作用域有sington和prototype以及他们之间的区别)
java常用的锁机制有哪些?有什么区别?(有synchronized和trylock,trylock应该是要手动解锁,具体的记不太清了)
java创建线程有哪些方式?(实现Runnable和实现Thread类,区别不记得了)
java的面向对象的概念多态、函数重载(解释了重载是编译时多态,继承(重写)是运行时多态)
jvm的内存模型(java虚拟机栈、常量池、堆、程序技术器这些)
数据库
Decode函数有了解吗?(类似一个if的判断,之前用过,现在记不太清了,然后项目中用到比较多的存储过程,说了下我们的项目在流程结束之后会调用存储过程来转存表)
存储过程怎么实现捕捉异常,怎么处理异常、怎么获取异常信息? (回答用到了savepoint,并且把异常信息写到表里,他追问怎么知道是异常,我说和java是一样的一个exception,具体是什么参数的不记得了)
java的事物怎么回滚?(回答了spring里如果给service配置了事务,只要抛出异常就会回滚当前service的事务,接着我补充了下项目中用到了自定义异常,以及通过@ExceptionHandler来统一捕捉的异常并处理)
Java主要是基础,spring,springMVC,springboot,sql优化,还要项目能说清楚,覆盖面要广,
一面问些项目中的设计方案,
二面聊分布式架构设计,过程中会问用到的中间件原理,
堆外内存如何被回收?
spring中bean的生命周期是怎样的?
有做过哪些GC调优?
java NIO与BIO的区别?
Dubbo如何做负载均衡?
RocketMq如何保证高可用的?
Mongledb的底层,数据库的底层,高并发的部分,
springcloud也问了,
双亲委派机制的作用?
Tomcat的classloader结构
如何自己实现一个classloader打破双亲委派
软引用什么时候会被释放
弱引用什么时候会被释放
适用ThreadLocal时要注意什么?比如说内存泄漏?
redis如何持久化数据?
CopyOnWriteArrayList是如何保证线程安全的?
数据库方面问的比较多,可能跟这个项目组有关系吧,
数据库方面:数据库索引,数据库隔离怎么实现的(原理)。数据库优化相关,数据库如何应对高并发等。
数据库事务,锁相关,
java工具类:java集合用到了哪些?hashMap是线程安全的嘛。concurrentHashMap的原理等。
nio相关,nio和bio的区别,nio的原理,
redis相关:redis怎么设置超时,
redis是单线程的吗等,
高并发相关:
如何解决高并发问题,集群节点挂了怎么发现等,
技术上,hashMap get ,set方法怎么实现的。 springAop 原理,
Redis存储有几种方式,
Redis都有哪些存储类型,
JDK动态代理,
Spring bean如何解决循环依赖,
Spring Boot有哪些优点,Spring boot 如何引入properties文件,引用的配置文件参数除了@Value还有哪些方式可以获取,
Activiti用户组是如何实现流程流转,
数据库有哪些索引类型,原理,
concurrent包用过哪些类,concurrentHashMap怎么解决并发问题,
写个sql,统计单个表的平均成绩,如果需要过滤90分以上的需要怎么改,
画一下系统的交互图,应该画一下之前微服务的交互图,
Spring如何管理实务的,
Spring如何管理对象的,BeanFactory和FactoryBean有什么区别,
出现记账错误的时候是如何处理的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值