1.主要负责的模块,用什么技术实现的?
商品中心+运营中心模块(后面会涉及到分布式框架问题)
2.项目在拆分过程中有涉及到分布式事务没有?
MQ保证分布式事务一致性
3.项目中有用到消息队列吗,即MQ?哪些场景?具体怎么实现的?
4.做的电商秒杀,具体用MQ是怎么实现的?怎么处理大流量的访问?怎么削锋下单?
异步处理:下单后会异步发消息,给用户发送订单支付成功的短信以及返回优惠券(降低接口的响应时间)
业务解耦:下单成功后订单系统只需返回订单支付成功的结果,商品的库存更新可以交给库存系统来处理;
削锋:商品的数量为100件
第一步:判断商品的库存,实现redis存,key为商品的ID,如果为0直接返回;
第二步:校验活动是否开始;
第三步:校验商品信息是否存在;
第四步:校验用户是否登录;
第五步:获取商品的数量;
5.下单抢购量用户大怎么处理?
在用户请求过程中加锁,请求结束释放锁。用redis实现分布式锁机制
使用Redis实现分布式锁最简单的方案是在获取锁之前先查询一下以该锁为key对应的value存不存在,如果存在,则说明该锁被其他客户端获取了,否则的话就尝试获取锁,获取锁的方法很简单,只要以该锁为key,设置一个随机的值就行了。比如,我们有一批任务需要由多个分布式线程处理,每个任务都有一个taskId,为了保证每个任务只被执行一次,在工作线程执行任务之前,先获取该任务的锁,锁的key可以为taskId
6.同时有1W用户去参与秒杀,如何处理,不让服务器出现问题?
7.有看过哪个框架的源码?SpringBoot写过滤器和拦截器是怎么写的?
8.springBoot启动项目快是快在哪些方面?默认的日志框架?
默认日志框架Logback
9.springAOP的原理和在项目中的应用?
面向切面编程:底层用到的俩种原理:jdk动态代理、cjlib动态代理;之前提供一个借口需要implements来进行实现,而现在通过Proxy类的静态方法newProxyInstance()方法生成了一个对象,这个对象实现了cs数组中指定的接口,返回实现类
项目中应用:权限控制;Transactions事务等
10.接口的安全性怎么来做的?
用户请求登录页面的时候,服务器生成一个token保存在服务器session中和客户端cookie中,登录时客户端带上此token一起提交到服务器,验证此token是否有效,若有效即登录成功并更新此token,重新赋值到session和cookie中;
登录后的用户在每一次请求时都判断cookie中的token和session中的token是否一样,若一样即登录有效,并且要更新token,下次请求再进行判断,若不一样即登录无效。
即时前端做了参数限制后端也要进行参数限制
11.网站登录是有什么来控制的?
12.mysql索引实现原理?俩种索引的区别?索引为什么要用B+树?调优技巧体现在哪些方面?
13.建立索引的是什么类型的?
unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique
14.为什么每个表建立索引要控制建立的个数?
15.用solr实现怎么控制返回数据的权重(排名)?
16.dubbo或者springCloud有了解吗?
17.spring事务传播机制&隔离级别知道吗?
CSDN链接:https://blog.csdn.net/HUXU981598436/article/details/82702308
18.hashMap的底层结构(说的越多越好)?与hashTable的区别?
19.多线程了解多少?