当前位置: 首页 > news >正文

保定网站推广哪家好/优化大师人工服务电话

保定网站推广哪家好,优化大师人工服务电话,五台县建设局网站,做网店网站简历原文 抽查部分 项目描述 该项目旨在服务广州地区的快递物流,实现了下单、快递员取派件、订单转运单、线路规划、网点设置等功能。 责任描述 登录系统优化,双token三验证模式实现设置token状态、提高登录安全性的效果 模拟问答 1.能简单介绍一下…

简历原文

抽查部分

项目描述

  • 该项目旨在服务广州地区的快递物流,实现了下单、快递员取派件、订单转运单、线路规划、网点设置等功能。

责任描述

  • 登录系统优化,双token三验证模式实现设置token状态、提高登录安全性的效果

模拟问答

1.能简单介绍一下你这个的项目吗

模板一

好的。我这个项目叫“加驰物流”,服务了广州地区的快递物流。

这个项目分几个功能模块:前端由用户端、快递员端、司机端和后台管理系统四个不同部件组成。然后由统一网关拦截。后端由业务平台和第三方支撑平台组成,业务包括路线规划、运单任务管理和智能调度,以及其他的微服务比如快递员微服务、司机微服务等。这些都连接到了MySQL、MongoDB等组成的数据平台上。第三方支撑平台用到了公司自研的权限系统、地图服务,还使用到了阿里云、RabbitMQ、Seata、xxl-job任务调度等。

这个项目使用了以下技术栈:jdk1.8、MySQL8.0、Spring Boot2.6.6、Nacos1.4.2、SpringCloud Gateway3.1.1、Redis7.0.4、 MyBatis-Plus、knife4j、MongoDB、ElasticSearch、RabbitMQ、xxl-job、Jenkins、seata、Hutool

 项目的特色亮点在于,设计优化了物流信息模块,实现了数据精简、流量削峰、提高系统可用性。

在做出亮点的时候,碰到了很多难点,有以下4个:

1.数据量大的问题。我们用MongoDB的单条数据可以多字段存储,替换了MySQL,实现了数据精简;

2.高并发问题。我们用Caffeine和Redis做了多级缓存,解决了这个问题。

3.缓存击穿问题。我们引入了布隆过滤器来解决这个问题。

4.布隆过滤器准确性、效率问题。我们在过滤器内加适当的算法数量,解决了这个矛盾。

这个项目给我的收获就是,更深入的体会到了技术的实际能力。不同的数据库技术,能满足不同的需求,MySQL适合常规化数据存储,MongoDB适合一些特殊情景的使用;多级缓存对高并发问题的较成功的解决;缓存击穿情景下,布隆过滤器的选用与调试。这些实际的技术应用场景,说实话,让我着迷,也让我感觉有源源不断的改变世界的力量。

我可以说说项目难点业务的处理逻辑。物流信息模块中,首先是更新或添加运单详情的逻辑:根据运单id查询运单是否存在,若不存在则创建,若存在则追加。然后设置更新时间,加入MongoDB。

然后引入多级缓存是查询的逻辑,首先查询Caffeine里面有没有数据,如果没有则查询Redis,最后才查询数据库。更新数据,即创建或追加运单详情时,让所有一级缓存节点都订阅二级节点,及时更新。

最后为了解决缓存的三种问题作了如下操作:

解决缓存击穿,我们设置互斥锁;

解决缓存雪崩,我们设置随机过期时间、采用多级缓存、搭建高可用集群;

解决缓存穿透,我们采用布隆过滤器。

模板二

好的。我在项目中是后端开发,负责物流信息模块的性能优化。

这个物流信息模块是后端的业务,后端业务包括路线规划、智能调度、运单任务分配等模块,我负责的物流信息模块也是其中之一。

它要做的就是查询运单信息,然后在用户访问的时候交给前端显示快递到了哪里。

公共部分就是查询显示订单的模块。

我负责的就是修改MySQL存储方式为MongoDB方式,以及采用布隆过滤器解决缓存穿透的问题。

我的技术方案成功精简了数据,达到了流量削峰、提高系统可用性的效果。

好在后期没出什么bug。

(推荐使用模板二。)

2.能说一下你这个登录系统做了什么吗

可以。我登录用了微信登录,流程如下:

首先微信小程序发送登录请求,携带了appid、appsecret还有code,后端接收到后向微信接口传递这些参数进行校验,得到用户的信息openid等。然后若用户、用户手机号存在则直接根据这些信息生成token,不存在则查询到手机号、创建用户信息再生成token,最后返回给前端保存。之后前端就用token访问登录后能访问的资源。

在这个流程中,关于token可能存在两方面的问题:

其一是有效期的长短问题,有效期过短,登录频繁,不方便用户;有效期过长,被黑客截取后系统就不安全。

其二是一个token没办法手动让其失效,这样检测到异常状态后还是能使用,就不合理。

为了解决这两个问题,我们的方案是采用双token三验证的模式来替代单token模式。

双token,意思是设置一个长期token,例如一天的,和一个短期token,例如5分钟的。

