中小厂Java后端面试经历(笔试+面试)

该文章主要是让大家看看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、说说微服务的一些概念吧

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
来说点什么吧!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容