识季一面面经

文章讨论了在报表组件使用中遇到的问题,如BIRT引擎的文档不足和API难度,以及Quartz动态参数设计。提到开源报表引擎的选型考虑因素,包括帆软集成和BIRT、Quartz等的对比。技术中间件选型涉及业务场景、扩展性和功能适应性。文章还涉及数据流过程、报表维度设计、通用数据服务的API接口和自动化配置,以及缓存策略、SQL优化、索引使用、MySQL的B+树结构。此外,讨论了微服务架构、线程池的使用、分布式锁的实现方式,以及面对数据量激增时的应对策略。
摘要由CSDN通过智能技术生成

1、报表组件,有没有遇到困难,有什么问题是比较棘手的?
首先就是birt引擎,使用多个时候不顺利,文档不够,api使用困难,在线模板编辑功能在尝试这些api的功能;还有quartz动态参数设计时间的类规范;
2、开源的报表引擎,选型是谁定的,
选型的原因,帆软集成不友好,准备自己开发一套,birt能满足我们的功能,社区完整。quartz选型:xxl-job,elastic-job,power-job,选型的对比,quartz支持扩展。
3、技术中间件选型的方面,基于那些维度去考虑?
业务场景、扩展性(应该回答功能维度,是否符合,是否需要二次开发)
4、有没有什么功能,能详细聊一下?
数据流过程,三个菜单介绍功能,
5、报表类的工具里面,很多报表的维度有一部分是重叠或者不一样的,具体设计是怎么处理的,日报、月报周报,设计上是怎么实现的?内容的不同维度?
不同的报告有一些数据是比较相似的?
我们这变得用户自己写脚本在执行,我们负责动态设置时间
6、不管日周月,报告里面的数据模块是一样的,不过数据源选举的时间范围不一样
7、通用数据服务,数据服务的api接口?
介绍背景,encom项目,自动化配置,不同数据源不同团队维护,搭建通用页面的困难,定了一个规范给到下游,数据语义,
8、只定制了一个说明,还是提供一个统一的对外服务?
我们负责暴露
9、标准的api服务,鉴权怎么做?
基于kong搭建的api网关,我们会将我们的接口挂载,我们会做一些简单校验
10、通用数据服务上传的频率或者并发量是多少?
11、平时他们上传数据是怎样的
我们这边不存储数据,做一些归并过滤的操作
12、提供对外服务,有一个接口请求比较慢,怎么分析?
看日志,看是那个数据源调用怎么看,排除外部接口,查询内部
13、排除外部接口,可能是代码内部比较慢,有遇到那些场景?
复杂查询场景,是否可以使用缓存,redis
14、是吧查询结果集完整的缓存吗?
会做压缩
15、压缩之后,是一个多大的大小?
16、根据查询条件,把一个结果集,进行了压缩,另一个查询稍微改变,是否会生成新的结果集进行压缩
是的,
17、这种压缩完,缓存的命中率多少?
开始瞎扯
18、缓存的查询频率非常低,缓存价值何在
这个是一个监控的场景,不管是谁打开这个页面都是一样的数据,所以需要做缓存
19、数据缓存多久?
lion上配置,一个是更新时间,一个是失效时间,3分钟,5分钟
20、基于什么考量定义的这个时间
经验所得
21、怎么判断一个缓存有没有失效,redis
内存淘汰策略
22、redis原理有过了解吗?redis我们使用的单机还是集群?
直接调用他们的接口
23、redis的集群有哪几种
主从以及cluster
24、区别在哪?
哨兵机制,cluster没回答好(哈希槽,分区,主从)
25、sql优化,考虑怎么处理?
索引是否命中
26、怎么看有没有命中索引
explain方法
27、关注哪几项
28、发现查询字段没有索引,加了以后一定会生效吗?
回答一些索引失效的场景
29、abc加了三个字段,a=多少,b>,c=,是否会生效
最左匹配原则,会生效
30、联合索引,wher a=,b=,c=
优化器进行优化
31、mysql,假设用的innodb引擎,他这个主键索引的数据结构
B+树
32、和B树的区别,和二叉树的却别
33、zk在通用数据服务的用途
远端配置,作为配置中心
34、跨应用,是否是微服务架构
35、服务架构
36、每隔都是单体,之间都是通过http请求来调用
37、注册中心使用的是啥?服务与服务之间的调用,是怎样的过程?
sdk接口,元数据管理模块开发,数据源那边配置
38、能具体讲一下,服务A调用服务B的过程
39、服务之间的互调
40、没有注册中心是吧
41、有了解过,微服务,假设原本服务A的ip是123,然后换了服务器,ip变成了456,这时候怎么办?
会有一个代理
42、代理是什么?nginx,反向代理,
43、微服务的架构和单体架构的区别
43、服务之间通过http请求,hhtp请求,get与post的区别
post更安全,get会缓存在浏览器中;post与get的传参不同;post能支持更多的内容;post支持更多的传参类型;get一个tcp报文,post两个
44、在项目里有没有遇到多线程相关
45、线程池子的场景
46、线程池子,使用按个对象
47、ThreadPollExecutor,任务调度过程,线程内部怎么做的
48、线程磁是可以加速场景,但有么有其他场反而会降低速度
CPU密集型,并发
49、对业务其他的问题
50、多线程导致并发的例子,具体的
51、修改
52、解决方案
volatile+synchronized或者juc的包
53、这些都是关键字,服务有多个点,怎么做?
分布式锁
54、具体介绍一下分布式锁
数据库、redis、zookeeper
55、redis的setnx的场景有个问题?智能告诉我true or false,怎么避免+2的两个线程变成了+1;具体结合
56、数据库分布式锁,怎么实现的
优先队列锁,真实锁,by ou级别,超时机制
57、超时任务没执行完成,怎么办?
58、设置更长时间,还是超时?
59、场景:原本设计是按数据量10000进行的,但是忽然因为某一个业务激增,产生了100w条,就是一个业务的增长,该怎么办?
60、你做的这几个项目肚饿收获
61、假设现在又几千万,快上亿的表,像完整遍历一遍,该怎么实现?先写sql,只想遍历一遍?
读写分离?
62、水平分表的原则?用户表怎么份?优惠券表?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值