面试总结之银盛(薪资14k面试通过!!!)(下)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 8. mysql的引擎有什么?他们的区别

8. mysql的引擎有么?他们的区别

 a. InnoDB

1. 持事务处理

2. 支持外键

3. 持行锁

4. 不持FULLTEXT类型的索引(在Mysql5.6已引

5. 不保存表的具体数,扫描表来计算有多少行

6. 对于AUTO_INCREMENT类型的字段,必须包含只有该字段的索引

7. DELETE 表时,是一的删除

8. InnoDB 把数据和索引存放在表空间里面

9. 跨平台可直接拷贝使用

10. 表格很难被压缩

b. MyISAM:

1. 持事务,回滚将造成完全回滚,具有原子性

2. 持外键

3. 持全文搜索

4. 保存表的具体行数,带where时,直接返回保存的行数

5. DELETE 表时,先drop表,然后重建表

6. MyISAM 表被存放在三个文件 。frm 文件存放表格定义。数据文             件是MYD (MYData) 。索引文件是MYI (MYIndex)引伸

7. 跨平台很难直接拷贝

8. AUTO_INCREMENT类型字段可以和其他字段一起建立联合索引

9. 表格可以被压缩

c. 选择:因为MyISAM相对简单所以在效率上要优于InnoDB.如果系统读多,写少。对原子性要求低。那么MyISAM最好的选择。且MyISAM恢复速度快。可直接用备份覆盖恢复。如果系统读少,写多的时候,尤其是并发写高的时候。InnoDB就是首选了。两种类型都有自己优缺点,选择哪个完全要看自己的实际类弄。

9. innodb如何实现mysql的事务

image.png

事务进行过程中,每次sql语句执行,都会记录undo log和redo log,然后更新数据形成脏页,然后redolog按照时间或者空间等条件进行行落盘,undo log和脏页按照checkpoint进行落盘,落盘后相应的redo log就可以删除了。此时,事务还未COMMIT,如果发生崩溃,则首先检查checkpoint记录,使用相应的redo log进行数据和undo log的恢复,然后查看undo log的状态发现事务尚未提交,然后就使用undo log进行事务回滚。事务执行COMMIT操作时,会将本事务相关的所有redo log都进行落盘,只有所有redo log落盘成功,才算COMMIT成功。然后内存中的数据脏页继续按照checkpoint进行落盘。如果此时发生了崩溃,则只使用redolog恢复数据。

10. 说说b+树的原理

    B-tree:

image.png

B-tree 利用了磁盘块的特性进行构建的树。每个磁盘块一个节点,每个节点包含了很关键字。把树的节点关键字增多后树的层级比原来的二叉树少了,减少数据查找的次数和复杂度。

B-tree巧妙利用了磁盘预读原理,将一个节点的大小设为等于一个页(每页为4K),这样每个节点只需要⼀一次I/O就可以完全载⼊。B-tree 的数据可以存在任何节点中。

B+tree:

image.png

B+tree 是 B-tree 的变种,B+tree 数据只存储在叶子节点中。这样在B树的基础上每个节点存储的关键字数更多,树的层级更少所以查询数据更快,所有指关键字指针都存在叶子节点,所以每次查找的次数都相同所以查询速度更稳定。

12. 让你设计一个索引,你会怎么设计

mysql默认存储引擎innodb只显式支持B树索引,对于频繁访问的表,innodb会透明建立自适应hash索引,即在B树索引基础上建立hash索引,可以显著提高查找效率,对于客户端是透明的,不可控制的,隐式的。

13. git和svn的区别

1、Git是分布式的,⽽而SVN不是;

2、GIT把内容按元数据方式存储,而SVN是按⽂文件

3、分支不同:git分支切换很方便便;SVN分支就是版本库的另外一个目录;

4、GIT没有一个全局的版本号,而SVN有,SVN的版本号实际是任何一个相应时间的源代码快照。

5、GIT的内容完整性要优于SVN(GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。)

14. git命令的一些底层原理以及流程

 https://www.jianshu.com/p/2b47a3078a46

a. git init:使用git init初始化一个新的目录时,会生成个.git的目录,       该目录即为本地仓库。一个新初始化的本地仓库是这样的:

image.png

image.png

description用于GitWeb程序

config配置特定于该仓库的设置(还记得git config的三个配置级别么)

hooks放置客户端或服务端的hook脚本

HEAD传说中的HEAD指针,指明当前处于哪个分⽀

objectsGit对象存储目录

refsGit引用存储目录

branches放置分⽀引用的目录

其中description、config和hooks这些不在讨论中,后文会直接忽略。

b. git add:Gitcommit之前先要通过git add添加文件

image.png

可以看到,多了一个index文件。并且在objects目录下多了⼀个9f的目   录,其中多了⼀个4d96d5b00d98959ea9960f069585ce42b1349a⽂       件。其实9f4d96d5b00d98959ea9960f069585ce42b1349a就是一个Git对象,称为blob对象。

c. git commit:

image.png



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
XML Java API
Java 面试必备的 Spring Bean 生命周期总结
前言 Spring 作为 IOC 容器,管理的对象称之为 bean,Java 对象在 ClassLoader 中有自己的创建和清理过程,那么 Spring Bean 在容器中也有自己的生命周期。
317 0
Java 面试必备的 Spring Bean 生命周期总结
记十次面试字节/美团失败总结的《520道LeetCode题Java版答案》
去字节、美团、BAT等大厂面试,刷LeetCode上的数据结构+算法题是必修课。许多读者说,刷题的时候经常会遇到困难,想要找一本答案题解做参考。 下面分享几个用Java语言实现的开源LeetCode题解,也要感谢这些优秀的开源作者们,分享真的会让这个世界变得很美好。 LeetCode题解答案pdf(基于Java实现) 这是一本基于Java语言实现的LeetCode题解,格式为PDF,可作为刷题的辅助和参考,方便阅读,也方便打印出来学习。
|
负载均衡 Linux 应用服务中间件
Linux下各种锁地理解和使用以及总结解决一下epoll惊群问题(面试常考)
Linux下各种锁地理解和使用以及总结解决一下epoll惊群问题(面试常考)
Linux下各种锁地理解和使用以及总结解决一下epoll惊群问题(面试常考)
|
SQL 算法 JavaScript
西安软件园面试总结(一)
西安软件园面试总结(一)
西安软件园面试总结(一)
|
机器学习/深度学习 分布式计算 算法
机器学习岗位面试总结:简历应该关注的5个重点
机器学习岗位面试总结:简历应该关注的5个重点
397 0
机器学习岗位面试总结:简历应该关注的5个重点
|
存储 移动开发 算法
面试必问:十大经典排序算法总结
面试必问:十大经典排序算法总结
面试必问:十大经典排序算法总结
|
算法 网络协议 搜索推荐
CVTE寒暑假实习面试总结
目录前言1. 笔试2. 面试 前言 主要总结一些笔试和面试的具体问题 1. 笔试 笔试共有 20道选择题(单选加多选) 2道算法题(算法题基本是场景题,但是基本思路都是leetcode的题目) 1道设计题(让你设计一个系统) 20道选择题基本都是计网+数据结构的排序题以及java的一些基本概念 具体可以参考我这篇文章都有大概的提到 java框架零基础从入门到精通的学习路线(超全) 算法题的思路leetcode基本都有 我当时做的算法题主要是这两道 【leetcode】剑指 Offer 62. 圆圈中最后
|
存储 消息中间件 缓存
flink面试问题总结(1)
flink面试问题总结(1)
|
消息中间件 存储 SQL
flink面试问题总结(3)
flink面试问题总结(3)
flink面试问题总结(3)
|
存储 缓存 资源调度
flink面试问题总结(2)
flink面试问题总结(2)
flink面试问题总结(2)