面对第一个问题,如果5分钟后短token失效了,只要长token还在有效期,就可以拿长token去重新获取短token,就又可以保持登录状态了;

面对第二个问题,只要我们把长token设置成只能使用一次,例如存入Redis,检测到异常状态后,直接移除Redis中的token信息,这样就能达成设置状态的效果了。

相关文章:

面试打底稿⑤ 项目一的第一部分

简历原文 抽查部分 项目描述 该项目旨在服务广州地区的快递物流,实现了下单、快递员取派件、订单转运单、线路规划、网点设置等功能。 责任描述 登录系统优化,双token三验证模式实现设置token状态、提高登录安全性的效果 模拟问答 1.能简单介绍一下…...

PSINS工具箱学习(三)让AI解释PSINS中的各种卡尔曼滤波函数

原始 Markdown文档、Visio流程图、XMind思维导图见:https://github.com/LiZhengXiao99/Navigation-Learning PSINS 中的 Kalman 滤波代码都在百行以内,没调用什么函数,而且通用性很强,拿去让 AI 解释,效果挺好。 文章目…...

多边形碰撞检测算法

1、AABB碰撞检测算法 AABB碰撞检测指轴对齐碰撞箱(Axis-aligned Bounding Box),是分别从x轴向和y轴向进行碰撞检测的算法。即对于需要检测的物体A和物体B我们需要将其用A盒和B盒套起来,判断A盒和B盒在x轴向和y轴向是否发生碰撞,只有在x轴向和…...

【C/C++笔试练习】——printf在使用%的注意事项、for循环语句的三个条件、运算符优先级、删除公共字符

文章目录 C/C笔试练习1.%符号在printf用作格式说明符的注意事项(1)输出%5.3s(2)判断%中小数点含义 2.for循环语句的三个条件(3)判断循环次数(4)判断循环次数 3.运算符优先级&#xf…...

Linux部署elk日志监控系统

目录 一、简介 二、部署elasticsearch 2.1 安装jdk11(jdk版本>11) 2.2 下载安装包 2.3 授权elk用户 2.4 配置elasticsearch.yml 2.5 启动elasticsearch 三、部署logstash 3.1 启动测试 3.2 可能出现的报错 3.3 指定配置文件启动logstash 3.4 安装El…...

LINUX -SQL笔记(自学用)

1.安装 sudo apt-get install mysql-server sudo mysql -u root -p2.关系模型 在关系数据库中,一张表中的每一行数据被称为一条记录。一条记录就是由多个字段组成的。 每一条记录都包含若干定义好的字段。同一个表的所有记录都有相同的字段定义。 对于关系表&#…...

【Spark】win10配置IDEA、saprk、hadoop和scala

终于,要对并行计算下手了哈哈哈。 一直讲大数据大数据,我单次数据处理量大概在1t上下,是过亿级的轨迹数据。 用python调用multiprogress编写的代码,用多线程也要一个多月跑完。 我对这个效率不太满意,希望能快一点再快…...

MQTT 协议概要

