数据部门捎带的面试笔记

最近感觉面试的机会少了,加上一家公司的面试:
1.简历问题,大概的职业经历
2.最近的项目,
设计的微服务的架构划分,模块:
流程,模块实现以及遇到的问题,你是如何解决的?

3.高可用是怎么做的?

4.源码分析这块是怎么做的?

5.openFeign 的源码实现逻辑

6.规范实现:
jsr 352批处理的实现

7.JVM调优的实现

8.新技术,学习的实现

9.数据库实践和岗位职业发展。

10.最后的总结:
微服务架构模式和重构之类的。

========》 以下为自己不会的地方:

1.常用的模型分类有两种:

时间模型

桶模型
令牌桶算法的原理是系统会以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶里获取一个令牌,当桶里没有令牌可取时,则拒绝服务。不过令牌桶还是允许一定程度的突发传输,这样解决了在实际上的互联网应用中,流量经常是突发性的问题。

漏桶算法思路很简单,如下图(图片来源网络),水(请求)先进入到漏桶里,漏桶以一定的速度出水,当水流入速度过大会直接溢出,可以看出漏桶算法能强行限制数据的传输速率。

简单的说: 调用方只能严格按照预定的间隔顺序进行消费调用。

Ref: https://en.wikipedia.org/wiki/Leaky_bucket

哨兵模式:
Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。
Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景, 例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。

Sentinel核心分成两个部分

核心库(java客户端):能够运行于所有 Java 运行时环境,同时对Dubbo /Spring Cloud 等框架也有较好的支持。

控制台(Dashboard):基于spring boot开发,打包以后直接运行

2.jsr 352 模型:
JSR-352是java批处理的新规范。受Spring Batch的深度影响,该规范提供了Spring Batch已经存在的相关功能。Spring Batch 3.0已实现该规范,支持遵循标准定义批处理任务了。使用JSR-352 的任务规范语言(JSL)配置一个批处理任务,代码如下:

Spring Batch Integration 曾经是 Spring Batch Admin 项目的子模块。Spring Batch的Spring Integration提供了更好整合能力的功能。这些特殊功能包括:

3.jvm stack/参数配置:
相同值的好处
面对上面的问题,为了避免在生产环境由于heap内存扩大或缩小导致应用停顿,降低延迟,同时避免每次垃圾回收完成后JVM重新分配内存。所以,-Xmx和-Xms一般都是设置相等的。

4.源码分析:
Spring Cloud OpenFeign 的核心工作原理经上文探究可以非常简单的总结为:

通过 @EnableFeignCleints 触发 Spring 应用程序对 classpath 中 @FeignClient 修饰类的扫描
解析到 @FeignClient 修饰类后, Feign 框架通过扩展 Spring Bean Deifinition 的注册逻辑, 最终注册一个 FeignClientFacotoryBean 进入 Spring 容器
Spring 容器在初始化其他用到 @FeignClient 接口的类时, 获得的是 FeignClientFacotryBean 产生的一个代理对象 Proxy.
基于 java 原生的动态代理机制, 针对 Proxy 的调用, 都会被统一转发给 Feign 框架所定义的一个 InvocationHandler , 由该 Handler 完成后续的 HTTP 转换, 发送, 接收, 翻译HTTP响应的工作。

5.微服务架构模式和设计模式的使用:
业务的代码重构的博弈吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执于代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值