大厂面试必备: ES与MongoDB对比解析及SQL基础

需积分: 5 1 下载量 154 浏览量 更新于2024-08-04 收藏 790KB PDF 举报
"大厂面试题集,包含ES与MongoDB的区别、MySQL的多表查询与单表查询、锁机制、数据库字段长度限制、Shell脚本与Linux命令的使用" 这篇资源提供了针对软件测试面试的一些关键知识点,主要涵盖数据库管理和Linux操作。以下是详细解释: 1. ES(Elasticsearch)与MongoDB的区别: - ES是基于Java开发,而MongoDB使用C++。 - 分片策略:ES采用hash分片,MongoDB支持range和hash。 - 分布式管理:ES的分片和副本配置自动化,MongoDB需要手动配置集群。 - 索引:ES自建倒排索引,适合全文搜索,MongoDB创建B树索引,不支持倒排。 - 检索:ES擅长全文检索,MongoDB索引字段有限制,全文索引效率较低。 - 时效性:ES非实时,可能有数据丢失,MongoDB实时,数据丢失风险小。 - 应用场景:ES适合OLAP(在线分析处理),MongoDB适合OLTP(在线事务处理)。 2. MySQL的多表查询: - 等值连接、非等值连接、内连接、外连接(左外、右外、全外)、自然连接和自身连接是多表查询的主要类型。 - 子查询(嵌套查询)也是常用查询方式,用于在一个查询中嵌入另一个查询。 3. MySQL单表查询: 这种查询是在同一张表中根据特定条件筛选数据。 4. 表锁定: 使用`LOCK TABLES tbl_name READ`可以锁定表,防止其他用户进行写操作。 5. 数据库字段最大字节: MySQL的VARCHAR类型最大可存储65533字节。 6. Shell脚本: Shell脚本是Linux系统的命令集合,学习简单,能快速上手。 7. Awk命令: Awk是Linux中的文本处理工具,常用于数据分析和格式化输出,是运维人员常用的工具。 8. Linux常用命令: - `grep`:文本查找。 - `sed`:文本流编辑器。 - `tail`:查看文件尾部内容。 - `tee`:重定向输出。 - `top`:监控系统资源。 - `free -m`:查看内存使用情况。 - `findstat`:文件查找与统计。 - `vim`:文本编辑器。 - `zip`/`tar`:文件压缩和打包。 - `chmod`:改变文件或目录权限。 这些知识点对于准备软件测试面试的人员至关重要,涵盖了数据库管理和Linux操作的基础知识,对于提升面试竞争力非常有帮助。