首页 > 其他分享 >面试题新

面试题新

时间:2023-04-03 21:01:18浏览次数:44  
标签:面试题 范式 依赖于 主键 索引 id 装饰

目录

23年5月31日

1、装饰器是什么

1.装饰器是什么

装饰器的本质是闭包【函数】

2.装饰器的作用

在不改变程序源代码和调用方式的基础上,为程序增加新功能

3.装饰器的本质

被装饰以后,在执行被装饰的函数,其实执行不是之前的函数了,所有才加入了新功能

4.装饰器的语法糖

语法糖 @ python的特殊语法,它有特殊作用----》把被装饰的函数(装饰器下面的函数),当参数传入装饰器,并把装饰器的执行结果赋值给被装饰的函数

2、python深浅拷贝是什么

浅拷贝,指的是重新分配一块内存,创建一个新的对象,但里面的元素是原对象中各个子对象的引用。

深拷贝,是指重新分配一块内存,创建一个新的对象,并且将原对象中的元素,以递归的方式,通过创建新的子对象拷贝到新对象中。因此,新对象和原对象没有任何关联。

3、模仿方法new和init有什么区别

1.__init__
 	类名加括号 给对象添加独有数据时自动触发

2.__new__
    类在创建对象的时候是用魔法方法——双下new,产生空对象。

4、python的可变和不可变数据类型是什么

可变数据类是数据值发生改变,其内存地址不变
不可变数据是,数据值发生改变,其内存地址一定发生改变
可变数据类型有字典,列表,集合,文件对象
不可变数据类型有,整型,小数型,字符串,元组,布尔

5、什么是生成器,有什么应用场景

生成器是程序员在函数内部写的有vield关键字的函数
应用场景:比如说在进行文件操作时,如果文件过大,一次性打开,会占用过多内存空间可能会造成内存溢出,使用生成器用多少拿多少,减少内存消耗

23年4月3日

1、数据库三大范式是什么

参考:https://zhuanlan.zhihu.com/p/618012849

1、第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据线;也就是说:每列的值具有原子性,不可再分割。

解释:

学籍信息可以继续分割,所以不符合1NF

image

2、第二范式(2NF)是在第一范式(1NF)的基础上建立起来得,满足第二范式(2NF)必须先满足第一范式(1NF)。如果表是单主键,那么主键以外的列必须完全依赖于主键;如果表是复合主键,那么主键以外的列必须完全依赖于主键,不能仅依赖主键的一部分。

解释:

学生id和课程id联合主键,非主键列【分数】完全依赖于主键【学生id和课程id】,学生id和课程id两个值才能决定score的值
但是【课程名字】只依赖于课程id,与学生id没有依赖关系,它不完全依赖于主键,只依赖于主键的一部分,不符合2NF

image

3、第三范式(3NF)是在第二范式的基础上建立起来的,即满足第三范式必须要先满足第二范式。第三范式(3NF)要求:表中的非主键列必须和主键直接相关而不能间接相关;也就是说:非主键列之间不能相关依赖。

解释:

表中【部门名称】依赖于【部门id】,而【部门id】依赖于【id主键】,从而推出【部门名称】依赖于id(主键)
【部门名称】不直接依赖于主键,而是通过依赖于非主键列而依赖于主键,属于传递依赖,不符合3NF

image

2、mysql有哪些索引类型,分别有什么作用

什么是索引?

索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。

索引的作用

1)索引就好比一本书的目录,它能让你更快的找到自己想要的内容
2)让获取的数据更有目的性,从而提高数据库检索数据的性能

索引的本质:加快查询

mysql的索引类型

聚簇索引,聚集索引,主键索引,主键,如果不存在主键,隐藏一个主键,构建聚簇索引 primary(key)

辅助索引,普通索引 index

唯一索引 unique

联合索引,组合索引,多列索引:unique_to

3、事务的特性(ACID)和隔离级别

事务的四大特性

  • A:原子性

指事务是一个不可再分割的工作单位,事务中的操作要么都发生,要么都不发生。

  • C:一致性

指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。一致性与原子性是密切相关的。

  • I:隔离性

指在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间(多个事务之间彼此不干扰)。

  • D:持久性

