2022年春招开始了,万字面试题集萃助你

2023-10-09 10:30

本文主要是介绍2022年春招开始了,万字面试题集萃助你,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程,B站及腾讯课堂讲师,直播量破10W
擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

  • 前言
    • 🍁1.基本概念
      • ⛳️ 1.1. 什么是SQL?
      • ⛳️ 1.2 数据库三大范式是什么?
      • ⛳️ 1.3 事务的四大特性(ACID)介绍一下?
      • ⛳️ 1.4 什么是死锁?怎么解决?
      • ⛳️ 1.5 什么是存储过程?有哪些优缺点?
      • ⛳️ 1.6 SQL语句主要分为哪几类
      • ⛳️ 1.7 六种关联查询是什么?
      • ⛳️ 1.8 大表数据查询,怎么优化?
      • ⛳️ 1.9 MySQL分库分表的目的是?
      • ⛳️ 1.10 MySQL主从复制工作原理是?
      • ⛳️ 1.11 什么是MySQL的GTID?
      • ⛳️ 1.12 在Oracle中,什么是AWR?
      • ⛳️ 1.13 Oracle动态监听及静态监听区别
    • 🍁2.故障处理类
      • 2.1 ⛳️Oracle 高可用的故障
      • 2.2 ⛳️MySQL故障
    • 🍁3.安装部署类
      • ⛳️ 3.1.Oracle
      • ⛳️ 3.2 MySQL
      • ⛳️ 3.3 postgreSQL
      • ⛳️ 3.4 Redis
    • 🍁4.性能优化类

前言

2022年春招开始了,你是否有心仪的大厂想要跳槽呢? 趁着这个黄金阶段把握机会,一举进入大厂吧!

😜😜😜
春节一过,迎来了“金三银四”的招聘旺季,各个大厂开始进入了大面积招兵买马的阶段,
现在正是程序员进入大厂的最佳时期。
你是否有心仪的大厂想要跳槽呢?趁着这个黄金阶段把握机会,一举进入大厂吧。

在这里插入图片描述

大厂面试无外乎看三点,简历、笔试和面试。
其中一些知名的大厂在笔试的时候最爱考察大数据方面的技能

🍁1.基本概念

⛳️ 1.1. 什么是SQL?

结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语言。
作用:用于存取数据、查询、更新和管理关系数据库系统。

⛳️ 1.2 数据库三大范式是什么?

第一范式:每个列都不可以再拆分。
第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。
第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键。
在设计数据库结构的时候,要尽量遵守三范式,如果不遵守,必须有足够的理由。比如性能。
事实上我们经常会为了性能而妥协数据库的设计。

⛳️ 1.3 事务的四大特性(ACID)介绍一下?

原子性:事务是最小的执行单位,不允许分割。
事务的原子性确保动作要么全部完成,要么完全不起作用;
一致性:执行事务前后,数据保持一致,多个事务对同一个数据读取的结果是相同的;
隔离性:并发访问数据库时,一个用户的事务不被其他事务所干扰,
各并发事务之间数据库是独立的;
持久性:一个事务被提交之后。它对数据库中数据的改变是持久的,
即使数据库发生故障也不应该对其有任何影响。

⛳️ 1.4 什么是死锁?怎么解决?

死锁是指两个或多个事务在同一资源上相互占用,
并请求锁定对方的资源,从而导致恶性循环的现象。
常见的解决死锁的方法
1、如果不同程序会并发存取多个表,
尽量约定以相同的顺序访问表,可以大大降低死锁机会。
2、在同一个事务中,尽可能做到一次锁定所需要的所有资源,减少死锁产生概率;
3、对于非常容易产生死锁的业务部分,可以尝试使用升级锁定颗粒度,
通过表级锁定来减少死锁产生的概率;
如果业务处理不好可以用分布式事务锁或者使用乐观锁

⛳️ 1.5 什么是存储过程?有哪些优缺点?

存储过程是一个预编译的SQL语句,优点是允许模块化的设计,
就是说只需要创建一次,以后在该程序中就可以调用多次。
如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。
优点
1)存储过程是预编译过的,执行效率高。
2)存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。
3)安全性高,执行存储过程需要有一定权限的用户。
4)存储过程可以重复使用,减少数据库开发人员的工作量。
缺点
1)调试麻烦,但是用 PL/SQL Developer 调试很方便!弥补这个缺点。
2)移植问题,数据库端代码当然是与数据库相关的。
但是如果是做工程型项目,基本不存在移植问题。
3)重新编译问题,因为后端代码是运行前编译的,
如果带有引用关系的对象发生改变时,受影响的存储过程、
包将需要重新编译(不过也可以设置成运行时刻自动编译)。
4)如果在一个程序系统中大量的使用存储过程,
到程序交付使用的时候随着用户需求的增加会导致数据结构的变化,
接着就是系统的相关问题了,
最后如果用户想维护该系统可以说是很难很难、而且代价是空前的,维护起来更麻烦。

