平安租赁

1、Redis 是一个高性能的key-value数据库。包括5中数据类型:string list hash set sorted set;主从模式:一个主服务器master,多个从服务器slave,主服务器负责写,并同步到从服务器上,从服务器负责系统获取数据的请求。string:set get list:lset lpop hash:hset hget set:set spop  zset:zadd zrange

2、IOC控制反转是通过反射机制实现的,在传统的对象创建中,通常调用者来创建被调用者的实例,而在spring中创建被调用者有spring容器来完成,然后注入调用者。接口注入、set注入、构造方法注入。降低了组件之间的耦合。例子:controller层 调用service层,service层调用dao层就是通过容器创建的。

AOP面向切面编程:简单地说,就是将那些与业务无关,却为业务模块所共同调用的 逻辑或责任封装起来,比如日志记录,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。登入登出、操作日志记录:定义一个切面 aspect 类,在构造方法上注入切点@pointAspect(),在方法上注入通知。自定义@document接口,打开注解、扫描所有文件。

3、权限控制:用户 模块(零售、信用卡微信、营销)角色 权限资源表 用户角色关系表 用户模块关系表 角色权限关系表 多对多的关系 去重

4、shiro原理相同。Apache Shiro是一个强大而灵活的java开源安全框架,它能够干净利落地处理身份认证,授权,企业会话管理和加密。Shiro的4大核心功能——身份验证,授权,会话管理和加密 MD5散列多次。过滤器 整合redis或者 memcache。

5、加密算法:Base64加密算法  SHA1加密算法 MD5加密算法

6、页面:

 7、客户服务通知平台:

批量消息解析发送 联机消息解析发送 零售短信通 对公金卫士 信用卡 短信上下行 etl跑批
信用卡短信计费:
信用卡逻辑:V+主机下发交易报文到信息交换中心-信息交换中心到BCMP-BCMP解析报文,根据报文判断交易类型 密码类 一般刷卡、预借现金、还款、分期、账户验证、预授权、预授权完成
判断是否签约短信签约表,签约发送短信、发送微信、官方APP、口袋、支付宝 UCP/口袋、pscp。
纯透传、半透传、模板号、手机号、付费部门、发送内容等字段。

8、内存加载:创建service接口,每五分钟调用一次。创建一个类 定义一个static 变量hashMap<String,HashMap>,查询要放入内存的数据,放入static变量。 

9、短信上下行:车险分期指令:MOS触发车险分期指令报文MQ到信息交换中心--信息交换中心转发的消息被BCMP接收,BCMP组装并发送指令短信给客户--客户回复指令到短信平台--BCMP通过EJB从短信平台获取数据,存放到上行表(cmp_pscp_up_sms)--BCMP把上行表中的指令通过信息交换中心转发到MOS系统--MOS接收并处理指令触发MQ经过信息交换中心发送到BCMP,BCMP发送短信到客户。

10、ESB接口开发:司法冻结邮件收发人维护查询接口 查询根据分行号查询被冻结收件人姓名及邮箱地址。根据分行号、分行名称、收件人姓名及邮件地址新增、删除被冻结用户。

11.、D+三类户 一类户 二类户 三类户 最多有五个  单日收付不能超过2000元、年收付不能超过5万 如果超过5万发送短信提醒 携带个人身份证到营业厅备注 否则冻结账户。联机根据客户号修改手机号,为了防止遗漏每天晚上批量在推送一次,存储过程:create or replace procedure procedureName() is 声明变量 begin mergin into 表  using() when not matched then  insert exceptin when others then rollback 插入日志 end;

 12、营销微信广告优化:业务场景:首先根据交易参数判断是否营销规则,符合发送营销微信广告,不符合发送默认的广告(一条)。

多条默认的广告,符合营销规则的正常发送营销微信广告,不符合的,前五条交易发送第一条默认广告,6-10发送第二条默认广告依次类推。根据客户号计数,判断取第几条默认广告。Math.random()

