测试常见面试题之客观题--上岸100%(纯干货分享--手把手教你面试)【3】

本文概述了Linux系统面试中常被问及的问题,包括基础操作(如日志查看、进程监控)、远程连接工具(如Xshell、SSH)、服务器日志管理、资源监控命令(如ps、top、nmon)、MySQL数据库操作(如SQL查询、存储过程)以及关系型与非关系型数据库的区别和优缺点。
摘要由CSDN通过智能技术生成

*****Linux相关的面试题 *****

1.一般你们用Linux 系统操作什么,都是怎么操作的?(高频)

        在测试执行的过程中,我们发现的bug,有时候需要定位 bug,协助开发修复 bug 时需要在 Linux 里通过命令 tail-200 或 tail-500 查看当天的日志最后几行 或 前面几行进行定位 bug;或者通过 tail -f 来查看日志里的关键字 exception(异常) , error(错误)。

        后台程序运行久了会对系统造成卡顿等诸多隐患。我们做性能测试的时候会通过Linux命令:

ps -ef 显示所有进程),top(监控程序执行状况),free -m 显示内存使用情况) 来查看系统资源。

        如果服务器出现故障时我们也会用(service httpd status)看下服务器是否启动,用 ps -ef|grep httpd 查看 apache 进程是否启动,用 ps -ef|grepjava 查看 jdk 进程是否启动。

        如果服务起不来,常见的问题有端口可能被占用,用 netstat- an|grep 8080 查看端口是否已被占用。

        搭建测试环境在线运用的是命令 yum install 进行安装:

                搭建 LAMP 时在线用命令 yum install 安装的是在Linux下安装 apache,php 以及 mysql;

                通过 xshell 来导入需要的环境包来搭建 LTMJ(Tomcat、Mysql、jdk)。

2.你们Linux系统用什么工具远程连接, 你们使用的Linux 版本是多少?(高频)

  •         Xshell,CRT,SSH 用的 ssh 协议连接,端口是 **(根据实际情况即可,没有的话随便想一个也可以,例如:默认端口22)
  •         传输文件用 xftp 工具,占用的端口是 21
  •         Linux 版本 centos7 版本 64 位,或者其他版本搜索一下常用版本。

3.服务器日志你具体是怎么看的?(高频)

        我们根据日志目录找到对应的日志文件,用 tail -200,或者 tail -500 查看文件内容也可以重定向 > 路径 导出来查看。

        如果是系统出现了异常导致的错误,我们跟去查找关键字,比如说 error 或者 exception 等。

        如果是逻辑错误,会把操作对应时间的日志跟对应开发一起去定位 bug。

4 监控资源命令利用到了哪些?

  • 查着进程 ps -ef 过滤添加 grep 来着,利用管道符 | ;例如:ps -ef | grep 进程或端口
  • 杀掉进程 kill 强制杀掉 -9;例如:kill -9 进程
  • 监控资源 top vmstat
  • 磁盘 df -h
  • 内存 free -m

5.nmon 工具是怎么使用的?

  1. 下载安装包()
  2. 安装(不需要安装-解压即可) nmon_linux_14i.tar.gz
    1. 把文件传输到 linux 服务器
    2. 解压 xftp tar -zxvf nmon_linux 14i.tar.gz
    3. 解压文件中,找到你系统版本对应的运行文件。比如:你们的操作系统 centos6.5 64 位系统, ./nmon_x86_64_centos6 文件
    4. 运行对应的监控资源的文件 ./nmon_x86_64_centos6 (按字母 c 查看 cpu,m 查看内存,n 查看网络,q 退出)
  3. 运行命令把数据保存到文档中
    1. ./nmon_x86_64_sles11 -s1 -c350 -f -m /home/
    2. -s1 每 1 秒采集一次数据
    3. -c350 采集 350 次,即为采集十分钟的数据。
    4. -f 生成的数据文件名中包含文件创建的时间
    5. -m 生成的数据文件的存放目录
    6. 这样就会生成一个 nmon 文件,并每十秒更新一次,直到分钟后。
    7. 生成的文件名如:_090824_1306nmon,””是这台主机的主机名, nmon -h 查看更多帮助信息。
  4. 把生成 nmon 工具,导出到 windows
  5. 用 office 运行分析工具
  6. 生成一个 xlsx 文件,就可以了。

6.一般你们的服务器日志放在哪个目录和文件夹?(高频)

在Linux服务器上,常见的日志文件一般存储在以下位置:

1)  /var/log/:

这个目录下包含了系统和服务的大部分日志文件。其中一些常见的日志文件包括:

  • /var/log/messages:系统的整体日志消息,包含内核、服务和其他重要事件的记录。

  • /var/log/syslog:系统日志文件,包含系统程序和服务的消息。

  • /var/log/auth.log:授权和身份验证相关的日志,记录了用户登录、su命令等信息。

  • /var/log/dmesg:内核环缓冲区的消息,包含了开机期间的启动信息。

2)  /var/log/nginx/:

如果您使用Nginx作为Web服务器,相关的日志文件通常存储在这个目录下。

3)  /var/log/apache2/ 或 /var/log/httpd/:

如果您使用Apache作为Web服务器,相关的日志文件通常存储在这个目录下。

4)  /var/log/mysql/ 或 /var/log/mariadb/:

如果您使用MySQL或MariaDB数据库服务器,相关的日志文件通常存储在这个目录下。

请注意,具体的日志文件位置可能因Linux发行版,应用程序和配置而有所不同。在某些情况下,您可能需要查看相应的配置文件来确定日志文件的位置。此外,还可以使用命令如 journalctl 来查看系统日志和服务日志。

