全网最经典26道Spring面试题总结,附面试题答案
一面(个人感觉回答得还不错)
1. 自我介绍
2. 说项目,项目问的非常深(本人提到之前做过的一篇关于FULL GC的问题定位和优化的项目以及一个多并发的项目)
2.1 对于自己产于过项目的系统定位是否清楚?
2.2 对于系统的各个模块是否清楚?
2.3 每个接口的tps?
2.4 对于上下游系统的依赖?
2.5 对于使用到的中间件、框架是否清楚?
3. 你觉得你做的项目中最有亮点的事情?
4. memcache redis同类中间的差异、优缺点?使用注意点有哪些?
memcache可以存储的数据类型只有字符串类型,而redis可以存储字符,list,sorted List,hash数据类型的数据;
memcache不支持数据持久化,redis支持RDB,AOF持久化;
memcache不支持集群,redis支持redis-cluster集群
5. redis分布式锁说说
我提到了redis的setnx()方法,以及使用redis的KV结构,lock作为key,key对应的value使用map结构,map中使用请求requestId作为map的key,过期时间作为map的value,获取锁使用cas算法,比较时间是否过期来获取锁和释放锁
6. TCP,UDP
7. 多并发项目的并发量,有没有压测过,以及QPS,请求的消息量太大,使用自己创建的任务队列会不会使内存爆?
8. Redis集群主从数据同步
主从集群实现了数据的读写分离,主服务器负责读写,偏重写,从服务器只负责读。主服务器启动之后向从服务器发送日志文件,从服务器根据日志文件进行数据的更新,之后如果主服务器有写操作,也会向从服务器发送相应的写操作
9. Zookeeper实现选举的原理
zk的选举过程中其起始所有结点的状态为looking,当某个结点的选票超过所有结点数的一半,该结点就会成为leader,结点状态为leading,其他结点会成为followers,结点状态为following。选举的依据是(sid,zxid)数据,sid代表结点的ID,zxid代表事务ID,选举过程中每个结点第一轮选举会选举自己作为leader,将(sid,zxid)发送给其他结点,其他结点收到数据(sid,zxid)与自身的数据做比较,如果zxid比自身zxid的要大,则直接选举当前结点;如果小于,坚持选举自己;如果zxid相等,比较sid哪个大,大者作为leader。
10. 说说分布式(我说的是Dubbo)
11. 数据库事务,分布式数据一致性如何实现?
读者可以了解一下ZAB协议,我大概就是围着ZAB协议说的
12. SpringIOC,SpringAOP
我简单说了说IOC,AOP的原理,以及原理依赖的模式
13. 数据库事务的隔离级别
四大隔离界别:Uncommitted-read Commited-read Repeated-read Serializable分别针对数据库脏读,不可重复读,虚读问题
14. 谈谈RPC
RPC远程调用,说了说原理,使用到的组件,以及RPC主要的任务:序列化,传输数据,方法调用(方法对应的ID)
15. 算法题:笔试题-最短路径问题(这道题是通过的)
某物流派送员p,需要给a、b、c、d4个快递点派送包裹,请问派送员需要选择什么的路线,才能完成最短路程的派送。假设如图派送员的起点坐标(0,0),派送路线只能沿着图中的方格边行驶,每个小格都是正方形,且边长为1,如p到d的距离就是4。随机输入n个派送点坐标,求输出最短派送路线值(从起点开始完成n个点派送并回到起始点的距离)。
我的做法是使用排列算法,将所有的情况排列出来,计算最短路径
二面(个人感觉回答的特别垃圾,六道问题回答了两道)
1. 自我介绍
2. 怼项目,各个角度刁难
3. FULL GC问题排查工具
我做项目时其实没有使用什么工具,就是用Linux命令TOP,TOP交互命令 1,H;jsatck,jstat以及JVM的相关参数和JVM日志的查看
4. 从事开发遇到最具有难度的问题
5. Spring事务,嵌套事务
这道题其实我是被问懵了,我回答得相当不好,一直回答事务隔离那一块,面试完我总结了一下有关Spring事务相关知识点
6. 面向接口编程的好处是什么
问的问题太抽象,我回答不好,面试官说不够完善
7. 数据库两个insert同时操作同一张表,第一个线程操作一半,问第二个线程会发生什么?
我回答的稀巴烂,下来查了一下,大概就是说这里涉及到的锁是间歇锁,读者可以看看相关知识
8. 说说死锁
举个例子,两个线程1和2,两个锁a和b,线程1拿到a锁后申请要b锁,而同时线程2已经拿到b锁,要申请a锁,两个线程之间陷入僵持状态
最后
整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
再免费分享一波我的Java专题面试真题+视频学习详解+Java进阶学习书籍
95797)]
再免费分享一波我的Java专题面试真题+视频学习详解+Java进阶学习书籍
其实面试这一块早在第一个说的25大面试专题就全都有的。以上提及的这些全部的面试+学习的各种笔记资料,我这差不多来回搞了三个多月,收集整理真的很不容易,其中还有很多自己的一些知识总结。正是因为很麻烦,所以对以上这些学习复习资料感兴趣,
全网最经典26道Spring面试题总结,附面试题答案相关推荐
- 全网最经典26道Spring面试题总结,终获offer
SpringCloud面试题 什么是 Spring Cloud? 使用 Spring Cloud 有什么优势? 服务注册和发现是什么意思?Spring Cloud 如何实现? Spring Cloud ...
- 【工作感悟】全网最经典26道Spring面试题总结
开头 学习如逆水行舟,尤其是IT行业有着日新月异的节奏. 而且现在这个浮躁而又拜金的社会,我相信很多人做技术并非出于热爱,只是被互联网的高薪吸引,毕竟技术岗位非常枯燥,不仅要面对奇奇怪怪的需求,还要不 ...
- 2022Java经典面试题总结(附问题和答案)
Java基础 面向对象 封装:封装的意义,在于明确标识出允许外部使用的所有成员函数和数据项,内部细节对外部调用透明,外部调用无需修改或者关心内部实现 继承:继承基类的方法,并做出自己的改变和/ ...
- 一份非常适合收藏的Android进阶面试题!附面试题答案
其实如果你技术深度足够,大必不用为就业而忧愁.每个行业何尝不是这样,最开始的风口,到慢慢的成熟.Android初级在2020年的日子里风光不再, 靠会四大组件就能够获取到满意薪资的时代一去不复返.** ...
- Java 晋升必会的 70 道 「Spring 全家桶」高频面试题
对于那些想面试高级 Java 岗位的同学来说,除了算法属于比较「天方夜谭」的题目外,剩下针对实际工作的题目就属于真正的本事了,热门技术的细节和难点成为了面试时主要考察的内容. 这里说「天方夜谭」并不是 ...
- spring ioc原理_这70 道Spring高频面试题,你不好奇吗?
对于面试来说,Spring是必问知识.如何了解和掌握核心内容呢? 这里总结打磨了 70 道 Spring 相关面试题,有的很基础,有的很细节,大家可以评估一下自己掌握的情况. Spring 重点要掌握 ...
- ASP.NET 经典60道面试题
转:http://bbs.chinaunix.net/thread-4065577-1-1.html ASP.NET 经典60道面试题 1. 简述 private. protected. public ...
- 77道Spring面试题以及参考答案(2021年最新版)
77道Spring面试题以及参考答案(2021年最新版),分享给大家~ 一.Spring概述 1. 什么是spring? Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目 ...
- osgi框架和spring区别_最全153道Spring全家桶面试题,你都知道哪些?(含答案解析)...
前言 Spring 框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶. 毋庸置疑,Spring 早已成为 Java 后端开发的行业标准,无数的公司选择 Spring 作为基础的 ...
最新文章
- Azure Automation 自动化-自动关闭Azure
- 注解@PostConstruct与@PreDestroy
- 手动实现SPring中的AOP(1)
- c++之使用std::sort对坐标进行排序
- 极客大学架构师训练营 系统架构 大型网站技术架构 维基百科、淘宝、新浪微博案例分析 第8课 听课总结
- 史上最详细解释接口自动化测试中cookie、session和token的区别【多测师_王sir】
- 电容屏物体识别_浅谈多点电容屏物体识别,实物识别技术
- pdf权限密码 找回
- 一张图概括App启动流程
- 浅谈全国统一规范普通高等学校学费标准问题
- 北大核心期刊目录2021年 计算机类
- 记参加Microsoft Ignite 大会和北京CSDN创作者之夜
- 前端智能化实践——可微编程
- 樱花树下的约定歌词用计算机,樱花树下的约定歌词 可泽、夏凌兮_晴格歌词网...
- TOP10效率工具大集合,0-3岁运营/产品/设计的懒人高效工具!
- 【新手教程】51Sim-One Cloud 2.0如何构建一个V2X案例
- Arduino 入门教程(十六) E18-D50NK红外避障传感器
- IoT黑板报:树莓派Zero W发布 配有Wi-Fi和蓝牙售价10美元
- 海康威视的设备怎么进行设置
- tomcat启动许多gc_tomcat启动时就频繁gc和full gc