以下是一份3年的简历内容,其中软件技能部分,大概会问以下问题,欢迎各位一起回答一下。
『熟悉消息中间件RabbitMq的使用及其实现原理。』
项目中使用过Rabbitmq,是什么场景使用的用的话能不能解决问题/strong>
Rabbitmq和其他的同类消息中间件相比有什么优缺点吗
Rabbitmq如何保证不丢数据如何保证消息的消费不会重复
什么是业务幂等,什么是请求幂等,你们采用的哪一种什么
如果业务层没有做到幂等,还有什么办法在数据库层面避免脏数据产生吗
『有扎实的Java基础功底,熟悉JVM内存模型、Java高级特性和类库』
JDK、JVM和JRE有什么区别
如何设置堆大小
如何知道堆大小设置的是否合理/strong>
创建多线程有几种方式/strong>
JVM内存模型介绍一下吧。哪些部分是线程共享的,哪些部分是线程独享的
堆和栈的区别数组分配在堆还是栈
所有对象都在堆上分配内存吗
什么是逃逸分析么是变量替换么是栈上分配
如何查看堆的使用情况何分析堆内存溢出问题
一、使用jps查看线程ID
二、使用jstat -gc 3331 250 20 查看gc情况,一般比较关注PERM区的情况,查看GC的增长情况。
三、使用jstat -gccause:额外输出上次GC原因
四、使用jmap -dump:format=b,file=heapDump 3331生成堆转储文件
五、使用jhat或者可视化工具(Eclipse Memory Analyzer 、IBM HeapAnalyzer)分析堆情况。
六、结合代码解决内存溢出或泄露问题。
线上频繁FGC如何排查和定位问题
『熟悉Java 络与服务器编程、Java多线程编程等。』
什么是线程,进程发和并行
并发编程用过哪些关键字
synchronized的实现原理
volatile的实现原理/strong>
volatile为什么不能保证原子性
双重校验锁实现的单例中,用了synchronized为什么还要用volatile
知道什么是CAS吗道什么是乐观锁吗
『熟悉Mysql数据库,了解sql诊断和性能分析策略,有sql优化和数据库运维经验。』
什么是关系型数据库/strong>
除了关系型数据库还有其他数据库吗
关系型数据库和其他数据库有什么区别/strong>
有什么优缺点/strong>
InnoDB中索引如何实现的/strong>
使用了什么数据结构
B树、B+树区别是什么/strong>
做过哪些SQL优化
数据库有慢SQL,如何排查问题
先通过日志定位到慢SQL,然后使用explain命令查看SQL的执行计划,查看其索引使用情况,再进行索引优化
慢SQL会引起什么问题
SQL慢,会拖长事务,拉长请求的RT。大量慢SQL就会大量占用数据库连接,导致后续请求排队,严重会导致应用服务器的CPU飙高、LOAD飙高,直到机器被打挂。
B+树索引和HASH索引的区别
B+树索引中叶子节点上存储的是什么的东西什么区别
在 InnoDB 里,索引B+ Tree的叶子节点存储了整行数据的是主键索引,也被称之为聚簇索引。而索引B+ Tree的叶子节点存储了主键的值的是非主键索引,也被称之为非聚簇索引。
什么是最左前缀匹配么是索引下推
索引越多越好吗
数据库挂了怎么办/strong>
关系型数据库和NOSQL有什么区别吗有什么优缺点
『熟悉Nosql数据库Redis,了解Redis事务控制;主从复制及持久化恢复等。』
Redis的线程模型/strong>
单线程的Redis如何保证高效的/strong>
Redis的事务控制怎么理解
如何解决缓存和数据库之间的数据一致性问题
『熟练使用常见的开源框架,如Spring, Dubbo, Mybatis, SpringMVC,SpringBoot,SpringCloud等』
为什么要使用Dubbo/strong>
SpringBoot的starter机制了解吗
MyBatis和Hibernate有什么区别/strong>
为什么用MyBatis
熟悉linux系统常用操作命令』 Linux机器LOAD飙高如何排查/strong>
『熟悉计算机 络相关协议,学习过操纵系统、数据结构、算法相关课程并掌握;』
计算机OSI七层模型
TCP三次握手四次关闭的流程介绍一下为什么是三次握手,2次或者4次行不行/strong>
手写快排。
两个文件,各存放50亿条URL,每个URL占64字节。内存限制是4G,找出两个文件中相同的URL
描述一下 页中输入 址敲击回车之后的全过程。
『熟悉 Springboot, Spring, SpringMVC, Mybatis, Netty 等开源框架;』
Spring IOC ,AOP原理
Spring bean的初始化过程
Spring bean注入有几种方式/strong>
jdk和cglib动态代理有什么区别/strong>
Mybatis和Hibernate有什么区别/strong>
『了解 Redis,消息队列等开源中间件,了解分布式基础理论, CAP, Paxos 等;』
什么是CAP何证明CAP
简单介绍下Paxos解决的是什么问题
『熟悉 IDEA/Eclipse/Vim 等开发工具,熟悉 Maven, Git 等管理工具,熟悉 Restful 编码风格, Postman 测试工具。』
GIT和SVN有什么区别/strong>
maven有什么用/strong>
如何解决jar包冲突
『电商秒杀项目』
QPS从430提升到850做了什么PS是850的时候,RT是多少
Redis预减库存后,如何同步到数据库败了怎么办
数据库如何防止超卖
如何防止恶意秒杀/strong>
如何防止脚本秒杀/strong>
这个项目中你主要担任的是什么角色/strong>
简单介绍下你负责的功能 如何理解分布式,和集群有什么区别/strong>
你们的项目室分布式部署的,那么是用户、商品、订单等模块是独立部署的的吗
那多个业务模块之间的系统交互是如何实现的,用的RPC框架吗/strong>
哪种RPC框架/strong>
Dubbo和gRPC有什么区别/strong>
优缺点对比下单的时候,支付和订单扣减有没有遇到过数据不一致的情况,如何解决
Mybatis是干什么的
你们的商品表是怎么设计的么是SKU
库存的扣减是怎么进行的何避免超卖
购物车的组合支付是怎么做的/strong>
如何保证原子性
你们的数据量有多大/strong>
订单表大概有多少个字段
Redis具体在什么场景中使用作为缓存
如何保证Redis和数据库中数据的一致性
缓存击穿有了解吗/strong>
什么是负载均衡
介绍一下nginx实现负载均衡的具体方案 Spring的IOC和AOP介绍一下
Spring中bean的生命周期介绍一下 Spring中bean是单例的吗
你在项目中有遇到什么技术难题吗/strong>
你是如何解决的
你觉得你们做的电商 站有哪些还可以优化的地方吗/strong>
1、线程和进程的区别
2、Java是单进程还是多进程
3、Java虚拟机做GC的时候为什么会stop the world
4、如何理解高并发少并发量算是高并发/strong>
5、如何应对秒杀这种高并发场景,谈谈自己可能得实现思路
6、知道几种排序算法间复杂度和稳定性分别说一下写快排。深度优先搜索和广度优先搜索手写其中一个。
7、什么是OSI七层模型,介绍下TCP三次握手,四次关闭。
8、为什么要3次握手,2次或者4次有什么问题/strong>
9、知道什么是TCP粘包吗/strong>
10、直到IPV4 和 IPV6的区别吗/strong>
11、Mysql和Redis有什么区别和联系/strong>
12、有了Mysql为什么还要使用Redis
13、Mysql的常用引擎有了解吗别是什么/strong>
14、Innodb的锁机制介绍一下
15、死锁的四个必要条件,避免方法
16、什么是数据库连接池什么要用
17、有40亿个不重复的unsigned int的整数,没排过序,现在给一个数,如何快速判断这个数是否在这40亿个数当中。
1、什么是负载均衡,如何使用Nginx实现的负载均衡
2、Nginx实现的负载均衡是几层负载均衡
3、介绍下你理解的单点登录和你的实现方式/strong>
4、Spring Session的核心原理
5、权限统一校验你们怎么做的道什么是RBAC吗/strong>
6、为什么使用拦截器实现什么不用开源的框架
7、Spring 拦截器的实现原理监听器的区别
8、为什么要用分布式锁,不用行不行。
9、详细阐述Redis实现分布式锁的技术方案
10、其他实现分布式锁的方案对比。
11、如何对宕机死锁的情况进行优化的果如何/strong>
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!