一面:
-
Zookeeper在项目中的使用及原理;
-
Springcloud的一些组件介绍;
-
分布式锁:
Redis实现方式:
redis:为什么使用setnx,或者说set 和setNx有什么区别;
setNx:系统在10:05 设置一个值,并给出5分钟的过期时间,系统刚刚set完之后redis集群崩溃,10:11分系统重启成功,那么redis中set的值是否还存在?
考察点:
1、redis 的持久化:刚set完是否能够被持久化到快照或者binlog日志中;
2、假设redis被持久化,且系统重启时间超过了redis设置的过期时间,那么key是否会被清理;
zookeeper实现方式: -
多线程的创建方式:
1、继承thread类;
2、实现runnable接口;
3、实现callable接口;
4、线程池方式进行创建及每个参数之间的逻辑关系; -
服务器CPU数量及线程池数量的关系;
1、服务器cpu数量(n);
2、是IO密集型(2n个线程)应用还是计算密集型(n+1个线程)应用; -
Mysql的sql优化
优化方向:
1、 Mysql使用过程中走索引的语句:
2、 索引的优化:
3、 亿级的数据必须使用like进行查询,如何优化? -
如何做一个秒杀系统;
1、MQ做限流:保证只有1000个人可以访问系统;
2、使用redis做缓存;
3、redis往mysql中进行持久化 -
自己认为自己的技术怎么样?
二面:
- Mysql是集群还是单节点;最大的表中数据量大约是多少?3000w-4000w;
- Mysql主从配置是DBA去做还是自己去做?mysql主从同步的机制的原理?mysql主从复制主要有几种模式?
- Redis持久化方式:rdb、aof;redis中哪个版本开始可以对分布式使用;
- Nginx的使用场景;
1、请求转发;
2、负载均衡; - Spark主要用来做什么的?
- 前端了解么:JavaScript有没有闭包的概念?