13、标签表 卡类型 商户类型 规则表 标签规则关系表 尾随内容表

cgmweb系统设计开发 营销后台管理系统
新增标签属于客户层,嵌套指标平台页面iframe,选择标签内容,性别、年龄、城市、婚姻、学历、额度、账龄,生成标签id,入库。下一步选择卡片层,普卡、金卡、白金卡、钻石卡、车主卡等,交易层,境内境外、线上线下、交易类型、交易金额,其它;优先级、推送渠道、微信短信、模板。

标签表(CGM_LABEL_INFO)
到数据库捞取所有标签,捞取条件上次捞取失败的和标签未过期时间段内的标签|上次捞取时间间隔一周
获取标签对应的客户号 HSET key field value 每次捞取一千条数据,循环存入redis。

14、cgmapp系统设计开发:黑白名单

客户做一笔消费交易,请求到达主机,主机生成交易报文到信息交换中心,信息交换中心转发到bcmp系统,bcmp系统(HttpClientTemplate)请求营销系统获取营销短信。
根据交易参数判断是否匹配到规则,匹配到多条规则按照优先级排序,循环遍历规则,根据标签规则关系表,找到对应的标签id,根据客户号,到redis缓存中查找该笔交易客户号是否对应标签id,如果对应关系表中找到对应的尾随内容表ID,,在根据尾随内容表ID到尾随内容表中查询尾随内容返回给bcmp。

 15、linux:

vi wq q! pwd mkdir touch rm -f rmdir -f kill -9 port find / -name file df -h
zip file1.zip file1 创建一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -zxvf archive.tar.gz 解压一个gzip格式的压缩包
cat -n /etc/profile 进行编号输出显示;
tail -f /var/log/syslog 显示文件 syslog 的后十行内容并在文件内容增加后,且自动显示新增的文件内容。
netstat -anp|grep weblogic

16、

1、当天签约信用卡短信收费协议的客户,当天从对应的账户、卡号中扣除费用每季度9元
2、每月初跑批更新(协议有效期即将到期 续订、流通账户)的客户。
BCMP-CORE查询协议表中需要扣费的客户,生成情况文件,上传FTP服务器---Haps系统从ftp服务器,获取文件解析,送主机扣款。

REST面向资源架构 RESTFUL架构:在REST中的一切都被认为是一种资源。每个资源由URI标识。使用统一的接口。处理资源使用POST,GET,PUT,DELETE操作类似创建,读取,更新和删除(CRUD)操作。无状态。每个请求是一个独立的请求。从客户端到服务器的每个请求都必须包含所有必要的信息,以便于理解。通信都是通过展现。例如XML,JSON
URI :Uniform Resource Identifier,统一资源标识符;
URL:Uniform Resource Locator,统一资源定位符;
URN:Uniform Resource Name,统一资源名称。
其中,URL,URN是URI 的子集。
http:
spring工作流程:
用户发起请求到前端控制器(DispatcherServlet),该控制器会过滤出哪些请求可以访问Servlet、哪些不能访问。就是url-pattern的作用,并且会加载springmvc.xml配置文件。
前端控制器会找到处理器映射器(HandlerMapping),通过HandlerMapping完成url到controller映射的组件,简单来说,就是将在springmvc.xml中配置的或者注解的url与对应的处理类找到并进行存储,用map<url,handler>这样的方式来存储。
HandlerMapping有了映射关系,并且找到url对应的处理器,HandlerMapping就会将其处理器(Handler)返回,在返回前,会加上很多拦截器。
DispatcherServlet拿到Handler后,找到HandlerAdapter(处理器适配器),通过它来访问处理器,并执行处理器。
执行处理器
处理器会返回一个ModelAndView对象给HandlerAdapter
通过HandlerAdapter将ModelAndView对象返回给前端控制器(DispatcherServlet)
前端控制器请求视图解析器(ViewResolver)去进行视图解析,根据逻辑视图名解析成真正的视图(jsp),其实就是将ModelAndView对象中存放视图的名称进行查找,找到对应的页面形成视图对象
返回视图对象到前端控制器。
视图渲染,就是将ModelAndView对象中的数据放到request域中,用来让页面加载数据的。
通过第8步,通过名称找到了对应的页面,通过第10步,request域中有了所需要的数据,那么就能够进行视图渲染了。最后将其返回即可。
struts:一个请求在Struts2框架中的处理大概分为以下几个步骤(可查看源码:https://github.com/apache/struts):
1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求
2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)
3 接着FilterDispatcher(现已过时)被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action
4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类
6 ActionProxy创建一个ActionInvocation的实例。
7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper

