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

news2024/11/26 21:35:11

简历原文

抽查部分

  • 完成路线规划模块选择路线功能,用neo4j这种存储图关系的非关系数据库,实现最短线路规划、最低成本线路规划
  • 设计优化物流信息模块,合理选择数据库、缓存技术,实现数据精简、流量削峰、提高系统可 用性

模拟问答

1.Neo4j是什么,你能讲一下你作的路线规划模块吗

Neo4j是一个非关系型数据库,用来存储图类型的数据。

我做的路线规划模块,首先需要写好和Neo4j数据库的查询层,功能包括新增路线、查询机构等等,和MyBatis的类似。命名规范上,一般命名为XXRepositoryImpl。

然后我们用MongoDB存储地图上营业范围的信息,具体就是存储营业范围的边缘点的坐标。功能包括修改范围等。

2.你说你物流信息模块优化了,你说一下你是怎么优化的,怎么用到缓存技术的

好的。我做的物流信息模块,具体实现了用户查看物流进度的需求。用户查看的物流进度,是一条条追加的,从广州到长沙,首先从揽收的营业点开始,到区分拣中心,再到广州转运中心,再到长沙转运中心、岳麓区分拣中心、具体的营业点,首先显示“快递已揽收”,然后显示“快递已到广州某区分拣中心”...总而言之,一个用户的一件快递,也就是一条订单,可能会有多条运单数据。第一个优化的地方就在这里。试想一下,如果我们使用MySQL存储用户查看的信息,势必会产生多条数据。而使用MongoDB,可以在一条数据中添加多个字段,这样用一条数据就能存下一个订单的信息。

而第二个优化的情景则是解决缓存雪崩的问题。缓存雪崩是指短时间乃至同时有很多Redis的key失效,这时候的访问可能就会给数据库带来很大压力乃至让数据库崩溃。应对这种情况,我们设置了随机过期时间,然后进行了服务降级,也就是对非核心数据的访问暂缓,返回指定的信息。

还有一种情况是Redis宕机,这时候我们用到了Caffeine和Redis做了多级缓存。

第三个优化的地方,我们面对了可能存在的缓存穿透问题。一个数据如果在多级缓存和数据库中都没有,那么每次访问都会访问到数据库,过多这样的访问可能会造成服务器崩溃,这就是缓存穿透问题。为了解决这个问题,我们使用了布隆过滤器。布隆过滤器用一些算法比如哈希算法将被过滤的数据映射到一个很长的位图上,将原本的0置为1。下次访问数据时,我们首先将查询的数据投入布隆过滤器,如果过滤结果为0则表示不存在,就直接返回。

第四个优化的地方在于,布隆过滤器过滤结果为1,也不一定保证就存在数据,因为有可能两个不同的数据哈希值一样。这时候我们可以增加算法,但计算时也需要耗时,增加过多也会让效率很低。所以应该适当添加算法数量,不用过少,也不能过多。

第四,我们优化了缓存击穿问题。高并发场景下指定的key失效,就会造成缓存击穿问题。我们用加锁的方式来处理这个情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1056221.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023(2024届)计算机保研经验分享,圆梦山东大学

前言: Hello大家好,我是Dream,好久不见啦!在这不见的半年多时间里我一直在全身心的投入保研之中,在写下这份面经时,真的是感慨颇多,思绪万千。站在这个时间点上,回首过去的几个月&am…

汽车电子——产品标准规范汇总和梳理(控制器)

文章目录 前言 一、电机控制 二、转向控制 三、制动控制 四、电池管理系统 五、充电系统 六、车身系统 七、通讯系统 总结 前言 见《汽车电子——产品标准规范汇总和梳理》 一、电机控制 《GB/T 18488.1-201X 电动汽车用电机及其控制器 第1部分:技术条件…

数字IC前端学习笔记:数字乘法器的优化设计(阵列乘法器)

相关阅读 数字IC前端https://blog.csdn.net/weixin_45791458/category_12173698.html?spm1001.2014.3001.5482 数字信号处理作为微处理器的核心部件,是决定着总体处理器性能的因素之一,而数字乘法器是最常见的一种数字信号处理电路。通常情况下&#…

AMBA总线APB、AHB、AXI(详细)总结附实例便于快速掌握

目录 一、简介二、具体内容2.1 APB2.2 AHB2.3 AXI 三、总线对比3.1 总体对比3.2 部分功能差异 四、其他相关链接1、PCI总线及发展历程总结2、SPI协议详细总结附实例图文讲解通信过程3、I2C总线内容总结分享 一、简介 本文主要介绍APB、AHB和AXI总线的相关内容,同时…

