维护工程师面经

文章目录

  • 前言
  • 技能要求
  • 数据结构
    • 定义
    • 分类
    • 常用的数据结构
  • 数据库原理
    • 数据的三级模式结构
    • 事务
    • 查询方式
    • 视图
    • 数据库范式
  • Java相关知识点
  • 总结


前言

本博客仅做学习笔记,如有侵权,联系后即刻更改

科普:


参考网址

技能要求

在这里插入图片描述

数据结构

参考网址

定义

数据结构是相互之间存在一种或多种特定关系的数据元素的集合

  • 即带“结构”的数据元素的集合。
    “结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。
  • 选择合适的数据结构,不但可以提高内存的使用率,也可以提高查找的效率。查找效率就是指算法,数据结构是为算法而生

分类

逻辑结构

  • 定义
    指数据元素之间逻辑关系的数据结构,这里的逻辑关系是指数据元素之间的前后间关系,与数据在计算机中的存储位置无关。
  • 线性结构
    数据结构的元素之间存在一对一线性关系,所有结点都最多只有一个直接前趋结点和一个直接后继结点。常见的有数组、队列、链表、栈
  • 非线性结构
    各个结点之间具有多个对应关系,一个结点可能有多个直接前趋结点和多个直接后继结点。常见的有多维数组、广义表、树结构和图结构等

存储结构

  • 定义
    指数据的逻辑结构在计算机存储空间中的存放形式称为数据的物理结构,也叫做存储结构
  • 顺序存储
    存储顺序是连续的,在内存中用一组地址连续的存储单元依次存储线性表的各个数据元素
  • 链式存储
    在内存中的存储元素不一定是连续的,用任意地址的存储单元存储元素,元素节点存放数据元素以及通过指针指向相邻元素的地址信息
  • 索引存储
    除建立存储结点信息外,还建立附加的索引表来标识节点的地址。索引表由若干索引项组成
  • 散列存储
    又称Hash存储,由节点的关键码值决定节点的存储地址

常用的数据结构

数组(Array)

它一种线性表数据结构,用一组连续的内存空间来存储一组相同类型的数据。

队列(Queue)

特点是先入先出,也就是我们常听到的FIFO(First in First Out)

链表(Linked List)

物理存储单元上非连续,非顺序的存储结构。

  • 链表有一系列节点组成,所谓节点就是指链表中的每一个元素,每个节点包含两个数据,一个是存储元素的数据域(值),另一个是存储下一个节点地址的指针域。

栈(Stack)

数据呈线性排列的数据结构,和上面的队列相反,栈的特点先进后出、后进先出,就是常说的LIFO(Last in First Out)

树(Tree)

层级式的数据结构,由顶点(节点)和连接它们的边组成

  • 结构特点
    每个节点有零个或多个子节点;
    没有父节点的节点称为根节点;
    每一个非根节点有且只有一个父节点;
    除了根节点外,每个子节点可以分为多个不相交的子树

散列表(Hash)

散列表又叫哈希表,存储的是由键(key)和值(value)组 成的数据,根据键直接访问存储在内存存储位置的数据结构

堆(Heap)

图的树形结构。

  • 被用于实现“优先队列”(priority queues),优先队列是一种数据结构,可以自由添加数据,但取出数据时要从最小值开始按顺 序取出。
    在堆的树形结构中,各个顶点被称为“结点”(node),数据就存储在这些结点中
  • 特点
    堆是一个完全二叉树(所谓完全二叉树就是除了最后一层其他层的节点个数都是满的)
    堆中每一个节点的值都必须大于等于或者小于其子树中每一个节点的值。

图(Graph)

由顶点和连接每对顶点的边所构成的图形就是图

数据库原理

参考网址

  • 数据库(DB)
    是存储在计算机系统内的有结构的数据集合,是相关数据的集合,数据由数据库管理系统统一管理和维护
  • DBS
    是指在计算机系统中引入数据库后的数据构成,由计算机硬件、操作系统、DBMS、DB、应用程序和用户以及数据库开发和管理人员等组成
  • DBMS
    是操作系统支持下工作的数据管理软件,是支持用户创建和维护数据库的一组程序包。对内负责管理数据库,对外向用户提供一整套命令。用户可以通过命令来创建数据库,定义数据,对数据库中的数据进行各种合法的操作

数据的三级模式结构

外模式、模式和内模式

事务

事务是数据库操作的最小逻辑工作单元,是一系列SQL操作的集合

  • ACID特性
    原子性、一致性、隔离性和持久性

查询方式

分组查询

  • where子句作用于基表或者视图,从中选择满足条件的元组;
  • having子句作用于分组后的组,从中选择满足条件的组。

排序查询

  • 用 order by 进行默认升序排序
    在列名后面添加 desc 进行降序排序

多关系连接查询

  • 内部连接: inner join
    两表之间具有共同性质的属性

视图

定义

  • 视图是从一个或多个关系(基本表或已存在的视图)导出的关系。是数据库系统的一个重要机制

