zoukankan      html  css  js  c++  java
  • 面试-核心篇

    数据存储

    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)

  • 相关阅读:
    命令拷屏之网络工具
    PHP 设计模式 笔记与总结(1)命名空间 与 类的自动载入
    Java实现 计蒜客 1251 仙岛求药
    Java实现 计蒜客 1251 仙岛求药
    Java实现 计蒜客 1251 仙岛求药
    Java实现 蓝桥杯 算法训练 字符串合并
    Java实现 蓝桥杯 算法训练 字符串合并
    Java实现 蓝桥杯 算法训练 字符串合并
    Java实现 LeetCode 143 重排链表
    Java实现 LeetCode 143 重排链表
  • 原文地址:https://www.cnblogs.com/vindia/p/9070133.html
Copyright © 2011-2022 走看看