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

1.厦门面试

1.Vue的生命周期阶段

vue生命周期分为四个阶段
第一阶段(创建阶段):beforeCreate,created
第二阶段(挂载阶段):beforeMount(render),mounted
第三阶段(更新阶段):beforeUpdate,updated
第四阶段(销毁阶段):beforeDestroy,destroyed

2.vue的优点

Vue.js 是一个渐进式 JavaScript 框架
(1)渐进式框架:Vue.js 可以逐步应用于项目中,从而降低了学习和集成的成本。你可以根据需要选择使用它的部分功能或全功能。
(2)简单易学:Vue.js 的核心概念简单易懂,入门门槛较低。其文档详尽,学习资源丰富,社区支持良好。
(3)组件化开发:Vue.js 提供了强大的组件系统,使得开发者可以将界面分割成可复用的组件,从而提高了开发效率和代码维护性。
(4)数据绑定:Vue.js 采用双向数据绑定(two-way data binding),可以自动同步数据和视图,简化了数据管理和视图更新的流程。
(5)虚拟 DOM:Vue.js 使用虚拟 DOM 进行高效的 DOM 操作,确保在数据更新时只对需要更新的部分进行最小化的重新渲染,从而提高性能。
(6)反应式系统:Vue.js 具有强大的响应式系统,能够高效地跟踪和响应数据变化,从而实现实时更新和高性能的数据绑定。
(7)生态系统丰富:Vue.js 具有丰富的生态系统,包括 Vue Router(用于路由管理)、Vuex(用于状态管理)和 Vue CLI(用于项目脚手架),这些工具和库能够帮助开发者快速构建和管理项目。
(8)良好的性能:由于其轻量级的设计和高效的虚拟 DOM 操作,Vue.js 在性能方面表现优异,适用于各种规模的项目。
(9)支持 TypeScript:Vue.js 完全支持 TypeScript,提供了类型安全的开发体验,进一步增强了代码的可维护性和可靠性。
(10)强大的社区和支持:Vue.js 拥有一个活跃的社区,开发者可以轻松找到相关的资源、教程和帮助,从而加速开发进程。

3.vue如何进行通信

4.springboot的框架

5.spring boot的安全机制

6.数据库ACID特性

ACID 分别代表原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
(1)原子性 (Atomicity):
**原子性确保事务中的所有操作要么全部成功,要么全部失败。**事务是一个不可分割的操作单元,任何部分的失败都会导致整个事务的回滚(即所有已执行的操作都取消),以保证数据库状态不被部分完成的操作破坏。
示例:如果一个事务包括从一个账户转账到另一个账户,原子性确保钱要么同时从一个账户扣减并增加到另一个账户,要么两者都不发生。
(2)一致性 (Consistency):
一致性保证事务在执行之前和执行之后,数据库都处于一致的状态。事务必须使数据库从一个一致的状态转变到另一个一致的状态。所有定义的数据库规则(如约束、触发器等)在事务开始和结束时必须满足。
示例:如果一个数据库规则是每个账户的余额不能为负数,一致性保证事务在执行过程中不会违反这一规则。
(3)隔离性 (Isolation):
隔离性确保多个并发事务不会互相影响,每个事务的执行结果与单独执行的结果相同。换句话说,一个事务的中间状态对其他事务是不可见的。
示例:在一个银行系统中,如果两个事务分别尝试读取和更新同一个账户的余额,隔离性确保每个事务在执行时不会受到另一个事务的干扰。
(4)持久性 (Durability):
持久性保证一旦事务提交,它对数据库的修改将永久保存,即使系统发生故障(如电源故障、崩溃等),也不会丢失已提交的事务的结果。
示例:如果一个银行系统在转账完成并提交后突然断电,持久性保证在系统恢复后转账的结果依然存在,不会丢失。

7.java对象的三大特征/特性

8.静态变量和实例变量

9.线程和进程的定义和区别

10.进程的算法(信号量、管道)

11.TCP/IP通信

12.python语言中的基本数据类型

(1)整数 (int):
用于表示整数值,可以是正数或负数,不包括小数部分。
示例:10, -3, 42
(2)浮点数 (float):
用于表示带有小数部分的数字。
示例:3.14, -0.001, 2.71828
(3)字符串 (str):
用于表示文本数据,字符串可以用单引号 ’ 或双引号 " 括起来。
示例:‘hello’, “world”, ‘Python is fun’
(4)布尔 (bool):
用于表示布尔值,只有两个值:True 和 False。
示例:True, False
(5)列表 (list):
有序的、可变的元素集合用方括号 [] 括起来元素之间用逗号分隔
示例:[1, 2, 3], [‘apple’, ‘banana’, ‘cherry’], [1, ‘hello’, 3.14]
(6)元组 (tuple):
有序的、不可变的元素集合用圆括号 () 括起来,元素之间用逗号分隔。
示例:(1, 2, 3), (‘apple’, ‘banana’, ‘cherry’), (1, ‘hello’, 3.14)

额外知识点补充:表和元组都是有序的集合,这意味着它们中的元素按照添加的顺序排列,并且可以通过索引访问。
列表可变的示例
列表是可变的,这意味着可以在创建后修改它们的内容,包括增加、删除或改变元素。

