• 面试-核心篇


    数据存储

    2、说说反模式设计:反范式,表数据冗余

    3、说说分库与分表设计:用户中心,用户id维度分库分表,通过mod用户id或者hash等方式来实现数据路由

    4、分库与分表带来的分布式困境与应对之策:分布式事务,采用分布式事务系统|表关联查询,拆分跨表查询脚本|..

    5、说说 SQL 优化之道:explain,索引,冗余

    6、MySQL 遇到的死锁问题

    7、存储引擎的 InnoDB 与 MyISAM:InnoDB支持事务--MyISAM不支持,InnoDB支持行级锁,表锁--MyISAM只支持表锁

    8、数据库索引的原理:B+树

    9、为什么要用 B-tree

    10、聚集索引与非聚集索引的区别:聚集索引的数据记录物理顺序一致,非聚集索引B+树

    11、limit 20000 加载很慢怎么解决:排序+ID限制范围

    12、选择合适的分布式主键方案:db的,sequnce(tair),uuid。。。

    13、选择合适的数据存储方案:

    14、ObjectId 规则:

    15、聊聊 MongoDB 使用场景

    16、倒排索引:搜索的反向索引

    17、聊聊 ElasticSearch 使用场景

    缓存使用
    1、Redis 有哪些类型:set,zset,list,string,hash

    2、Redis 内部结构:

    3、聊聊 Redis 使用场景:高性能,缓存

    4、Redis 持久化机制:aof(增量)/rdb(全量)

    5、Redis 如何实现持久化:aof阻塞落盘/rdb进程异步落盘

    6、Redis 集群方案与实现:客户端分片(jedis)/基于代理的分片(codis)/路由查询(redis-cluster)

    7、Redis 为什么是单线程的:缓存主要耗费的是IO,不是CPU,所以单线程已经满足要求

    8、缓存奔溃

    9、缓存降级

    10、使用缓存的合理性问题

    消息队列
    1、消息队列的使用场景:异步化(注册发邮件),削峰()

    2、消息的重发补偿解决思路:重试+幂等性

    3、消息的幂等性解决思路:id记录表

    4、消息的堆积解决思路:定位堆积的原因

    5、自己如何实现消息队列:

    6、如何保证消息的有序性:在选择broker的时候采用mod业务id的方式,让同一个业务id数据路由到同一个broker(rocketmq)

  • 相关阅读:
    创建错误日志到文件 kiddy
    简单js时钟 kiddy
    Jquery表单验证
    js 地址栏操作
    $().each和$.each的区别
    Ajax与JSON的一些总结
    分页存储过程
    CKeditor 配置使用
    ISAPI_rewrite中文手册
    js向上无缝滚动,网站公告效果
  • 原文地址:https://www.cnblogs.com/vindia/p/9070133.html
Copyright © 2020-2023  润新知