持久性也称永久性,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的,并不会被回滚。

事务的隔离级别

1.read uncommitted(未提交读)

2.read committed(提交读)

3.repeatable read(可重复读) # MySQL默认隔离级别

4.serializable(可串行读)


标签:面试题,范式,依赖于,主键,索引,id,装饰
From: https://www.cnblogs.com/zhihuanzzh/p/17284417.html

相关文章

  • C语言再学习 -- 详解C++/C 面试题 2
    (经典)C语言测试:想成为嵌入式程序员应知道的0x10个基本问题。参看:嵌入式程序员面试问题集锦1、用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #defineSENCONDS_PER_YEAR(60*60*24*365)UL解答:#define声明一个常量,使用计算常量表达式的值来表明一年中有多少......
  • 百度面试题-海量日志,读取IP
    4、海量日志数据,提取出某日访问百度次数最多的那个IP。回答:如果日志文件足够的大,大到不能完全加载到内存中的话。那么可以考虑分而治之的策略,按照IP地址的hash(IP)%1024值,将海量日志存储到1024个小文件中。每个小文件最多包含4M个IP地址。对于每个小文件,可以构建一个IP作为ke......
  • Python常见面试题015.请实现一个如下功能的函数
    015.请实现一个如下功能的函数来自python黑魔法题目实现一个add函数,可以"反复"调用,得到累加的结果defadd(num):...add(1)#输出1add(2)#输出2add(1)(2)#输出3(即1+2)add(1)(2)(3)#输出6思考一开始我想到的是用一个参数,类型是list,能保存用户的传......
  • 力扣---面试题 02.01. 移除重复节点
    编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1:输入:[1,2,3,3,2,1]输出:[1,2,3]示例2:输入:[1,1,1,1,2]输出:[1,2]提示:链表长度在[0,20000]范围内。链表元素在[0,20000]范围内。进阶:如果不得使用临时缓冲区,该怎么解决?来源:力扣(LeetC......
  • 大数据面试题
    目录大数据面试题纯技术部分java相关面试题scala相关面试题数据库相关面试题【重要】数仓相关面试题Linux相关面试题hive相关面试题【重要】kafaka相关面试题spark相关面试题Hbase相关面试题其他面试题大数据面试题纯技术部分java相关面试题java面向对象的特征【基础】java......
  • Python面试题究极篇01
    目录Python面试题第一章深浅拷贝是什么魔法方法new和init有什么区别python的可变和不可变数据类型是什么什么是生成器,有什么应用场景数据库的三大范式是什么mysql有哪些索引类型,分别有什么作用事务的特性和隔离级别Python面试题第一章深浅拷贝是什么浅拷贝和深拷贝:浅拷贝是在......
  • 2024届计算机秋招100天备战:力扣每日打卡挑战全记录 & 面试题总结
    最近两个月力扣困难题不再落下,打卡全满勤,激发了持续刷题的斗志。这里将持续记录打卡过程中的难题和面试八股。2023/4/21039.多边形三角剖分的最低得分题目大意:多边形每个节点有一个数值,将多边形三角剖分,得分为所有三角形节点乘积之和。求三角剖分后的最低得分。做题评价:虽......
  • 力扣---面试题13. 机器人的运动范围
    地上有一个m行n列的方格,从坐标[0,0]到坐标[m-1,n-1]。一个机器人从坐标[0,0]的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格[35,37],因为3+5+3+7=18。但它不能进入......
  • 面试题汇总(NO.1)
    3.31 day1#1.深浅拷贝是什么>-1.深浅拷贝是对数据进行复制不可变类型:深浅拷贝都是一样的重新拷贝一份数据可变类型:如果内部嵌套的还有不可变类型,-浅拷贝只拷贝第一层,嵌套拷贝的是内存地址,-......
  • 4.2面试题
    面试题4.2面试题1数据库三大范式是什么2mysql有哪些索引类型,分别有什么作用3事务的特性和隔离级别第一遍自我理解回答数据库的三大范式:数据库的范式:关系型数据库中,数据表设计的基本原则、规则称为范式1NF:数据库最基本原则------->>!!!属性不可分割2NF:满足第一范式,且不......