首页 > 编程语言 > 详细

java面试题

时间:2020-06-30 16:57:54      阅读:46      评论:0      收藏:0      [点我收藏+]

微服务架构和单体架构区别

单体架构

把静态资源和后端业务代码,打包成一个war包。

优点

1:开发,测试,部署简单
2:成本小,易上手

缺点

1:一旦某个服务出现异常,会影响整个系统的运行。比如非重要系统内存溢出
2:业务量过大后,会造成性能不足的可能。

微服务架构

将业务进行拆分,每个服务都可以独立部署。比如订单系统,登录系统。购物车系统。

借鉴:https://blog.csdn.net/xiaoxiaole0313/article/details/106678478

优点

1:某个时间段内业务量会急剧上升,这个时候可以部署多个服务,实现高可用。
2:每个服务足够小,内聚高,代码更易理解,相较于单体架构,修改几行代码可能需要对整个系统逻辑都要理解
3:易开发,单个服务功能集中
4:单个服务可以由小团队进行开发,效率高
5:前后端分离,Java开发人员能更集中精力关心后端接口的安全性和效率
6:每个服务拥有独立的数据库,也可以多个服务使用一个数据库

缺点

1:增加运维人员工作量,可能会部署非常多的war包(k8s + Docker + Jenkis)
2:服务之间相互调用,增加通信成本
3:数据一致性问题(分布式事务问题). 性能监控等
4:问题定位时间成本增加

sql优化

mongodb结构

mongodb使用场景

6.有没有想过mongodb和mysql存储数据有什么不同,性能对比
7.多线程并发操作场景
8.在电商项目承担什么
9.redis常用的数据结构
10.redis为什么要用hash
11.公司如何测试的,都用过什么项目管理工具
12.什么是数据分区,你主导过数据分区么?
13.拆分微服务出现垮库sql怎么办,上线的时候有没有出现什么问题
14.你在微服务和一些中间件中踩过哪些坑
15.说下rabbitmq的模式
16.mongodb如何做优化?

3.springboot和spring的区别
4.说下sql优化策略
5.数据库分区是什么
6.索引都有什么
7.如何做索引优化
8.hashmap底层原理是什么
9.hashmap和currenthashmap区别
10.jdk1.7和1.8中hashmap有什么区别

3.请问有个学生表,根据学号查询重复数据的sql
4.查询出的重复数据如何保持删除并且留一条数据的sql
5.说下事务的隔离级别
6.数据库有哪些索引
7.主键索引和唯一索引的区别
8.说下数据库引擎都有哪些
10.说下支付的时序图
11.支付是结果是直接调用还是使用回调函数
12.springboot主类上常用的注解
13.mysql手动提交事务的语句是什么
14.项目中service都有什么注解
15.autowire和resource的区别
16.如果出现相同名字的bean怎么办
17.springCloud用过哪些
19.zuul用过吗
20.这么使用消息总线的

2.说下最近的项目
3.项目中git分支如何维护
4.项目中有哪些难题,如何解决
5.final关键字作用
6.修饰类会怎样
7.string能被继承吗
8.说下java的数据类型
10.什么事引用类型
11.什么是强 弱 软 虚引用
12.熟悉linux命令吗
13.部署项目流程
14.如果服务器cpu突然飙升到百分之100怎么办

2.有处理过高并发吗或者说如何处理
3.高并发如何处理线程安全
4.synchronized怎么使用的
5.synchronized在方法上使用还是在变量上
6.项目中如何使用权限的
7.线程有几种状态,都有是如何进行转换的
8.stringbuffer为什么是线程安全的
9.stringbuffer中方法加上synchronized就可以线程安全了吗,为什么
10.说一下redis使用场景
11.单点登录怎么做的
12.你写的技术哪个是你精通的
13.rabbitMQ的模式有哪些
14.hashMap是通过什么存储的
15.linux如何查看一个被占用的进程号
16.通过接口对接,用的什么协议,如何保证接口数据不被拦截和篡改
17.tcp和udp是什么,有什么区别,为什么tcp是面向连接的udp非面向连接的..

3.说下arrrylist和linklist的区别
4.说下hashtable和hashmap的区别
5.说下hashtable和ConcurrentHashMap区别
6.为什么hashtable是线程安全的
7.说下jvm新生代的都有什么
8.垃圾收集器都有哪些算法
9.新生代适用于什么算法老年代适用于什么算法
10.什么时候触发fullGC
11.数据库的隔离级别
12.脏读出现在什么级别
13.幻读出现在什么级别
14.什么是幻读
15.用过什么前端框架
16.栈和堆是什么区别
17.让你设计一个栈满的程序怎么写
18.treeset和hashset的区别
19.treeset和hashset是有序的吗
20.栈溢出如何处理

4.springIOC是什么
5.spring在什么时候加载的对象
6.spring对象的生命周期
7.json是什么
8.如何拼接json对象
10.用的什么json工具
11.spring如何创建对象的
12.spring在什么时候创建的对象
13.map的key能重复吗
14.放入重复key会怎么样
15.你都见过什么异常
16.为什么出现空指针异常
17.你在开发中遇到的难点
19.linux熟悉吗
20.tomcat在linux系统上怎么部署的
21.复制一个文件、改变文件的名称linux都用的什么命令
22.编辑端口号文件用什么命令,保存文件命令是什么

java面试题

原文:https://www.cnblogs.com/erosion/p/13214292.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!