⛳️ 1.6 SQL语句主要分为哪几类

数据定义语言DDL(Data Ddefinition Language)CREATE,DROP,ALTER
主要为以上操作 即对逻辑结构等有操作的,
其中包括表结构,视图和索引。
数据查询语言DQL(Data Query Language)SELECT
这个较为好理解 即查询操作,以select关键字。
各种简单查询,连接查询等 都属于DQL。
数据操纵语言DML(Data Manipulation Language)INSERT,UPDATE,DELETE
主要为以上操作 即对数据进行操作的,
对应上面所说的查询操作 DQL与DML共同构建了多数初级程序员常用的增删改查操作。
而查询是较为特殊的一种 被划分到DQL中。
数据控制功能DCL(Data Control Language)GRANT,REVOKE,COMMIT,ROLLBACK
主要为以上操作 即对数据库安全性完整性等有操作的,可以简单的理解为权限控制等。

⛳️ 1.7 六种关联查询是什么?

交叉连接(CROSS JOIN)
内连接(INNER JOIN)
外连接(LEFT JOIN/RIGHT JOIN)
联合查询(UNION与UNION ALL)
全连接(FULL JOIN)
交叉连接(CROSS JOIN)

⛳️ 1.8 大表数据查询,怎么优化?

优化shema、sql语句+索引;
第二加缓存,memcached, redis;
主从复制,读写分离;
垂直拆分,根据你模块的耦合度,
将一个大的系统分为多个小的系统,也就是分布式系统;
水平切分

⛳️ 1.9 MySQL分库分表的目的是?

分库分表就是为了 解决由于数据量过大而导致数据库性能降低的问题,
将原来独立的数据库拆分成若干数据库组成,将数据大表拆分成若干数据表组成,
使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。

分库分表常用的中间件如下:
在这里插入图片描述

⛳️ 1.10 MySQL主从复制工作原理是?

在主库上把数据更高记录到二进制日志
从库将主库的日志复制到自己的中继日志
从库读取中继日志的事件,将其重放到从库数据中

在这里插入图片描述

⛳️ 1.11 什么是MySQL的GTID?

TID(Global Transaction ID,全局事务ID)是全局事务标识符,
是一个已提交事务的编号,并且是一个全局唯一的编号。
GTID是从MySQL 5.6版本开始在主从复制方面推出的重量级特性。
GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。
GTID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增。
GTID有如下几点作用:
① 根据GTID可以知道事务最初是在哪个实例上提交的。
② GTID的存在方便了Replication的Failover。
因为不用像传统模式复制那样去找master_log_file和master_log_pos。
③ 基于GTID搭建主从复制更加简单,
确保每个事务只会被执行一次。

⛳️ 1.12 在Oracle中,什么是AWR?

AWR(Automatic Workload Repository,自动负载信息库)
是Oracle 10g引入的一个重要组件。
在AWR里面存储着近一段时间内(Oracle 10g默认是7天,Oracle 11g及其之后的版本默认是8天)
数据库活动状态的详细信息。

⛳️ 1.13 Oracle动态监听及静态监听区别

Oracle监听器是一个服务器端程序,
于监听所有来自客户端的请求,并为其提供数据库服务。
请参考博客:https://blog.csdn.net/weixin_41645135/article/details/119966461

🍁2.故障处理类

2.1 ⛳️Oracle 高可用的故障

主库丢失归档DG故障处理的全过程
DG逻辑备库无法同步日志报错ORA-01658处理
DG的failover后如何切换
OGG REPA进程 Error ORA-01031报错处理
OGG启动报错OGG-00014处理

2.2 ⛳️MySQL故障

Mysql root密码忘记,如何找回?
Linux7部署 Mysql初始化报错GLIBC_2.28处理
Windows Installer未启动导致Mysql服务卡死处理
Windows安装Mysql,服务无法启动,错误1053处理
Mysql输出中文显示乱码处理

磁盘块爆了,如何删除MySQL binlog日志?
取决磁盘容量大小和mysql参数设置;
show variables like ‘%expire_logs_days%’;
默认是0,即永不过期
可以通过设置参数全局参数或者启动参数进行修改:
set global expire_logs_days=30;
配置文件添加;
expire_logs_days = 30(iPhone Mini)

