Java开发面经验,从各个环节进行了详细介绍,这次面试中规中矩没有冷僻为难人的问题,你会发现进阿里并不难
**自我介绍:**哪个学校(本、硕),哪个专业,名字,技术栈(java+redis+mysql+nginx,方便面试官深挖的,会就此深入问基础问题,例如zookeeper等中间件,样式不求多,但说出的要不怕深入问)
一面师兄基础加项目面:
Redis是单线程的,为什么会这么快
答:1、纯内存操作。
2、单线程操作,避免频繁的上下文切换。
3、采用了非阻塞I/O多路复用机制。
4、使用hash结构、压缩表、跳表。跳表的好处?使用有序数据结构加快读取速度。
redis单线程,如何处理并发请求?
答:单线程多进程集群方案,主从读写分离。非阻塞IO 内部实现采用epoll。
Redis持久化有几种方式?
答:RDB和AOF。RDB指定时间间隔内将内存中的数据集快照写入磁盘,整个Redis数据库只包含一个文件,方便进行备份。AOF以日志的形式记录服务器所处理的每一个写、删除操作,支持每秒同步、每修改同步,每秒同步效率较高。
Redis的命令用考虑并发吗?
不需要。
为什么?
Redis所有单个命令都是原子性的。
为什么具有原子性?