模拟面试题

以下是一份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进行处理,非常感谢!

上一篇 2019年10月11日
下一篇 2019年10月11日

相关推荐