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