阿里云原厂 一面 58min 还有一个码面
- Spring cloud 具体有哪些东西,怎么通信的?NacosOpenfeign网关 spring cloud gateway限流降级分布式锁
- openfeign基于什么协议?怎么判断是TCP?url,肯定是http。
- 负载均衡怎么做的?
- 替换负载均衡器,怎么做?用自己定义的负载均衡,怎么做?
5. 调用远程服务的时候,怎么找到远程服务啊?网关根据url的正则表达式匹配寻找到服务,然后由nacos根据服务去找到url
6. 有没有了解过dubbo?dubbo是一个RPC框架,没有那么重,可以使用dubbo进行通信,注册中心是zookeeper。Spring Cloud 的功能很明显比 Dubbo 更加强大,涵盖面更广,是微服务的一站式解决方案,通信是openfeign,注册中心可以是nacos,
7. MQ解耦具体指什么呢?为什么使用MQ,使用http调用会有什么问题?
8.分布式锁用什么实现的?
- 如果不用redission,redis怎么实现的?setnx,hash的属性,(可重入实现)
- setnx可以设为先查,再set,吗?为什么?
- Xxl-job 是做什么的?
- 失败上链的补偿操作。
- 为什么不用spring的schedule?
- 分布式组件,可能存在多线程冲突问题。
- 分布式锁和xxl-job有配合吗?
- spring的schedule+分布式锁也可以解决,为什么不用?
- ws是哪一层协议,?应用层。
- 第三方登录,登录完成之后,下一次请求怎么知道原来这个用户在使用。token
- 有做跨站攻击的保护?
- XSS攻击就是 添加一些代码嵌入到页面中。用户访问的时候就会执行这个代码。解决1. 前端,可以将重要的cookie标记为httponly,这样cookie就不会被访问到了。2. 后端,可以对用户输入的数据做一个过滤,或者对输入进行一个转义,确认数据内容是否为只包含数字、字母和空格符
- CSRF攻击。攻击者获取到用户的cookie然后去访问正常的网站,比如说请求转账。解决;1. 验证http 的referer字段,该字段记录http请求的来源地址。2. 为每个表单添加令牌token并验证。
- SQL注入1. 对用户的输入做一个校验,使用正则表达式过滤传入的参数。2. 使用参数化语句,不要拼接sql3. 重要信息加密。
- minIO自己搭的吗?只是使用了?
- 数据中台有多少数据?一天有几万条数据。最终的数据会汇集到mysql数据吗?
- 是否支持批量?
- 单表的效率很低,同步数据要同步多久?
- 有自动映射吗?批量、自动化(同名映射,不同名自己去选)、(数据策略)定期、增量、
- 周期增量同步怎么做的?实现了scheduleconfigure接口。最大的ID。
- 怎么判断当前表是否有同步过?
- 对于一样的源表,是不能在这里出现多次的。如果说想要重新同步,就需要修改,具体是修改什么?
- 大数据的同步不止有数据,还有同步的过程,自定义函数、班栈。大数据相关的体系。
- docker的原理了解吗? 其他服务怎么去访问到docker里面的服务?端口映射怎么实现的?怎么映射过去,不同网络类型,有几种实现方式,网桥的实现方式。
- mysql数据库存了多少数据。每天几万条。
- 数据量很大,还要存储数据库表的信息,怎么考虑。怎么去做性能优化?
- 不停增长的数据量怎么控制?怎么优化?
- 优化可以做一个冷热数据分离。数据迁移到不同的库。
- 表和字段的信息呢?数据量?
- 数据字段的表怎么办?不停增加新的数据源。
- 怎么做索引?
- 经常where order group
- 字符串前缀索引
- 覆盖索引
- 联合索引。
- 如果有索引没有达到预期,怎么分析这个索引?
- Explain分析。
- 你能分析一下Explain里面的关键字段?
- 使用了索引一定会快吗?
- 执行计划可以再去理解一下,还有其他场景。命中索引不一定快,全索引扫描也不一定快。命中索引的级别,级别高才会快,还有额外的信息。下推,回表。
- map,hashmap hashtable concurrenthashmap的区别
- 字符串拼接,+ ,stringbuilder ,stringbuffer 有什么区别?
- 深拷贝和浅拷贝。A=list<Object>,B=A ,C=A的浅拷贝、D的深拷贝。B C D怎么变?B和C有什么区别?
- 如果说我要并发写mysql,怎么解决这个数据错乱问题?使用行锁,加锁。
- 反问