*****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 工具是怎么使用的?
- 下载安装包() ;
- 安装(不需要安装-解压即可) nmon_linux_14i.tar.gz
- 把文件传输到 linux 服务器
- 解压 xftp tar -zxvf nmon_linux 14i.tar.gz
- 解压文件中,找到你系统版本对应的运行文件。比如:你们的操作系统 centos6.5 64 位系统, ./nmon_x86_64_centos6 文件
- 运行对应的监控资源的文件 ./nmon_x86_64_centos6 (按字母 c 查看 cpu,m 查看内存,n 查看网络,q 退出)
- 运行命令把数据保存到文档中
- ./nmon_x86_64_sles11 -s1 -c350 -f -m /home/
- -s1 每 1 秒采集一次数据
- -c350 采集 350 次,即为采集十分钟的数据。
- -f 生成的数据文件名中包含文件创建的时间
- -m 生成的数据文件的存放目录
- 这样就会生成一个 nmon 文件,并每十秒更新一次,直到分钟后。
- 生成的文件名如:_090824_1306nmon,””是这台主机的主机名, nmon -h 查看更多帮助信息。
- 把生成 nmon 工具,导出到 windows
- 用 office 运行分析工具
- 生成一个 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.数据库你们如何操作?平时都是什么语句用的比较多?(高频)
2.存储过程是怎么编写的?
delimiter∥create procedure 存储过程名(n int)begindeclare i int default 0;while i <= n doInsert 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.你们用的什么数据库连接工具?(高频)
5.左连接与右连接有什么区别?
- 左连接:以左边的表(employ)为主,显示左边表列的全部数据,如果右边表没有对应的数据, 则为 NULL;
- 右连接:以右边的表(student)为主,显示右边表列的全部数据,如果左边表没有对应的数据, 则为 NULL;
6 索引有哪些,如何建立索引,素引的优缺点?(高频)
7.MySQL数据库具有什么优缺点?(高频)
优点:
1. 易于使用:MySQL数据库易于安装,并且提供了丰富的安装和管理工具,可以让用户轻松地使用和管理MySQL数据库。
2. 性能强大:MySQL数据库使用多种索引技术,可以提供极快的查询速度,提高系统的性能。
3. 跨平台:MySQL数据库支持多种操作系统,可以在Windows、Linux和Mac等操作系统上运行,可以满足不同用户的需求。
4. 免费:MySQL数据库是开源的,完全免费,可以大大降低数据库的使用成本。
缺点:
1. 安全性较低:MySQL数据库的安全性较低,不能有效地防止恶意攻击,且容易受到攻击。
2. 不支持复杂的查询:MySQL数据库不支持复杂的查询,不能有效地处理复杂的数据查询。
3. 不支持分布式:MySQL数据库不支持分布式,不能有效地处理大数据量。
4. 不支持并发操作:MySQL数据库不支持并发操作,不能有效地处理多用户的并发操作。
8.你怎么看关系数据库和非关系型数据库?
关系型数据库的优点:
- 易于维护:使用表结构,格式一致,便于管理和理解;
- 使用方便:支持SQL(结构化查询语言),可以进行复杂查询;
- 支持事务处理:确保数据的完整性和一致性;
- 支持复杂操作:允许在一个表或多个表之间进行复杂的查询。
关系型数据库的缺点:
- 读写性能较差:尤其在处理海量数据时,其高效率的读写性能可能成为限制因素;
- 固定表结构:相比非关系型数据库,灵活度略显不足;
- 高并发读写需求:对于传统的关系型数据库来说,硬盘I/O可能是较大的瓶颈。
非关系型数据库的优点:
- 格式灵活:支持多种数据格式,如文档、图片等,使用灵活,适应性强;
- 速度快:使用硬盘或其他非机械式存储设备,比关系型数据库快得多;
- 高扩展性:可以根据需要进行横向或纵向扩展;
- 成本低:部署简单,多为开源软件。
非关系型数据库的缺点:
- 不支持SQL:这意味着学习和使用的门槛较高;
- 无事务处理:这可能会影响数据的一致性和完整性;
- 数据结构相对复杂:在复杂查询方面,可能不如关系型数据库强大。