
面试题
文章平均质量分 72
colspanprince
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试题 MySQL
一、MyISAM和InnoDB存储引擎的区别 1、MyISAM 不支持事务,不支持外键约束,索引文件和数据文件分开,这样在内存里可以缓存更多的索引,对查询的性能更好,适用于少量的插入,大量查询的场景。报表系统是比较适合MyISAM存储引擎的 2、Innodb 支持事务,支持外键约束,有成熟的高并发、高可用、分库分表、读写分离、主从切换的方案 ...原创 2022-04-01 10:57:19 · 1590 阅读 · 0 评论 -
面试题 网络
一、TCP/IP四层模型 四层模型是从七层模型简化而来的 1、OSI七层模型 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 2、TCP/IP四层模型 物理层:将两台设备通过网线、光缆等方式,通过物理方式连通,用来传输0和1的电路信号 数据链路层:物理层传输0和1的电信号后,还需要根据协议,来辨别这些0和1的电信号代表什么意思,以太网协议就是这种公共的协议。以太网协议规定,每个设备都有个网卡,数据就是从一个电脑的网卡发往另一个电脑的网卡。这个网卡地址就是所谓的MAC地址,每个网卡都有原创 2022-03-22 22:43:21 · 686 阅读 · 0 评论 -
面试题 分库分表、主从同步
二 系统原创 2022-03-03 16:55:16 · 807 阅读 · 0 评论 -
面试题四 如何设计一个高并发的架构系统
一、系统拆分 使用dubbo、SpringCloud实现分布式,拆分系统,不同业务访问不同数据库 二、缓存 大量读请求直接从缓存里取 三、MQ 读请求解决好后,就要解决写请求,加入MQ进行削峰 四、分库分表 加入MQ可以针对平时数据量不大,但秒杀时数据量很大的场景,但如果平时数据量就很大,那MQ削峰了也没用。这时进行分库分表,将请求分摊到各个库 五、读写分离 要更新缓存中的数据,所以主库负责写,从库负责读 六、ELK 分布式系统上ELK 七、简述 阿里云ECS弹性伸缩,高峰特别是秒原创 2022-02-03 09:19:28 · 1583 阅读 · 0 评论 -
面试题三 分布式事务方案
一、两阶段提交 1、介绍: 有一个事务管理器的概念,负责协调多个数据库的事务,事务管理器先问各个数据库是否可以存储数据,如果都可以,那就正式提交事务,否则就回滚事务 2、缺点: 严重依赖数据库层面来搞定事务,效率很低,绝对不适合高并发的场景。在实际的分布式系统中,基本不可能使用。因为分布式服务中的每个服务按规定只能访问自己的库,所以没法使用两阶段提交 二、TCC方案 1、介绍: 用业务代码实现分布式事务,TCC全称try、confirm、cancel 1)try阶段:对各个服务的资源做检测和原创 2022-01-28 22:33:37 · 2090 阅读 · 0 评论 -
面试题二 分布式锁和分布式session
一、Zookeeper的作用 1、分布式系统间的协调 A系统发消息到MQ,并在zk的某个节点注册监听器,B系统消费后修改zk那个节点的值,A立马就可以收到通知 2、分布式锁 节点尝试创建临时的znode,创建成功了就获取锁。别的节点尝试获取锁,却获取不到,就对这个锁注册一个监听器,当原来的节点释放锁后,新的节点就会感知到,然后尝试重新获取锁 3、注册中心、配置信息管理 kafka、storm、dubbo选用zk做一些元数据、配置信息的管理 4、HA高可用 重要进程做主备两个机器,主机器挂了就原创 2022-01-26 17:00:13 · 2445 阅读 · 0 评论 -
面试题一 消息中间件及缓存
一、缓存+数据库不一致解决方案 初步方案:先删除缓存,再更新数据库。但这样在高并发下会有问题,比如线程A删除了缓存,正准备更新数据库,此时线程B需要查询数据,发现缓存里没有,就去数据库里查询并放入缓存。这样依旧会导致缓存与数据库不一致。 进阶方案:将请求放入队列中,串行执行。比如一个更新请求,一个查询请求,都进入了队列中。更新请求先删缓存,再更新数据库,查询请求查数据库,再更新缓存。这样就能做到缓存与数据库一致。但效率不高,所以为了提高效率,不能所有的查询请求都入队列。最好是如果有更新请求进来了,就入.原创 2021-02-21 14:52:57 · 924 阅读 · 0 评论