linux基础知识面试题
Linux 开机启动过程
- 主机加电自检,加载 BIOS 硬件信息。
- 读取 MBR 的引导文件(GRUB、LILO)。
- 引导 Linux 内核。
- 运行第一个进程 init (进程号永远为 1 )。
- 进入相应的运行级别。
- 运行终端,输入用户名和密码。
Linux系统缺省的运行级别
- init0 关机。
- init1 单机用户模式。
- init2 字符界面的多用户模式(不支持网络)。
- init3 字符界面的多用户模式。
- init4 未分配使用。
- init5 图形界面的多用户模式。
- init6 重启。
Linux 使用的进程间通信方式
- 管道(pipe)、流管道(s_pipe)、有名管道(FIFO)。
- 信号(signal) 。
- 消息队列。
- 共享内存。
- 信号量。
- 套接字(socket) 。
什么是交换空间
交换空间是Linux使用的一定空间,用于临时保存一些并发运行的程序。当RAM没有足够的内存来容纳正在执行的所有程序时,就会发生这种情况。
什么是LILO?
LILO是Linux的引导加载程序。它主要用于将Linux操作系统加载到主内存中,以便它可以开始运行。
一台 Linux 系统初始化环境后需要做一些什么安全工作
- 添加普通用户登陆,禁止 root 用户登陆,更改 SSH 端口号。
修改 SSH 端口不一定绝对哈。当然,如果要暴露在外网,建议改下。l - 服务器使用密钥登陆,禁止密码登陆。
- 开启防火墙,关闭 SElinux ,根据业务需求设置相应的防火墙规则。
- 装 fail2ban 这种防止 SSH 暴力破击的软件。
- 设置只允许公司办公网出口 IP 能登陆服务器(看公司实际需要) 也可以安装 VPN 等软件,只允许连接 VPN 到服务器上。
- 修改历史命令记录的条数为 10 条。
- 只允许有需要的服务器可以访问外网,其它全部禁止。
请问当用户反馈网站访问慢,你会如何处理?
有哪些方面的因素会导致网站网站访问慢?
1、服务器出口带宽不够用
- 本身服务器购买的出口带宽比较小。一旦并发量大的话,就会造成分给每个用户的出口带宽就小,访问速度自然就会慢。
- 跨运营商网络导致带宽缩减。例如,公司网站放在电信的网络上,那么客户这边对接是长城宽带或联通,这也可能导致带宽的缩减。
2、服务器负载过大,导致响应不过来
可以从两个方面入手分析:
- 分析系统负载,使用 w 命令或者 uptime 命令查看系统负载。如果负载很高,则使用top 命令查看 CPU ,MEM 等占用情况,要么是 CPU 繁忙,要么是内存不够。
- 如果这二者都正常,再去使用 sar 命令分析网卡流量,分析是不是遭到了攻击。一旦分析出问题的原因,采取对应的措施解决,如决定要不要杀死一些进程,或者禁止一些访问等。
3、数据库瓶颈
- 如果慢查询比较多。那么就要开发人员或 DBA 协助进行 SQL 语句的优化。
- 如果数据库响应慢,考虑可以加一个数据库缓存,如 Redis 等。然后,也可以搭建MySQL 主从,一台 MySQL 服务器负责写,其他几台从数据库负责读。
4、网站开发代码没有优化好
例如 SQL 语句没有优化,导致数据库读写相当耗时。
针对网站访问慢,怎么去排查?
-
首先要确定是用户端还是服务端的问题。当接到用户反馈访问慢,那边自己立即访问网站看看,如果自己这边访问快,基本断定是用户端问题,就需要耐心跟客户解释,协助客户解决问题。不要上来就看服务端的问题。一定要从源头开始,逐步逐步往下。
-
如果访问也慢,那么可以利用浏览器的调试功能,看看加载那一项数据消耗时间过多,是图片加载慢,还是某些数据加载慢。
-
针对服务器负载情况。查看服务器硬件(网络、CPU、内存)的消耗情况。如果是购买的云主机,比如阿里云,可以登录阿里云平台提供各方面的监控,比如 CPU、内存、带宽的使用情况。
-
如果发现硬件资源消耗都不高,那么就需要通过查日志,比如看看 MySQL慢查询的日志,看看是不是某条 SQL 语句查询慢,导致网站访问慢。
怎么去解决?
- 如果是出口带宽问题,那么久申请加大出口带宽。
- 如果慢查询比较多,那么就要开发人员或 DBA 协助进行 SQL 语句的优化。
- 如果数据库响应慢,考虑可以加一个数据库缓存,如 Redis 等等。然后也可以搭建MySQL 主从,一台 MySQL 服务器负责写,其他几台从数据库负责读。
- 申请购买 CDN 服务,加载用户的访问。
- 如果访问还比较慢,那就需要从整体架构上进行优化咯。做到专角色专用,多台服务器提供同一个服务。
本文来自博客园,作者:厚礼蝎,转载请注明原文链接:https://www.cnblogs.com/guangdelw/p/17175749.html