初级篇—第一章初识数据库

文章目录 为什么要使用数据库数据库与数据库管理系统数据库的相关概念数据库与数据库管理系统的关系 常用的数据库为什么如此多的厂商要选用MySQL?MySQL的目录 RDBMS 与 非RDBMS关系型数据库(RDBMS)非关系型数据库(非RDBMS) 关系型数据库设计规则表、记录、字段表的…

力扣:117. 填充每个节点的下一个右侧节点指针 II(Python3)

题目: 给定一个二叉树: struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL 。 初始状态下,所…

Springboot+vue的在线试题题库管理系统(有报告),Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的在线试题题库管理系统(有报告),Javaee项目,springboot vue前后端分离项目。 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的在线试题题库管理系统,采用M&…

代码随想录算法训练营第五十二天 | 300. 最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

1. 最长递增子序列 300. 最长递增子序列 - 力扣(LeetCode) dp[i] 取决于 i 之前所有的dp class Solution {public int lengthOfLIS(int[] nums) {// dp[i] 第 0 - i 位的递增子序列长度int length nums.length;int[] dp new int[length];Arrays.fil…

基于 jasypt 实现spring boot 配置文件脱敏

前言 在项目构建过程中,保护敏感信息的安全性至关重要,为了提高系统的安全性能,我们采用了Jasypt来对配置文件中的敏感信息进行加密处理,以确保系统的机密信息不被轻易泄露。 步骤 添加Maven依赖 首先,我们需要添加…

秋招校招,什么是群面?

时间已经来到十月份,我们也迎来了秋季招聘的高峰期。一般来说,企业为了提高面试的速度,一般都会让我们进行群面。可是,很多人不懂得“群面”的意思,由此导致自己在面试环节丢分。今天,就跟着小编一起来了解…

Maven下载源码出现:Cannot download sources Sources not found for org.springframwork...

Maven下载源码出现:Cannot download sources Sources not found for org.springframwork… 最近重装了IDEA再次查看源码时发现总是报错,网上找了很多,发现解决方法都是在项目终端执行如下命令: mvn dependency:resolve -Dclassi…

【面试经典150 | 矩阵】矩阵置零

文章目录 写在前面Tag题目来源题目解读解题思路方法一: O ( m n ) O(mn) O(mn) 空间复杂度方法二: O ( m n ) O(mn) O(mn) 空间复杂度方法三:仅使用2个额外变量的常量空间复杂度 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算…

网络工程师对口的岗位是什么

大家好,我是网络工程师成长日记实验室的郑老师,您现在正在查看的是网络工程师成长日记专栏,记录网络工程师日常生活的点点滴滴 网络工程师可以从事哪些职位呢?其实网络工程师最对应的最对口的这个岗位就是高级网络工程师、系统集成…

Centos一键安装、切换各版本JDK

查看服务中的安装的jdk rpm -qa | grep java获取jdk各版本信息 yum -y list java*查看指定版本 yum -y list java*|grep 1.8安装jdk yum install java-11-openjdk当服务器中有多个版本jdk,切换指定jdk版本 alternatives --config java按照提示输入编号即可切换&…

古诗词学习鉴赏APP设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

【Java基础】抽象类和接口的使用

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【JavaSE_primary】 本专栏旨在分享学习JavaSE的一点学习心得,欢迎大家在评论区讨论💌 目录 一、抽象类抽象类概念…

头条号热点采集工具-头条号热文采集软件

有一种魔法,能让信息传遍大地,让新闻在互联网上迅速传播,引发关注和讨论,那就是头条热点。无论你是一名自媒体创作者,还是一个信息追踪者,头条热点都是你不能忽视的宝贵资源。然而,如何获取这些…

Linux关于gittee的远端仓库的连接和git三板斧

目录 1.网页操作 2.Linux操作 查看Linux系统中是否安装git指令 安装git指令 链接远端仓库 设置 .gitignore文件 3.git三板斧 1.网页操作 首先我们要在gittee建立一个仓库 这是我自己的勾选方案,大家可以参考一下。 这个方案勾选最下面的三个选项才有&#x…

博物馆门票预约APP的设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

【Unity3D日常开发】Unity3D的Resources不同目录的加载分析

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 xdm,国庆节快乐呀,无聊学习一会&#x…