Java开发两年经验面试题汇总

一、基础

a.ArrayList和LinkedList区别,底层实现等等
b.jvm内存模块有哪些,修改jvm参数,gc算法
c.线程池是否用过,有哪些重要的参数,分别是什么意思;为什么选择用线程池,而不直接去创建线程
d.一个对象,什么情况下会被回收
e.map的底层实现
f.java8有哪些新特性
g.多线程有哪些创建方式
h.线程同步的方式有哪些
i.数据库事物的隔离级别有哪些
j.mysql和mongodb的区别
k.sql优化
l.yield和join的区别
m.concurrent包熟悉么(即对并发编程使用并发包)
n.volatile是做什么呢?
o.为什么会存在工作内存这个东西,没了他会发生什么
p.concurrenthashmap和copyonwritearraylist的原理和使用
q.算法:递归,归并,BTree,冒泡,快排,手写代码实现栈功能等等
r.Callable和Runnable的区别

二、框架

a.SpringMVC处理请求的流程
b.Spring的IOC,AOP是什么?IOC的原理,涉及到哪些核心的类,比如BeanFactory和FactoryBean等等,实现的方式;AOP一般用来解决什么问题,他的缺点是啥,一般是通过什么方式实现,涉及到哪些类?
c.Hibernate和Mybatis的区别
d.springboot和spring的区别;springboot和springMVC的区别
e.restful api的风格
f.微服务是什么?为什么要使用微服务
g.springcloud的组件有哪些?注册中心集群内有三个注册中心,需要维持1万个服务,5万个实例的心跳,假设注册中心因集群维持心跳数目过大而雪崩,如何解决这种场景;feign的网络协议等等
h.如何解决微服务系统的事物问题
i.rabbitmq中队列如何得知消费者已经成功消费了消息.即具体的交互逻辑
j.什么场景下使用redis做缓存,redis可以存储哪些数据结构,搭建redis集群等等
k.zuul和nginx是一个东西吗?针对你的描述
l.springboot的核心是starter模块,需要自己手动写自定义注解,以及starter模块
m.hystrix进行服务降级的原理和机制
n.函数式编程的使用,Spring5,java8
o.cas理论和base理论,分库分表,分布式系统数据一致性的
p.最终一致性的解决方案,优缺点

三、项目经验

四、遇到过哪些问题,解决方式;写过哪些bug等等

  • 2
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值