01 MQTT协议 MQTT(消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的支持在各方之间异步通信的消息协议。MQTT在空间和时间上将消息发送者与接收者分离,因此可以在不可靠的网络环境中进行扩展。虽然叫做消息队列遥测传输,但它与消息…...

向量数据库X云计算驱动大模型落地电商行业,Zilliz联合AWS探索并贡献成熟解决方案

近日,由Zilliz 联合亚马逊云科技举办的【向量数据库 X 云计算 驱动大模型落地电商行业】活动在上海落幕,获得业内专业人士的广泛好评。 众所周知,大模型技术的发展正加速对千行万业的改革和重塑,向量数据库作为大模型的海量记忆体、云计算作为大模型的大算力平台,是大模型…...

【vue2】解决Vuex刷新页面数据丢失的问题

最近写vue2 项目需要用到vuex, 但遇到一个问题,存进store里的数据刷新就丢失了,于是乎百度解决。将自己的感受与解决方法记录下来。 数据丢失的原因 vuex存储的数据只是在页面中,相当于全局变量,页面刷新的时候vuex里的数据会重…...

小皮面板配置Xdebug,调试单个php文件

小皮面板配置Xdebug 首先下载phpstrom,和小皮面板 打开小皮面板,选中好要使用的php版本 然后点击【管理】> 【php扩展】> 【xdebug】 然后打开选中好版本的php位置 D:\Program_Files\phpstudy_pro\Extensions\php\php7.4.3nts打开php.ini文件…...

版本控制系统:Perforce Helix Core -2023

Perforce Helix Core是领先的版本控制系统,适用于需要加速大规模创新的团队。存储并跟踪您所有数字资产的更改,从源代码到二进制再到IP。连接您的团队,让他们更快地行动,更好地构建。 通过 Perforce 版本控制加速创新 Perforce H…...

回归预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据回归预测

回归预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据回归预测 目录 回归预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据回归预测效果一览基本介绍研究内容程序设计参考资料 效果一览 基本介绍 Matlab实现基于…...

Hive-命令行CDH访问开启kerberos的hive

1.通过hive用户访问 切换用户为hive [rootslave conf]# su - hive 上一次登录:五 4月 12 13:59:19 CST 2019pts/1 上 [hiveslave ~]$命令行直接输入hive就可以进入hive [hiveslave ~]$ hive log4j:WARN No such property [maxFileSize] in org.apache.log4j.Dail…...

手机能搜到某个wifi,电脑搜不到解决方法(也许有用)

方法一:更新驱动 下载驱动大师、驱动精灵等等驱动软件,更新网卡驱动 方法二 按 win 键,打开菜单 搜索 查看网络连接(win11版本是搜这个名字) 点击打开是这样式的 然后对 WLAN右击->属性->配置->高级 这…...

Java-day18(网络编程)

网络编程 1.概述 Java提供跨平台的网络类库,可以实现无痛的网络连接,程序员面对的是一个统一的网络编程环境 网络编程的目的:直接或间接地通过网络协议与其他计算机进行通信 网络编程的两个主要问题: 1.如何准确定位网络上一台…...

Java多线程编程-栅栏CyclicBarrier实例

前言 本文是基于《Java多线程编程实战指南-核心篇》第五章个人理解,源码是摘抄作者的源码,源码会加上自己的理解。读书笔记目前笔者正在更新如下, 《Java多线程编程实战指南-核心篇》,《How Tomcat Works》,再到《spr…...

【100天精通Python】Day67:Python可视化_Matplotlib 绘制动画,2D、3D 动画 示例+代码

1 绘制2D动画(animation) Matplotlib是一个Python绘图库,它提供了丰富的绘图功能,包括绘制动画。要绘制动画,Matplotlib提供了FuncAnimation类,允许您创建基于函数的动画。下面是一个详细的Matplotlib动画示…...

变量、常量以及与其他语言的差异 - Go语言从入门到实战

知识点 源码文件以_test结尾:xxx_test.go测试方法名以Test开头:func TestXXX(t *testing.T){…} 利用单元测试来写代码段,保存之后会自动运行程序返回结果,可以快速实践得到反馈。 编写测试程序 接下来练习一下,怎…...

Android 编译插桩操纵字节码

本文讲解如何编译插桩操纵字节码。 就使用 ASM 来实现简单的编译插桩效果,通过插桩实现在每一个 Activity 打开时输出相应的 log 日志。实现思路 过程主要包含两步: 1、遍历项目中所有的 .class 文件​ 如何找到项目中编译生成的所有 .class 文件&#…...

云原生的简单理解

一、何谓云原生? 一种构建和运行应用软件的方法 应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性分布式优势。 二、包括以下四个要素 采用容器化部署:实现云平…...

AVL Cruise 2020.1 安装教程

文章目录 安装包安装破解 安装包 链接:https://pan.baidu.com/s/1GxbeDj_SyvKFyPeTsstvTQ?pwd6666 提取码:6666 安装 安装文件: 双击setup.exe: 一直netx,中间要修改两次路径,第一次是安装位置&#xf…...

数组07-滑动窗口、HashMap

LeetCode——904. 水果成篮 你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类 。 你想要尽可能多地收集水果。然而,农场的主人设定了一些严格的规矩&#xff0c…...

【C++杂货店】类和对象(上)

【C杂货店】类和对象(上) 一、面向过程和面向对象初步认识二、类的引入三、类的定义四、类的访问限定符及封装4.1 访问限定符4.2 封装 五、类的作用域六、类的实例化七、类对象模型7.1 类对象的存储规则7.2 例题7.3结构体内存对齐规则 八、this指针8.2 t…...

K8S笔记

...

MySQL关于日期函数的使用-笔记

韩老师笔记 select current_time select CURRENT_DATE create table mes ( id int, content VARCHAR(255), send_time DATETIME ) select * from mes; insert into mes values(1,北京,CURRENT_DATE) insert into mes (id,send_time) values(2,CURRENT_TIME) insert into mes v…...

【postgresql 】 ERROR: “name“ is not supported as an alias

org.postgresql.util.PSQLException: ERROR: "name" is not supported as an alias 错误:不支持将“name”作为别名 SELECT real_name name FROM doc_user 加上 在关键词上加上 “” 示例: SELECT real_name "name" FROM do…...

都用HTTPS了,还能被查出浏览记录?

最近,群里一个刚入职的小伙因为用公司电脑访问奇怪的网站,被约谈了。他很困惑 —— 访问的都是HTTPS的网站,公司咋知道他访问了啥? 实际上,由于网络通信有很多层,即使加密通信,仍有很多途径暴露…...

vi配置文件.vimrc内容示例

1、.vimrc配置文件介绍 (1).vimrc是vi编辑器的配置文件,里面可以对vi编译器做个性化配置; (2).vimrc在用户目录下,每个用户有一个,类似于.bashrc文件,将下面的配置文件内…...

MacOS上的Pip和Python升级指南

在MacOS系统上,保持Pip和Python版本的最新状态对于顺利进行Python开发至关重要。通过升级Pip和Python,你可以享受到最新的功能、修复的bug以及提升的开发效率。本文将为你提供在MacOS上升级Pip和Python的详细指南,助你打造更强大的开发环境。…...