
面试题
文章平均质量分 69
兮++
让每一行代码都有改变世界的力量
展开
-
分表分页 跨库分页
当业务数据达到一定量级(比如:mysql单表记录量>1千万)后,通常会考虑“分库分表”将数据分散到不同的库或表中,这样可以大大提高读/写性能。但是问题来了,对于 select * from table limit offset , pagesize 这种分页方式,原来一条语句就可以简单搞定的事情会变得很复杂,本文将与大家一起探讨分库分表后"分页"面临的新问题。一、分表对分页的影响比如有一张表,里面有8条记录(为简单起见,假设该表上只有1个自增ID),数学上可以抽象成1个(有序)数列(注:为方便讨论原创 2021-12-11 16:17:26 · 1228 阅读 · 0 评论 -
RBAC 模型是什么?
RBAC 模型是什么?美国国家标准与技术研究院(The National Institute of Standards and Technology)认为 RBAC 模型由 4 个基础模型组成:1. 基本模型 RBAC0(Core RBAC)2. 角色分层模型 RBAC1(Hierarchal RBAC)3. 角色限制模型 RBAC2(Constraint RBAC)4. 统一模型 RBAC3(Combines RBAC)RBAC 授权的过程可以抽象概括为:判断 Who 是否可以对 Wh原创 2021-07-14 19:12:25 · 2159 阅读 · 3 评论 -
ZooKeeper面试题
1. ZooKeeper 是什么?ZooKeeper 是一个开放源码的分布式协调服务,它是集群的管理者,监视着集 群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。分布式应用程序可以基于 Zookeeper 实现诸如数据发布 / 订阅、负载均衡、命 名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。Zookeeper 保证了如下分布式一致性特性:( 1 ) 顺序一致性( 2 ) 原子性( 3 ) 单原创 2021-07-13 15:30:37 · 283 阅读 · 4 评论 -
MyBatis面试题
1 、什么是 Mybatis ?(1) Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制sql 执行性能,灵活度高。(2) MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。(3) 通过 xml 文件或注解的原创 2021-07-13 14:55:32 · 129 阅读 · 3 评论 -
Redis面试题
1. 什么是 Redis?Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - - value 缓存产品有以下三个特点:(1) Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。(2) Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。(3) Redis 支持数据的备份,即 master-slave 模原创 2021-07-13 10:59:12 · 491 阅读 · 2 评论 -
Java并发编程面试题
1 、在 java 中守护线程和本地线程区别?java 中的线程分为两种:守护线程( Daemon )和用户线程( User )。 任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(boolon) ; true 则把该线程设置为守护线程,反之则为用户 线程。Thread.setDaemon() 必须在 Thread.start() 之前调用,否则运行时会抛 出异常。两者的区别:唯一的区别是判断虚拟机 (JVM) 何时离开, Daemon 是为其他线程提供服务,如果全部的原创 2021-07-13 14:22:50 · 455 阅读 · 3 评论