飞书深诺
-
说一下你对SaaS项目的理解?数据隔离是怎么处理的?Answer: 我们采用的是SAAS服务多租户数据隔离架构中的1.3共享数据库,通过租户ID来隔离,成本最低,隔离级别最低。Q:有没有开发隔离的中间件,普通的商户和重要的商户之间有没有什么区别?
-
Mybatis有哪些重要的特性? #{} 和 ${} 的区别是什么?Answer by JavaGuide :
相关资料:Stackoverflow : When to use $ vs #?
我的扩展问题:那什么时候适用${}
呢?一些参考1,2:select * from #{tablename}
—> tablename传参为t_user —> 处理后变成select * from 't_user'
,就会报错了。order by 同理。(why?)所以,表名、order by的排序字段使用${}
。
一般${}用在我们能够确定值的地方,比如我们程序员自己赋值的地方。
而#{}一般用在用户输入值的地方!!
Q: 从数据库中取出数据后,Mybatis是怎样映射到Java的Bean对象的?JavaGuide: 通过 <resultMap>
标签,可获取列名与对象属性名的映射关系。MyBatis 通过反射创建对象,同时使⽤反射给对象的属性逐⼀赋值
- 使用es有哪些要注意的问题?Answer参考newBing: Elasticsearch的内存占用问题。因为Elasticsearch是基于Lucene的搜索引擎,Lucene的倒排索引是先在内存里生成,然后定期以段文件的形式刷到磁盘的。Q: 你们的数据是怎样落到es里面的? 相关知识:1.Canal 2.logstash-input-jdbc是Logstash提供的官方插件之一,该插件通过JDBC接口将任何数据库中的数据导入Logstash。Logstash是一款免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。
恒生
- kong网关用到哪些功能?路由是怎么配置的?有做过一些kong的插件吗?
- 系统接入了skywalking,可以在启动上做什么优化? 参考SkyWalking 性能优化 的答案:skywalking写入ES的操作是使用了ES的批量写入接口,我们要做的是调整相关参数尽量降低ES索引的写入频率(没有完全理解为什么要这样做)
- 有用过云原生的CICD工具吗?Answer by newBing: 目前有很多云原生的CICD工具,比如Jenkins、Argo CD、Tekton Pipelines、Spinnaker等等。这些工具都是基于Kubernetes打造的,具有高可用性、并发性能和扩容能力。面试官说他们用的Argo Workflow