该文章主要是让大家看看Java后端面试的时候会问哪些问题,以及你是否能掌握了这些知识。所以文章中并没有给出答案,大家可以自行查找相关知识ovo
笔试(30分钟)
①选择题:一些简单的数学题 + Java基础题 + Spring基础题
②一道算法题
③场景应用题
题目的大概描述:现在有三个端,客户端App、WEB端、服务端。进行登录操作,使用客户端App扫描WEB端的二维码,然后WEB端显示“正在扫码登录”,客户端App弹出窗口,点击确认后WEB端登录成功。请你说说这个功能是怎么实现的,用到了哪些落地技术?
面试(40分钟左右)
自我介绍:
进行一分钟左右的自我介绍
面试题(48问)
1、学Java多久了?
2、Java底层的源码看过吗?看过哪些?
3、学Java你应该知道经常会有空指针的问题,那HashMap的key和value可以为null吗?
4、说说HashMap底层原理和扩容机制。
5、那么我再问问你啊,HashMap线程安全吗?
6、那如果实际开发中要使用HashMap,你有哪些方案可以保证线程安全?
7、那请你说说ConcurrentHashMap是如何保证线程安全的?
8、那如果我现在使用put,那我是每次put都会加锁吗?
9、我看你简历上说了解Java8的一些特性,能说说有哪些吗?
10、线程池了解吗?说说线程池的一些知识
11、那我再考考你核心线程和最大线程数的关系
12、那如果现在核心线程数为2,最大线程数是4,并且已经没有任何任务需要执行了,线程池是一个怎么样的状态,线程池自己内部会做一些什么工作呢?
13、你了解阿里巴巴的规范吗?里边他有一个规范就是说不能用jdk的线程池,你能说说为什么吗?或者说线程池有什么缺陷?
14、ThreadLocal了解吗?里边的原理说说?
15、如果我现在有10个线程,然后ThreadLocal里有一个Person对象,同时访问,线程安全吗?
16、volitail关键字了解吗?说说volitail的作用。
17、volitail是怎么工作的?
18、那在实际开发中怎么使用volitail关键字呢?
19、那我再问你一些底层原理的东西。指令重排序是会对业务产生一些影响的,那你能说说重排序涉及到的操作有哪些吗?
20、相信你也了解过Synchronized,那我问问你Synchronized和volitail有什么关系吗,或者说怎么配合的?
21、MySQL的引擎你了解过吗?
22、MySQL引擎中的Innodb和MyISAM两者有什么区别呢?
23、你能说说MySQL支持的四种事务级别吗?
24、什么是可重复读?
25、那实际开发中我们应该怎么选择事务的隔离级别?是选择读已提交,还是选择可重复读呢?
26、那具体的可重复读底层是怎么实现的呢?
27、说到数据不同,有两种方式。一种是数据库里有一条张三的记录,但是我修改了张三有关的信息。第二种是新增一个李四。那么可重复读是针对那种方式呢?是修改还是新增?
28、间隙锁了解吗?
29、反射了解吗,说说你的理解
30、举个反射实际的应用场景?
31、说到动态代理,你能说说JDK和Cglib动态代理吗?
32、那实际开发中如何选择呢?Cglib任何时候都可以使用吗?
33、Spring了解过吗
34、Spring中的配置你有用过吗?
35、说说@Controller和@RestController有什么区别?
36、Spring中的事务有两种实现方式,一种是声明式事务,一种是编程式事务,我们在开发时如何选择?
37、说说Aop的使用场景吧
38、spring中的事务你有用过吗,有没有遇到过什么问题?
38、知道乐观锁是吗?说说乐观锁CAS的原理
39、CAS会产生什么问题呢?
40、什么是ABA问题?
41、如何避免ABA问题?
42、分布式锁是需要用到key的,这个key有什么讲究吗?
43、具体怎么实现呢?
44、了解过mq是吧,除了RabbiMq,还用过RoketMq吗?RabbitMq的使用场景是怎么样的?
45、nacos了解吗?
46、nacos除了注册和发现,还有其他作用吗?
47、微服务了解吗?
48、说说微服务的一些概念吧
暂无评论内容