与基本表的区别与联系

  • 视图是虚表,在一般情况下不建立索引。
    sql一般也不提供修改视图定义的语句。
    对视图中数据进行更新是有限制的。

视图的使用

  • create view <视图名>as <子查询>[with check option]
    若有 with check option ,则今后在对此视图,进行 insert, update, delete 操作时,会自动检查是否符合原定义视图子查询中的<条件表达式>
    视图是数据库中数据的物理独立性和逻辑独立性的重要支柱

数据库范式

参考网址

第一范式 - 1NF

  • 遵循原子性。即表中字段的数据不可以再拆分。

第二范式 - 2NF

  • 在满足第一范式的情况下,遵循唯一性,消除部分依赖。即,表中任意一个主键或任意一组联合主键,可以确定除该主键外的所有的非主键值。
    一个表只能描述一件事情

第三范式 - 3NF

  • 在满足第二范式的情况下,消除传递依赖。
    即在任一主键都可以确定所有非主键字段值的情况下,不能存在某非主键字段 A 可以获取 某非主键字段 B

Java相关知识点

参考网址

JDK/JRE/JVM

  • (Java Virtual Machine)虚拟机
    (Java Runtime Environment)Java 运行时环境
    (Java Development Kit)Java 开发工具包
  • JRE = JVM + Java 核心类库
  • JDK = JRE + Java工具 + 编译器 + 调试器
    java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class文件并不直接与机器的操作系统交互,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行
    在这里插入图片描述

Java特性

  • 源代码会先通过javac编译成字节码,再通过jvm将字节码转换成机器码执行,即解释运行 和编译运行配合使用,所以可以称为混合型或者半编译型
  • 面向对象是把构成问题事务分解成各个对象,分别设计这些对象,然后将他们组装成有完整功能的系统。面向过程只用函数实现,面向对象是用类实现各个功能模块。
  • 面对对象四大特性
    封装,继承,多态,抽象
  • 面向对象编程的六大原则
    在这里插入图片描述

总结

小小励志

有些事你现在不做,一辈子都不会做了。
如果你想做一件事,全世界都会为你让路。
《搭车去柏林》

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

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

相关文章

毕业设计2349基于jsp的网上订餐系统【程序源码+文档+调试运行】

摘要 本文介绍了一个网上订餐系统的设计与实现。该系统分为前台用户模块和后台管理员模块&#xff0c;具有用户注册/登录、网站公告、菜品中心、购物车、用户后台、留言板等功能。管理员可以对用户信息、网站公告、菜品类别、菜品信息、订单信息、菜品评价信息、留言板信息和支…

Mac | Vmware Fusion | 分辨率自动还原问题解决

1. 问题 Mac的Vmware Fusion在使用Windows10虚拟机时&#xff0c;默认显示器配置如下&#xff1a; 开机进入系统并变更默认分辨率后&#xff0c;只要被 ⌘Tab 切换分辨率就会还原到默认&#xff0c;非常影响体验。 2. 解决方式 调整 设置 -> 显示器 -> 虚拟机分辨率…

Centos7安装Cesi(Supervisor集中管理工具)

Background CeSi 是 Supervisor 官方推荐的集中化管理 Supervisor 实例的 Web UI&#xff0c;该工具是用 Python 编写&#xff0c;基于 Flask Web 框架 。Superviosr 自带的 Web UI 不支持跨机器管理Supervisor 进程&#xff0c;功能比较简单&#xff0c;通过 CeSi 可以集中管理…

STM32F103C8T6第5天:独立看门狗、窗口看门狗、dma实验

1. 独立看门狗IWDG介绍&#xff08;341.45&#xff09; 什么是看门狗&#xff1f; 在由单片机构成的微型计算机系统中&#xff0c;由于单片机的工作常常会受到来自外界电磁场的干扰&#xff0c;造成程序的跑飞&#xff0c;而陷入死循环&#xff0c;程序的正常运行被打断&#…

ESP32 碰上内存分配问题

