2019京东面经
2026/1/31大约 2 分钟
2019京东面经
一面:
1、zookeeper在项目中的使用及原理
2、SpringCloud的组件介绍
3、redis相关:
redis分布式锁的实现方式
redis为什么要使用setnx?set和setnx有什么区别?
setNx:系统在10:05 设置一个值,并给出5分钟的过期时间,系统刚刚set完之后redis集群崩溃,10:11分系统重启成功,那么redis中set的值是否还存在?
刚刚set完数据之后,能否被持久化到快照或者binlog中
假设redis被持久化,且系统重启事件超过了redis设置的过期时间,那么key是否会被清理?
4、zookeeper的实现方式
5、多线程的实现方式
1、继承thread类
2、实现runnable接口
3、实现callable接口
4、线程池可以进行创建,说明每个参数之间的逻辑关系6、服务器CPU数量及线程池数量的关系
7、mysql调优
1、性能监控
2、schema与数据类型优化
3、执行计划
4、通过索引进行优化
5、查询优化
6、分区表
7、服务器参数设置
8、mysql集群方式的优化
详细细节可以参考mysql调优的视频8、如何做一个秒杀系统?
9、对自己技术的认知程度
二面:
1、mysql是集群还是单节点?最大的表的数据量多大?
在公司的环境中,一般都是集群的环境,单表的最大规模是没有上限的,但是考虑到查询性能的优化,一般在几千万左右,超过之后会大程度的影响性能2、mysql主从同步机制的原理?主要有几种模式?
3、redis持久化的方式?在哪个版本允许分布式使用?
rdb
aof4、nginx的使用场景
请求转发
负载均衡
反向代理5、spark的应用场景
6、js闭包
闭包就是能够读取其他函数内部变量的函数7、离职原因