用友
目录
- 一面
- redis 常用数据结构
- zset 的底层实现,插入一个元素的时间复杂度是多少
- redis 如何保证高可用
- 什么是redis的哨兵模式
- 说说 redis 主备切换的过程
- 说说 聚簇索引、聚簇索引的区别
- 说说 innodb、myisam 的区别
- innodb 是如何支持的事务
- 为什么数据量大的时候会出现慢sql?
- 慢sql如何解决。
- 如何sql优化。
- 分库分表如何做的?
- 分库分表如何不同库表间数据不重复。
- cookie和session的区别
- 登陆是如何做的
- 如果禁用cookie,是如何保证登陆的
- token是如何传输的
- nginx为什么性能很高
- HTTPS 的过程
- lru缓存变形题。(带有过期时间的lru缓存)
- 数组中右边第一个比他大元素(时间复杂度O(N))
- 快速排序
- 二面
- 三面
一面
redis 常用数据结构
zset 的底层实现,插入一个元素的时间复杂度是多少
redis 如何保证高可用
什么是redis的哨兵模式
说说 redis 主备切换的过程
说说 聚簇索引、聚簇索引的区别
说说 innodb、myisam 的区别
innodb 是如何支持的事务
为什么数据量大的时候会出现慢sql?
慢sql如何解决。
如何sql优化。
分库分表如何做的?
分库分表如何不同库表间数据不重复。
cookie和session的区别
cookie 是 http协议的一部分,保存响应头 set-cookie 发送过来的内容,主要有 domain、httpOnly、sameSite 几个重要的属性。
session 是服务器端保存验证状态的一种方式,可以通过 cookie 实现,比如保留一个 SESSIONID 的字段
登陆是如何做的
如果禁用cookie,是如何保证登陆的
token是如何传输的
http 请求头 bear token
nginx为什么性能很高
HTTPS 的过程
lru缓存变形题。(带有过期时间的lru缓存)
数组中右边第一个比他大元素(时间复杂度O(N))
快速排序
二面
数据库索引原理
HASH、Btree
T(a,b,c,d) index(a,c,d) , x = a and x = d / x = c and x = a / x = c and x = d
左匹配原则
事务的特性
ACID,分别使用 undo log、MVCC、redo log 实现
Java 泛型原理
类加载机制
加载、校验、准备、初始化
为什么要引入双亲委派机制
微信抢红包架构设计
栈的所有可能弹出序列
三数之和,如果是四数之和如何做
三面
分库分表怎么做无损扩容
redis4.0 有什么新特性?
redis 过期时间
redis lru策略
Innodb 针对磁盘IO 做了什么优化
- change buffer