*****MySQL数据库*****

1.数据库你们如何操作?平时都是什么语句用的比较多?(高频)

        原来我们数据库用的比较多的,就是数据结果查询。准备一些数据做测试,性能测试造大量数据等。
        测试执行后的结果,我们需要通过 sql 语句 select 来查找数据库对应的表,看看数据库信息跟我们执行的结果是否一致。比如:生成申请借款后,我们会去数据库里面去检查下,数据库中数据是否跟申请订单数据一致。
        我们在测试执行时需要做一些测试数据准备,我们就用 insert into 输入数据  或者  update set 修改数据,我们需要到数据库查看有没有相关记录保存,保存的数据跟我们输入或者修改的记录是否一致。比如:原来我们一个初审功能里面有个分页功能,测试分页功能,需要 100 条数据,我们就通过数据库操作添加 100,可以用 insert into。也可以用脚本实现,或者存储过程。
        还有在做性能测试时,模拟用户场景时需要用到大量的数据,这时就需要我们到数据库中制造大量的数据出来。比如说,测试充值,需要大量用户数据,充值表中需要大量数据。比如 10W 条数据,我们就用存储过程去造。

2.存储过程是怎么编写的?

delimiter∥
create procedure 存储过程名(n int)
begin
declare i int default 0;
while i <= n do
Insert into 表名 values(值 1,值 2...)
set i=i+1;
end while;
end∥
delimiter;
cal 存储过程名(数据量(n));

3.常见的关系型数据库有哪些?(高频)

  • mysql、SQL Server、Oracle、Sybase、DB2 等;
  • MySQL 是开源免费的;
  • SQL Server 是由微软公司开发的关系型数据库管理系统,一般用于 Web 上存储数据;
  • Oracle 数据的大量性数据的保存的持久性。

4.你们用的什么数据库连接工具?(高频)

Navicat,数据库版本 mysql 5.6,端口默认是 3306。

5.左连接与右连接有什么区别?

  • 左连接:以左边的表(employ)为主,显示左边表列的全部数据,如果右边表没有对应的数据, 则为 NULL;
  • 右连接:以右边的表(student)为主,显示右边表列的全部数据,如果左边表没有对应的数据, 则为 NULL;

6 索引有哪些,如何建立索引,素引的优缺点?(高频)

优点:       
         MySQL 索引的建立对手 MySQL 的高效行是很重要的,索引可以大大提高 MySQL 的检素速度。
缺点:
        虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行 INSERT,UPDATE 和 DELETE,因为更新表时,MySQL 不仅要保存数据,还要保存一下索引文件,建立索引会占用磁盘空间的索引文件。
索引份分单列索引和组合索引:
        单列索引:即一个索引只包含单个列,一个表可以有多个单列素引,但这不是组合素引,组合索引,即一个索引包含多个列。
        主键索引:PRIMARY KEY,唯一索引 UNIQUE,普通素引 INDEX。
        组合索引:INDEX,全文索引 FULLTEXT。

7.MySQL数据库具有什么优缺点?(高频)

优点:

1. 易于使用:MySQL数据库易于安装,并且提供了丰富的安装和管理工具,可以让用户轻松地使用和管理MySQL数据库。

2. 性能强大:MySQL数据库使用多种索引技术,可以提供极快的查询速度,提高系统的性能。

3. 跨平台:MySQL数据库支持多种操作系统,可以在Windows、Linux和Mac等操作系统上运行,可以满足不同用户的需求。

4. 免费:MySQL数据库是开源的,完全免费,可以大大降低数据库的使用成本。

缺点:

1. 安全性较低:MySQL数据库的安全性较低,不能有效地防止恶意攻击,且容易受到攻击。

2. 不支持复杂的查询:MySQL数据库不支持复杂的查询,不能有效地处理复杂的数据查询。

3. 不支持分布式:MySQL数据库不支持分布式,不能有效地处理大数据量。

4. 不支持并发操作:MySQL数据库不支持并发操作,不能有效地处理多用户的并发操作。

8.你怎么看关系数据库和非关系型数据库?

关系型数据库的优点:

  1. 易于维护:使用表结构,格式一致,便于管理和理解;
  2. 使用方便:支持SQL(结构化查询语言),可以进行复杂查询;
  3. 支持事务处理:确保数据的完整性和一致性;
  4. 支持复杂操作:允许在一个表或多个表之间进行复杂的查询。

关系型数据库的缺点:

  1. 读写性能较差:尤其在处理海量数据时,其高效率的读写性能可能成为限制因素;
  2. 固定表结构:相比非关系型数据库,灵活度略显不足;
  3. 高并发读写需求:对于传统的关系型数据库来说,硬盘I/O可能是较大的瓶颈。

非关系型数据库的优点:

  1. 格式灵活:支持多种数据格式,如文档、图片等,使用灵活,适应性强;
  2. 速度快:使用硬盘或其他非机械式存储设备,比关系型数据库快得多;
  3. 高扩展性:可以根据需要进行横向或纵向扩展;
  4. 成本低:部署简单,多为开源软件。

非关系型数据库的缺点:

  1. 不支持SQL:这意味着学习和使用的门槛较高;
  2. 无事务处理:这可能会影响数据的一致性和完整性;
  3. 数据结构相对复杂:在复杂查询方面,可能不如关系型数据库强大。

9.建议面试前好好背背语句,大概率给你条件,直接让你说SQL语句!(高频)有时间再更新具体语句,因为语句大概率不会一致,可以举几个例子。

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值