MYSQL 面试题二:SELECT * 和 SELECT 全部字段的优缺点

选择:
优点:输入方式简单,适应表结构变化。

缺点:网络传输开销大、内存消耗大、索引使用不足、可读性差、表结构变更风险大。

清楚地插入字段名称:
优点:提高性能,增强可维护性。

缺点:打字繁琐,对表结构变化的适应性差。

不要修改这些虚构的名称,只需明确列出字段名称即可。

MySQL面试题-数据库基础知识

在上周的面试中,我被问到了MySQL的基础知识。

1 .为什么应该使用数据库? 将数据存储在内存中:速度快,但断电后会丢失。
将数据存储在文件中:不怕丢失,但是检查很复杂,必须自己写代码。
数据盘点:快速查看并确保数据不丢失。
SQL语句方便查看、修改、添加、删除。

2 什么是 SQL? SQL是数据库查询命令。
可以插入数据、删除数据、修改数据、检查数据。
您还可以创建表、删除表、修改表等。

3 什么是 MySQL? MySQL 是一个数据库系统。
最常用的之一。
用于存储网站等上的数据。
它是免费的,您可以更改代码。

4 三种主要的数据库模型是什么? 第一范式:一行中不能有重复的数据。
第二范式:非主键列必须完全依赖于主键。
第三范式:非主键列不能依赖于其他非主键列。
这减少了数据冗余。

5 MySQL权限表是什么? 用户表:谁可以连接到服务器。
db 表:谁可以在哪个库中做什么。
table_priv表:谁可以在哪个表中执行什么操作。
columns_priv 表:谁可以在哪一列中执行什么操作。
主机表:哪些计算机可以连接到服务器。

6 MySQL binlog 有几种格式? 语句格式:记录执行的SQL语句。
行格式:记录每行的更改内容。
混合格式:statement 用于常规格式,row 用于复杂格式。
行格式记录更多,但更安全。

我不确定这部分。
没关系。

hadoop常见的面试题

大家好,说到Hadoop,这是大数据领域的老牌子了。
我在问答论坛混了这么多年,看到了很多关于Hadoop的问题。
下面我就来说说这些常见的面试问题,和大家分享一下我的理解和经验。

首先什么是Hadoop?简单来说,它是一个旨在处理海量数据的开源框架。
之前在一个大数据项目中使用Hadoop处理过几百GB的数据,对技术来说是一次真正的考验。
Hadoop的核心组件是HDFS和MapReduce。

HDFS,这个东西就像一个大的分布式硬盘。
它将数据分成许多小块,然后存储在多个节点上。
这样,即使特定节点出现问题,数据的完整性也会受到影响。
记得有一次我们项目的一个节点突然挂掉了,但是由于HDFS的设计,数据还是安全的。

我们来谈谈MapReduce,这个东西有点像大数据处理的大杀器。
它将一个大数据任务拆分为许多小任务,然后并行处理它们,最后合并结果。
我过去曾使用MapReduce处理用户数据并过滤掉1 8 岁以上的用户。
效率令人难以置信。

Hadoop集群中,很多进程已经启动。
例如,NameNode是HDFS的大脑,负责管理文件和数据的存储位置。
还有SecondaryNameNode,它是备份NameNode,防止数据丢失。

Hadoop还有几个调度程序,例如先进先出调度程序,它按照任务提交的顺序执行任务。
还有CapacityScheduler和FairScheduler,它们都根据任务的优先级和资源使用情况来调度任务。

Hadoop的Map-Reduce编程模型,流程如下:首先执行map阶段,将数据转换为键值对,然后分区分区,排序排序和分组,最后结合reduce和reduce阶段。

Flume是一个数据导入工具,可以将实时数据导入到HDFS中。
HDFS的架构简单来说就是由NameNode和DataNode组成。
NameNode负责管理元数据,DataNode负责存储数据。

Map-Reduce程序在运行时可能会遇到问题,例如数据偏差。
此时,您可以自定义分区规则,或者使用地图页面的Combiner进行预处理。

Hive,这个东西有点像数据库,不过它存储了与HDFS的映射关系,可以通过HQL来操作数据。

Sqoop,这个东西是用来在Hadoop和关系数据库之间传输数据的。
它支持数据的导入和导出。

Hadoop性能调优主要涉及调整系统配置和优化压缩。

SparkStreaming和Storm,都是实时计算框架,但SparkStreaming具有更短的延迟和更高的吞吐量。

ALS算法是推荐系统中常用的算法,通过分解用户和产品的特征矩阵来预测评分。

K-Means Algorithm,这个东西是一种聚类算法,通过计算数据点到中心的距离来划分类别。

Canopy 算法,这个东西是 K-Means 算法的变种,通过阈值来划分数据。

朴素贝叶斯分类算法,这个东西是基于概率的。
它通过计算特征属性的概率来确定类别。

Apriori算法是一种关联规则挖掘算法,通过统计支持项的数量来发现频繁项集。

以上是我对Hadoop相关面试题的一些理解和经验。
希望能够对大家有所帮助。

oracle面试题:在一个上亿条数据的表中,批量插入大量数据,并根据内容重新定义索引,怎么做最有效率

我以前也遇到过你的问题。
我记得有一次帮助一家数据备份公司。
当时我们的项目数据量最大,有1 亿多条记录。
我想,如果每个数据处理需要一秒钟,那么处理完需要两年的时间。
然后我们团队就很惊讶,认为这个数据库两年之内就不能使用了。
这怎么可能?
然后我就想到了,就像你说的那样,用时间来换取空间。
我想知道我是否可以做一些像新浪微博这样的事情。
我不会每次都在用户流中更新日志,而是等到用户较少的时候,比如晚上,再统一更新。
或者当用户登录时,一条更新语句会被执行多次。
虽然这不是很真实的时间,但至少不会浪费太多时间。

但归根结底,鱼和熊掌不可兼得。
空间和时间之间总是存在着相互作用。
我前面提到的案例,一家电商公司,需要实时处理大量的用户行为,但又不能花费太多的时间。
最后,他们实施了动态扩展策略,根据业务需求实时调整处理速度和存储空间。

我没接触过某个领域,所以不敢乱说,但是我觉得解决这类问题的关键还是要看具体的业务,看看哪一方面让你更有价值。