记一次没有面试的面试

本文记录了一次特殊的面试经历,作者在没有面试的情况下,根据要求完成了一个前端项目的开发。项目涉及数据库设计,包括地区表、城市表等,以及Java部分的实体类生成、易错点和亮点,如Redis缓存、MongoDB存储、WebSocket双向连接等。尽管项目按时完成,但最终因超时未被安排面试。
摘要由CSDN通过智能技术生成

一 、背景

前几日投递简历,要按照要求才有面试机会,趁着不忙,也做了个简单demo
在这里插入图片描述

1.1 前端演示

jcode

二、项目要求

在这里插入图片描述

三、项目设计

3.1 数据库设计

3.1.1 需求分析

3.1.1.1 表格页面

3.1.1.2 详情页面

在这里插入图片描述

jcode

3.1.1.3 城市列表页面

在这里插入图片描述

3.1.1.4 分析

主要分析的难点是一个地区包含多个城市,而一个城市又包含多个地址

属于连续的两个一对多关系

根据以上关系,建立了两张表(理论上建立三张)

3.1.1.4.1 主表area地区表

存储了编号区域名称区域下城市的id创建时间

在这里插入图片描述

对应关系如下:

在这里插入图片描述

3.1.1.4.2 从表area_detail

存储了区域下的城市城市下的地址,这儿稍微偷了点懒,把城市下的地址按照数组的形式存入一列,少建立的一张表

请添加图片描述

3.1.1.4.3 城市表city

这个结构就很简单了,就不细说了

image.png

3.1.1.4 注意

连接两张表的是position_id,需要全局唯一,且在执行sql前就指定数值,

这里我使用了redis生成为唯一id:

一共64位(Long),

1位符号位,固然为0

31位存储时间戳,如果一天一个数值,理论上可以存储68年的数据

32位存储自增编号,一天最多可以生成2^32个编号

代码参考:https://juejin.cn/post/7241922694274433080

3.2 Java部分

3.2.1 实体类生成

实体类直接用MybatisPlusX自动生成就好了

其他类似的模板可以参考:https://juejin.cn/post/7248183510233989180

主要查询就两张表,比较简单,直接说易错点和难点了

3.2.2 项目易错点

主键无法自增

参考链接:https://juejin.cn/post/7255149657768280119

加载分页插件

参考链接:https://juejin.cn/post/7255216411566866487

修改redis序列化

参考链接:https://juejin.cn/post/7255968185681428517

LocalDataTime 在sql中不能和空比较

参考链接:https://juejin.cn/post/7255590272557629499

数据库编码错误

参考链接:https://juejin.cn/post/7255149657768083511

开启sql日志

参考链接:https://juejin.cn/post/7255146300038676537

前端接收excel

参考地址: https://juejin.cn/post/7256964915134185528

缓存方法失败

参考链接:https://juejin.cn/post/7255955134131470396

minio 端口用错

参考地址: https://juejin.cn/post/7257048132064247864

导入 websocket 后测试类失效

参考地址:https://juejin.cn/post

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值