1.企业面试流程分享
从投递简历到最终入职,面试整个流程一般有以下几个步骤:
2.拼多多面试流程分享
1.拼多多分买家、卖家端,假设每天新增订单上百万,如何存储买家卖家的订单?
拼多多面试真题:问题分析
随着应用流量的增加,数据存储基本达到数据库的瓶颈,此时需要将数据分散存储,而分库分表是其中的解决方案之一。
拼多多面试真题:水平拆分
把同一个表的数据按一定规则拆到不同数据库表,表结构均一致,仅数据存在差异
单库水平分表:按一定则拆分到同一个库不同表中,但不能解决写压力
多库水平分表:按一定规则拆分到不同库不同表中,常用此跨库跨表方案
水平拆分总结
适用场景
单表需记录百万/千万级别数据
优点
业务改造小
根本解决数据存储问题,提升系统稳定性和负载能力
缺点
需解决全局唯一ID问题
跨表查询性能差,必须接口聚合,提升开发复杂度
思考:水平拆分可以按时间段存储吗?(类似一天一个表)
答:不可以,单位时间范围内存储数据大小不固定,导致数据分散不均匀,影响整体性能
拼多多面试真题:垂直拆分

思考:垂直拆分适用于什么应用场景
答:大型分布式系统,需要做读写分离的业务场景
拼多多面试真题:分库分表方案对比
拼多多面试真题:方案落地
ShardingSphere(前身ShardingJDBC):官网地址
重写jdbc原生的方法,实现数据库分片形式
Mycat:官网地址
基于Proxy复写了MySQL协议,将MyCatServer伪装成MySQL数据库
黑马程序员视频:【深入Sharding-JDBC分库分表从入门到精通分库分表】