1、背景 看图片 _calloc_r ->_malloc_r ->heap_caps_malloc_default->heap_caps_malloc->multi_heap_malloc->multi_heap_malloc_impl->get_next_block /* Return the next sequential block in the heap.*/ static inline heap_block_t *get_next_block(co…

【10套模拟】【8、9】

关键字&#xff1a; 建立有序单链表、多维数组是特殊线性结构、直接选择排序、哈夫曼树高度及wpl、中序最后叶子先序最后也是、堆是完全二叉树、分块查找 统计二叉树结点数、统计二叉树值和、奇偶数划分、判断链表是否递增

MySQL慢查询

快捷查看指令 ctrlf 进行搜索会直接定位到需要的知识点和命令讲解&#xff08;如有不正确的地方欢迎各位小伙伴在评论区提意见&#xff0c;博主会及时修改&#xff09; MySQL慢查询 MySQL 慢查询是指查询语句执行速度过慢&#xff0c;影响系统整体性能和查询效率的情况。MySQL…

详解Python中哈希表的使用。站在开发者角度,与大家一起探究哈希的世界。

文章目录 1. 前言2. 哈希表2.1 哈希函数2.2 哈希算法2.3 常见哈希算法2.4 哈希冲突 3.总结关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面…

Python安装入门

目录 1 从应用商店安装2 通过官方安装3 验证安装是否成功4 打印hello world总结 1 从应用商店安装 推荐使用微软的应用商店安装&#xff0c;打开开始菜单 在应用商店搜索python 选择最新的版本下载并安装即可 2 通过官方安装 也可以使用官网的安装包&#xff0c;输入如下网…

以太坊铭文聚合交易平台 Scorpio,铭文爆发的新推手?

在今年 3 月&#xff0c;Ordinals 凭空问世&#xff0c;定义了一套在比特币网络运行的序数协议&#xff0c;使得 Token 和 NFT 能在比特币网络上实现并稳定运行&#xff0c;拉来了比特币铭文市场的新序幕。而在此后&#xff0c;在包括 BRC20 等在内的一系列应用的出现&#xff…

智慧城市内涝积水监测仪功能,提升城市预防功能

内涝积水监测仪不仅改变了人们应对城市内涝的老办法&#xff0c;还让智慧城市往前迈了一大步。这个监测仪是怎么做到的呢&#xff1f;就是靠它精准的数据监测和预警&#xff0c;让城市管理有了更科学高效的解决妙招。它就像有了个聪明又负责任的助手&#xff0c;让城市管理更加…

FPGA设计时序约束九、others类约束之Group Path

目录 一、序言 二、Group Path 2.1 基本概念 2.2 设置界面 2.3 命令语法 2.4 命令示例 三、工程示例 四、参考文件 一、序言 在Vivado的时序约束窗口中&#xff0c;存在一类特殊的约束&#xff0c;划分在others目录下&#xff0c;可用于设置忽略或修改默认的时序路径分…

【EI会议征稿】2024年智慧城市与信息系统国际学术会议 (ICSCIS 2024)

2024年智慧城市与信息系统国际学术会议 (ICSCIS 2024) 2024 International Conference on Smart City and Information System 随着互联网技术的发展&#xff0c;城市化进程的深入&#xff0c;智慧城市的研究与发展越来越普遍&#xff0c;运用物联网、云计算、大数据等先进信…

【考研数学】数学一“背诵”手册(一)| 高数部分(2)

文章目录 引言一、高数级数空间解析几何球坐标变换公式零碎公式 写在最后 引言 高数一篇文章还是写不太下&#xff0c;再分一些到这里来吧 一、高数 级数 阿贝尔定理&#xff1a;若级数 ∑ a n x n \sum a_nx^n ∑an​xn 当 x x 0 xx_0 xx0​ 时收敛&#xff0c;则适合不…

QT搭建的Ros/librviz的GUI软件

1.前言 开发初期学习了下面博主的文章&#xff0c;也报了他在古月局的课&#xff0c;相当于感谢吧。 ROS Qt5 librviz人机交互界面开发一&#xff08;配置QT环境&#xff09;-CSDN博客​​​​​​​r 软件前期也是参考他的开源项目 GitHub - chengyangkj/Ros_Qt5_Gui_App …

Linux-编译器

编译器 gcc-arm-linux-gnueabihf gcc-arm-linux-gnueabihf 是一个针对 ARM 架构 Linux 系统的交叉编译工具链&#xff0c;它包括了 C、C、Objective-C 和 Fortran 编译器以及一些辅助工具&#xff0c;用于将源代码编译成可在 ARM 架构的 Linux 系统上运行的二进制程序。arm架…

2024贵州大学计算机考研分析

24计算机考研|上岸指南 贵州大学 贵州大学计算机科学与技术学院&#xff08;贵州大学省级示范性软件学院&#xff09;位于贵州省贵阳市花溪区贵州大学东校区。 计算机科学与技术学院&#xff08;软件学院&#xff09;自1972年创办计算机软件本科专业开始&#xff0c;至今已有…

算法刷题-动态规划-1

算法刷题-动态规划-1 不同路径不同路径||方法一&#xff1a;方法二 第N个泰波那契数递归写法滚动数组 三步问题递归操作滚动数组 使用最小画法爬楼梯递归 解码方法方法一方法二&#xff1a;&#xff08;大佬讲解&#xff09; 不同路径 //机器人不同的路径进入到指定的地点 publ…

人工智能-循环神经网络的简洁实现

循环神经网络的简洁实现 如何使用深度学习框架的高级API提供的函数更有效地实现相同的语言模型。 我们仍然从读取时光机器数据集开始。 import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2lbatch_size, num_steps 32, 35…

最常用的5款报表系统

在这个信息化飞速发展的时代&#xff0c;报表系统已经成为了企业管理和决策的重要工具。随着市场的需求不断增长&#xff0c;报表系统也在不断地更新和完善。如今&#xff0c;市面上有数不尽的报表系统&#xff0c;但是哪款才是最常用的呢&#xff1f;接下来&#xff0c;我们将…