🍁3.安装部署类

⛳️ 3.1.Oracle

Oracle RAC集群安装,从零开始
Linux环境Oracle安装大全,呕心狂敲万字
Oracle高可用DG详细配置方法及步骤

⛳️ 3.2 MySQL

MySQL的各种安装方式都给你
MySQL主从复制高可用搭建

⛳️ 3.3 postgreSQL

Linux源码安装PostgreSQL

⛳️ 3.4 Redis

熬夜爆肝总结Liunx环境源码安装Redis
Windows 下安装Redis

🍁4.性能优化类

庖丁解牛,MySQL执行计划Explain的2大核心
程序员放弃写代码,直接用SQL写逻辑,你废吗?
Oracle执行计划查看宝典,超实用
白亿条数据量的Oracle数据库如何优化?

大家点赞、收藏、关注、评论啦 👇🏻👇🏻👇🏻微信公众号👇🏻👇🏻👇🏻

这篇关于2022年春招开始了,万字面试题集萃助你的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/172217

相关文章

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

广东省特殊食品生产试题分享

1.食品污染是指在各种条件下,导致有毒有害物质进入到食物中,造成以下哪项发生转变的过程。(D) A.食品的安全性 B.食品的养分性 C.食品的感官性状 D.以上都是 2.食品污染物是指(D) A.生物性污染物 B.化学性污染物 C.物理性污染物 D.以上都是 3.关于菌落总数的表达,错误的选项是(A) A.反映食品对人体安康的危害程度 B.是食品清洁状态的标志 C.推测食品的耐保藏性 D.指1g检

上海大学《2022年836+915自动控制原理真题及答案》 (完整版)

Part1:2022年上海大学真题题目 学硕836 专硕915 Part2:2022年上海大学真题答案 学硕836 专硕915

【算法 2022】高效有用的机器学习算法和 Python 库

2022年已经到来,在此祝大家虎年大吉!2022年,下面几种机器学习算法和 Python 库将在未来更受欢迎!让我们花个几分钟一起来了解下: 一、CatBoost CatBoost 可能是最新的算法,因为它随着越来越流行而不断更新。这个机器学习算法对于处理分类数据的数据科学家特别有用。您可以考虑 Random Forest 和 XGBoost 算法的优点,CatBoost 具有它们的大部分优点

【时时三省】c语言例题----华为机试题< 查找组成一个偶数最接近的两个素数>

山不在高,有仙则名。水不在深,有龙则灵。                                                                         ----CSDN 时时三省 1,题目 HJ60 查找组成一个偶数最接近的两个素数 描述 任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个

十一 面向对象技术(考点篇)试题

A ;D,D。实际答案:C;D,D 考的很偏了。UML 2.0基础结构的设计目标是定义一个元语言的核心 UML 2.0 【InfrastructureLibrary】,通过对此核心的复用,除了可以定义一个自展的UML元模型,也可以 InfrastructureLibrary UML 定义其他元模型,包括 MOF和CWM(Common Warehouse Model,公共仓库模型)。

【数据分享】2000-2022年我国省市县三级的逐月O3数据(免费获取\excel\shp格式)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2022年的省市县三级的逐月PM2.5数据、2013-2022年的省市县三级的逐月CO数据、2013-2022年的省市县三级的逐月SO2数据、2008-2022年我国省市县三级的逐月NO2数据和2000—2022年的省市县三级的逐月PM10数据(均可查看之前的文章获悉详情)! 本次我们分享的是我国2000—2022年的省

【数据分享】2000-2022年我国省市县三级的逐日O3数据(免费获取\excel\shp格式)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2022年的省市县三级的逐日PM2.5数据、2013-2022年的省市县三级的逐日CO数据、2013-2022年的省市县三级的逐日SO2数据、2008-2022年我国省市县三级的逐日NO2数据和2000-2022年我国省市县三级的逐日PM10数据(均可咨询获取)! 本次我们分享的是我国2000—2022年的省市县三级的逐

Windows 11 下使用 MSVC 2022 编译64位Nginx

一、软件准备 1、安装 Visual Studio 2022 包含单个组件: .NET Framework 4.6.1 目标包.NET Framework 4.6.1 SDKWindows 通用 C 运行时Windows 通用 CRT SDKMSVC v142 - VS 2019 C++ x64/x86 生成工具(v14.26)对 v142 生成工具(14.21)的 C++/CL