杭州端点科技(数据开发)实习生面试(2021/6/23)

面试之前电话预约了面试时间
电话面试:时间35分钟

1.自我介绍

巴拉巴拉自己说吧!

2.什么是事务

  • 事务的基本概念
    数据库事务是构成单一逻辑工作单元的操作集合

注意点:
1.数据库事务可以包含一个或多个数据库操作,但这些操作是逻辑上的整体
2.构成逻辑整体的这些数据库操作,要么全部执行成功,要么全部不执行
3.构成事务的所有操作,要么全都对数据库产生影响,要么全都不产生影响,及不管事务是否执行成功,数据库总能保持一致性的状态。
4.并发操作下事务的控制尤为关键。

3.事务的特点(ACID)

  • 原子性:事务中的操作作为一个整体像原子一样不可分割,要么全部执行成功要么全部执行失败。通过快照实现

  • 一致性:事务中执行结果必须使数据库从一个一致性状态到另一个一致性状态。一致性状态是指:1.系统的状态满足数据的完整性约束(主码,参照完整性,check约束等)2.系统的状态反应数据库本应该描述的显示世界的真实状态。比如,转账前后两个账户的金额总数应该保持不变。事务的根本追求

  • 隔离性:并发执行的事务不会相互影响,其对数据的影响和他们串行执行时一样。比如多个用户同时往一个账户转账,最后账户的结果应该和他们按先后次序转账的结果一样。** 通过锁机制进行实现,共享锁排它锁独占锁间隙锁自增锁临键锁意向锁**

  • 持久性:事务一旦提交,其对数据库的更新就是持久的。任何事务或系统故障都不会导致数据丢失。先进行缓存,调用fsync指令使数据溢写到磁盘。wal日志

在这里插入图片描述

原子性实现原理:Undo log

1.mysql中有几种日志:undolog、redolog、binlog、relaylog 、slow log
2.undolog、redolog、binlog归属于哪些存储引擎:undolog/redolog归属于Innodb存储引擎。

  • undolog是为了实现事务的原子性,在Mysql数据库InnoDB存储引擎中,还用undo log 来实现多版本并发控制(简称:MVCC)
  • 在操作数据之前,首先将数据备份到一个地方(这个存储数据备份的地方称为undolog)。然后进行数据的修改。如果出现了错误或者用户执行了rollback语句,系统可以利用undolog中的备份将数据恢复到事务开始之前的状态。

注意:undolog是逻辑日志,可以理解为:
当delete一条记录,undolog中会记录一条对应的insert记录
当insert一条记录时,undolog会记录一条对应delete记录
当update一条记录时,它记录一条相反的update记录。

持久性原理:redo log

  • 和undolog相反,redolog记录的是最新数据的备份。**在事务提交之前,只要将redolog持久化即可,不需要将数据持久化。**当系统崩毁时,虽然数据没有持久化,但是redolog已经持久化。系统可以根据redolog的内容,将所有数据恢复到最新状态。

mysql的隔离级别

事务具有隔离性,理论上来说事务之间的执行不应该相互产生影响,其对数据库的影响应该和他们串行执行时一样。

然而完全的隔离性会导致系统并发性能很低,降低对资源的利用率,因而实际上对隔离性的要求会有所放宽,这也会一定程度上造成对数据库一致性要求降低。

SQL标准为事务定义了不同的隔离级别,从低到高依次是:

  • 读未提交:对事物处理的读取没有任何限制,不推荐
  • 读已提交
  • 可重复读
  • 串行化
    不同的隔离级别可能导致不同的并发异常,如下图
    在这里插入图片描述

4.mysql存储引擎

  • Innodb
  • mylsam
  • memory
    在这里插入图片描述

5. sql语句执行顺序?

6.Hive架构?

7.Hive的数据类型?

8.Hive中order by、sort by、distribute by、cluster by的区别?

9.hdfs的组成以及各个部分的功能?

10.HA用到了大数据集群中的哪个组件?

11.Shuffle过程?

12.mapreduce优化?

13.Shuffle阶段的压缩方式有哪些?哪些是效率高?

14.yarn中调度器有哪些?

15.说项目

16.你在开发过程中遇到困难你会怎么办?

17.网络爬虫的反爬机制有哪些?

18.我看你说你在项目中是组长的角色,你是怎样使本项目顺利进行的?项目中任务的分工?如果有一个项目成员生病了你要推动项目继续进行你会怎么做?

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值