在上述过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的。
jsp:
framework:
velocity:
memecache:

JSP(Java Server Pages)是JavaWeb服务器端的动态资源,它与html页面的作用是相同的,显示数据和获取数据。
jsp: 作为请求发起页面,例如显示表单、超链接。
: 作为请求结束页面,例如显示数据。
Servlet:
作为请求中处理数据的环节。
jsp的组成
jsp = html + java脚本 + jsp标签(指令)
jsp中可直接使用的对象一共有9个,被称之为9大内置对象
3种java脚本:
<%…%>:写java代码片段,(类似方法)
<%=…%>:用于输出,用于输出一条表达式(或变量)的结果。
<%!…%>:声明,用来创建类的成员变量和成员方法(类似与类)
jsp注释:<%– … –%>
当服务器把jsp编译成java文件时已经忽略了注释部分!
Velocity是一个基于Java的模板引擎。它允许任何人使用简单而强大的模板语言来引用Java代码中定义的对象。
当Velocity用于Web开发时,Web设计人员可以与Java程序员并行工作,以根据模型 - 视图 - 控制器(MVC)模型开发Web站点,这意味着网页设计人员可以专注于创建一个看起来很好的站点,程序员可以专注于编写一流的代码。Velocity将Java代码与网页分开,使网站在其生命周期内更加可维护,并为Java Server Pages(JSP)或PHP提供了可行的替代方案。
Velocity的功能远远超出了网络的范围; 例如,它可以用于从模板生成SQL,PostScript和XML。它可以用作生成源代码和报告的独立实用程序,也可以用作其他系统的集成组件。例如,Velocity为各种Web框架提供模板服务,使他们能够根据真正的MVC模型,使视图引擎促进Web应用程序的开发。

Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议
TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。
HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。
一次HTTP操作称为一个事务,其工作过程可分为四步:
1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。
2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

RabbitMQ:安装部署简单,上手门槛低,功能丰富,符合AMQP标准;企业级消息队列,经过大量实践考验的高可靠;集群易扩展,可以轻松的增减集群节点;有强大的WEB管理页面。
大量成功的应用案例,例如阿里、网易等互联网巨头都有使用。
AMQP(Advanced Message Queuing Protocol,高级消息队列协议)开始开发。
1、MQ原型
Pub/Sub发布订阅(广播):使用topic作为通信载体 Publish/Subscribe(Pub/Sub)发布订阅
PTP点对点:使用queue作为通信载体
2、MQ组成
Broker:消息服务器,作为server提供消息核心服务
Producer:消息生产者,业务的发起方,负责生产消息传输给broker,
Consumer:消息消费者,业务的处理方,负责从broker获取消息并进行业务逻辑处理
Topic:主题,发布订阅模式下的消息统一汇集地,不同生产者向topic发送消息,由MQ服务器分发到不同的订阅 者,实现消息的广播
Queue:队列,PTP模式下,特定生产者向特定queue发送消息,消费者订阅特定的queue完成指定消息的接收
Message:消息体,根据不同通信协议定义的固定格式进行编码的数据包,来封装业务数据,实现消息的传输
解耦,在高并发场景中,往往同步处理容易导致阻塞,通过消息队列缓存消息,在某一时刻再去处理从而可以缓解系统压力。

原文地址:https://www.cnblogs.com/zszitman/p/9536811.html