知识点分布计算:
1.进制转换
10进制,8进制,16进制,20进制
2.源码反码补码
3.余三码
4.公式运用转换
化简,卡诺图,公式
数字逻辑
两个简答,三个计算二进制转8 10 16饭吗不拿 雨伞吗
化简
函数化简,标准语或表达式
卡诺图化简
组合逻辑电路分析
函数逻辑表达,nc图,功能
隐含表
状态化简
时序逻辑电路,什么型的
死胎针指标
状态相应队列
简答题与非门/或非门型R-S触发器差异
同步与异步时序电路对比
组合与时序逻辑区别
逻辑函数三种描述方式(真值表、代数表达式、卡诺图)
卡诺图化简步骤与规则
1.根据所采用的半导体器件不同,集成电路可分为哪两大类?各自的主要优缺点是什么。根据所采用的半导体器件不同,集成电路可分为两大类:一类是采用双极型半导体器件作为元件的双极型集成电路;双极型集成电路的主要特点是速度快、负载能力强,但功耗较大,集成度较低;
另一类是采用金属-氧化物-半导体场效应管作为元件的单极型集成电路,又称MOS集成电路。MOS集成电路的特点是结构简单、制造方便、集成度高、功耗低,但速度较慢。
2.简述晶体二极管的静态特性1.正向特性 :
正向电压 UF ≤ ...
6.11模拟面试1.什么是 Java 的面向对象编程?它的核心特性有哪些?面向对象编程是OOP是说就是用“对象”来组织代码,java就是一门面向对象编程的语言。
java的面向对象的三大特征是封装继承多态
封装:反射,修饰符
继承:构造方法调用,final
多态:方法重载,方法重写
抽象:抽象和接口
静态:
2.说说 Java 中 ArrayList 和 LinkedList 的区别,以及各自的适用场景底层:
遍历和插入:
arrayList扩容:1.5,数组的复制
内存占比:
使用场景:
线程安全:
3.HashMap 的底层原理特点:
底层实现,1.7/1.7之后,头插和尾插
put过程
转换红黑树/扩容:当链表长度≥8 且数组容量≥64 时转红黑树 为什么用红黑树
线程安全:
concurrenthashmap,底层,put过程
4.Spring 框架中,Bean 的作用域有哪些?请分别说明它们的生命周期和应用场景5 大标准作用域:
Singleton:全局唯一实例,Spring 容器加载时创建,适用于无状态服务;
Prototype:每次获取新实例,适用于有状态对象(如 DA ...
业务serviceShopServiceImpl:
使用redis设置和查询店铺的状态。redistemplate.opsforvalue.set/get(key)
AddressBookServiceImpl:
新增地址,实体类设置字段的值,然后调用mapper的insert方法。
修改地址,调用updata调用主键去更新方法更新
设置默认地址,设置默认地址,然后获取当前用户的id,然后在sql中set用于默认地址,where userid。然后更新默认字段 return
使用LambdaUpdateWrapper去写一个查询条件
1234567891011Long userId = BaseContext.getCurrentId();// 1. 将该用户的所有地址设为非默认LambdaUpdateWrapper<AddressBook> wrapper = new LambdaUpdateWrapper<>();wrapper.eq(AddressBook::getUserId, userId).set(AddressBook::getIsDefault, ...
基础语法回顾1.SQL110 插入记录(一)牛客后台会记录每个用户的试卷作答记录到exam_record表,现在有两个用户的作答记录详情如下:
用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分;
用户1002在2021年9月4日上午7点1分2秒开始作答试卷9002,并在10分钟后退出了平台。
试卷作答记录表exam_record中,表已建好,其结构如下,请用一条语句将这两条记录插入表中。
Filed
Type
Null
Key
Extra
Default
Comment
id
int(11)
NO
PRI
auto_increment
(NULL)
自增ID
uid
int(11)
NO
(NULL)
用户ID
exam_id
int(11)
NO
(NULL)
试卷ID
start_time
datetime
NO
(NULL)
开始时间
submit_time
datetime
YES
(NULL)
提交时间
score
tinyint(4)
YES
(NULL)
...
基础知识关系代数关系代数就是:一种抽象的查询语言用对关系的运算来表达查询
关系看上去像一张二维表,每个表由行和列组成
行代表一个元组,即数据记录。列代表属性,即字段
关系的域为一组原子值(不可再分割的值)
关系中的元组必须各不相同(元组的唯一性)
符号表示元组 t 与 t[Ai] :
t 就是一行数据,t[Ai] 就是这一行中某一列的值。
假设表 R 结构是:
学号
姓名
年龄
101
张三
20
这一行是一个元组 t。
t[学号] = 101,t[姓名] = 张三,t[年龄] = 20
属性组 A、t[A]、Ā :
表 R:
学号
姓名
年龄
班级
101
张三
20
A1
如果我们说 A = {学号, 姓名},那:
t[A] = (101, 张三)
Ā = {年龄, 班级}
元组连接 tr ⨝ ts :
表 R(学生):
学号
姓名
101
张三
表 S(成绩):
课程
成绩
数学
95
将 tr ∈ R 和 ts ∈ S 连接(拼接)起来:
→ 结果元组为:
学 ...
网络模型1.网络OSI模型和TCP/IP模型分别介绍一下
OSI七层模型
为了使得多种设备能通过网络相互通信,和为了解决各种不同设备在网络互联中的兼容性问题,国际标准化组织制定了开放式系统互联通信参考模型(Open System Interconnection Reference Model),也就是 OSI 网络模型,该模型主要有 7 层,分别是应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层。
每一层负责的职能都不同,如下:
应用层,负责给应用程序提供统一的接口;
表示层,负责把数据转换成兼容另一个系统能识别的格式;
会话层,负责建立、管理和终止表示层实体之间的通信会话;
传输层,负责端到端的数据传输;
网络层,负责数据的路由、转发、分片;
数据链路层,负责数据的封帧和差错检测,以及 MAC 寻址;
物理层,负责在物理网络中传输数据帧;
由于 OSI 模型实在太复杂,提出的也只是概念理论上的分层,并没有提供具体的实现方案。
事实上,我们比较常见,也比较实用的是四层模型,即 TCP/IP 网络模型,Linux 系统正是按照这套网络模型来实现网络协议栈的。
TCP ...
基础Git 是一个分布式版本控制系统,用于跟踪和管理代码的变化,广泛应用于软件开发中。一般用于多人开发,或者是版本管理的
组成部分:
工作区(Working Directory):你本地修改代码的目录。
暂存区(Staging Area/Index):用于暂存准备提交的更改。
本地仓库(Local Repository):存储提交的代码版本。
远程仓库(Remote Repository):托管在远程服务器(如 GitHub、GitLab)的代码仓库。
流程:修改代码 → 暂存更改(git add) → 提交到本地仓库(git commit) → 推送到远程仓库(git push)。
从远程仓库拉取更新(git pull)或克隆仓库(git clone)。
命令git init 初始化仓库,建立一个.git文件夹
git clone ssh/http克隆仓库
git status 查看工作区的状态
git add 添加文件。git add .添加所有
git commit -m “”提交
git log 查看提交历史
git log —oneline # 简洁显示
git log —g ...
面试一轮3.无重复字符的最长子串滑动窗口
给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。
1234567891011121314class Solution3AAA{ public int lengthOfLongestSubstring(String s){ Map<Character,Integer> cnt = new HashMap<>(); int left = -1,res = 0,n = s.length(); for (int right = 0;right<n;right++){ if (cnt.containsKey(s.charAt(right))){ left = Math.max(left,cnt.get(s.charAt(right))); } cnt.put(s.charAt(right),right); ...
Controller1.写一个简单的登录接口的Controller,包含用户ID和密码字段。123456789101112131415161718192021222324252627282930@RestController@RequestMapping("/api/auth")public class AuthController { @Autowired private UserService userService; @PostMapping("/login") public ResponseEntity<?> login(@RequestBody LoginRequest request) { User user = userService.findByUserId(request.getUserId()); if (user == null) { return ResponseEntity.status(HttpStatu ...
java
未读爬楼梯70. 爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
按着数学来看的话,就是如果是1阶梯的话,就是1
大于等于2的有两种,是i-1+(i-2)
然后我们使用记忆数组来记忆之前算过的
然后使用递归
12345678910111213141516class Solution70A{ public int climbStairs(int n ){ int[] memo = new int[n+1]; return dfs(n,memo); } private int dfs(int i,int[] memo){ if (i<=1){ return 1; } if (memo[i]!=0){ return memo[i]; } return memo[i] = ...
项目结构123456789101112131415161718historical-voting-web/├── user-service/ # 用户服务模块│ ├── src/main/java/│ │ └── com/historical/voting/user/│ │ ├── annotation/ # 自定义注解│ │ ├── config/ # 配置类│ │ ├── controller/ # 控制器│ │ ├── entity/ # 实体类│ │ ├── exception/ # 异常处理│ │ ├── Factory/ # 工厂类│ │ ├── interceptor/ # 拦截器│ │ ├── mapper/ # MyBatis映射│ │ ├── repository/ ...
身份认证与权限校验使用令牌技术实现身份验证,用自定栏截器完成用户认证,并结合 ThreadLocal进行截器校验,保障系统安全访间。
基于Spring Boot + JWT的完整身份认证示例,包含:
JWT生成和解析工具类
认证拦截器(拦截请求验证JWT)
ThreadLocal存储当前用户信息
配置拦截器注册
简单的用户控制器示例
问题解析1.JWT的组成Header(头部):描述签名的元数据,包含alg(签名算法) HS256,RS256,typ(令牌的类型)通常为JWT,base64URL编码作为一个片段
Payload:存放业务数据和标准声明(Claims),
RFC定义:iss(签发者)、sub(主题)、aud(受众)、exp(过期时间)、iat(签发时间)
Public Claims:用户自定义,但要避免冲突
Private Claims:双方约定的自定义字段(如 userId、roles)
Signature(签名):
用 Base64Url(Header) + "." + Base64Url(Payload),再加上密钥,通过指定算法(如 HMA ...