# 创建一个列表
fruits = ['apple', 'banana', 'cherry']
print(f"原始列表: {fruits}")# 修改列表中的元素
fruits[1] = 'blueberry'
print(f"修改后的列表: {fruits}")# 添加新元素
fruits.append('date')
print(f"添加元素后的列表: {fruits}")# 删除元素
fruits.remove('apple')
print(f"删除元素后的列表: {fruits}")

输出:

原始列表: ['apple', 'banana', 'cherry']
修改后的列表: ['apple', 'blueberry', 'cherry']
添加元素后的列表: ['apple', 'blueberry', 'cherry', 'date']
删除元素后的列表: ['blueberry', 'cherry', 'date']

元组不可变的示例
元组是不可变的,这意味着一旦创建就不能修改它们的内容。任何试图修改元组的操作都会引发错误。

# 创建一个元组
coordinates = (10, 20, 30)
print(f"原始元组: {coordinates}")# 尝试修改元组中的元素(会引发错误)
try:coordinates[1] = 40
except TypeError as e:print(f"尝试修改元组引发错误: {e}")# 尝试添加新元素(会引发错误)
try:coordinates.append(40)
except AttributeError as e:print(f"尝试添加元素引发错误: {e}")# 尝试删除元素(会引发错误)
try:del coordinates[0]
except TypeError as e:print(f"尝试删除元素引发错误: {e}")

输出:

原始元组: (10, 20, 30)
尝试修改元组引发错误: 'tuple' object does not support item assignment
尝试添加元素引发错误: 'tuple' object has no attribute 'append'
尝试删除元素引发错误: 'tuple' object doesn't support item deletion

列表和元组为什么是有序的
列表和元组都是有序的集合,这意味着它们的元素按添加的顺序存储和访问。顺序性确保每个元素都有一个固定的位置,可以通过索引访问。无论列表还是元组,其有序性主要体现在以下两个方面:

按顺序存储:元素按照插入的顺序存储,并且不会改变。
按索引访问:可以使用索引来访问特定位置的元素。

列表和元组为什么是有序的

列表和元组都是有序的集合,这意味着它们的元素按添加的顺序存储和访问。顺序性确保每个元素都有一个固定的位置,可以通过索引访问。无论列表还是元组,其有序性主要体现在以下两个方面:

按顺序存储:元素按照插入的顺序存储,并且不会改变。
按索引访问:可以使用索引来访问特定位置的元素。

# 列表
list_example = ['a', 'b', 'c']
print(f"列表中的第一个元素: {list_example[0]}")  # 输出: 'a'# 元组
tuple_example = ('x', 'y', 'z')
print(f"元组中的第一个元素: {tuple_example[0]}")  # 输出: 'x'

这种有序性使得列表和元组适合需要顺序访问元素的场景,比如遍历、切片等操作。

(7)集合 (set):
无序的、不重复的元素集合用花括号 {} 括起来
示例:{1, 2, 3}, {‘apple’, ‘banana’, ‘cherry’}, {1, ‘hello’, 3.14}
(8)字典 (dict):
无序的键值对集合用花括号 {} 括起来键值对用冒号 : 分隔
示例:{‘name’: ‘Alice’, ‘age’: 25}, {‘apple’: 1, ‘banana’: 2, ‘cherry’: 3}
(9)NoneType:
用于表示空值或无值的对象,只有一个值 None。
示例:None
(10)字节 (bytes):
在这里插入图片描述

(11)字节数组 (bytearray):
类似于字节对象,但可以修改其内容
示例:bytearray(b’hello’)
(12)记号 (complex):
用于表示复数,形式为 a + bj,其中 a 和 b 是浮点数,j 表示虚数单位。
示例:3 + 4j, 1.5 + 0.5j

相关文章:

  • 学习Python的IDE功能--(一)入门导览
  • uniapp小程序上传pdf文件
  • 好玩的调度技术-场景编辑器
  • Linux内核编译安装 - Deepin,Debian系
  • llama-index,uncharted and llama2:7b run locally to generate Index
  • C语言从头学35——struct结构
  • Web开发:卡片翻转效果(HTML、CSS)
  • 文心一言:如何备考软考架构师
  • MySQL第一次作业
  • 数据库day2
  • 伪元素::before :: after的用法?
  • 微软GraphRAG +本地模型+Gradio 简单测试笔记
  • 【C#】Array和List
  • 深入解析公有IP与私有IP:地址分配与使用限制
  • 智慧农业新纪元:解锁新质生产力,加速产业数字化转型
  • Android系统模拟器绘制实现概述
  • AngularJS指令开发(1)——参数详解
  • jquery cookie
  • Laravel核心解读--Facades
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • vue的全局变量和全局拦截请求器
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 数据可视化之 Sankey 桑基图的实现
  • 小程序开发中的那些坑
  • 硬币翻转问题,区间操作
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 怎么将电脑中的声音录制成WAV格式
  • 《码出高效》学习笔记与书中错误记录
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (C#)获取字符编码的类
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (备忘)Java Map 遍历
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (六)软件测试分工
  • (转)编辑寄语:因为爱心,所以美丽
  • .libPaths()设置包加载目录
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .net core 外观者设计模式 实现,多种支付选择
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET8 动态添加定时任务(CRON Expression, Whatever)
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .net和php怎么连接,php和apache之间如何连接
  • .NET学习全景图
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @antv/g6 业务场景:流程图
  • @Query中countQuery的介绍