【运维心得】原来大厂的面试题不过如此(1)

文章目录

  • 系统相关
  • 数据库相关
  • 其他类型
  • 点评

前面三个系列,给大家分享了运维面试题,本次打算写一个根据大厂的面试题推理公司运维技术水平的文章,仅供参考,如有不恰当之处,请大家多包涵。出了小题目,从面试题,你猜的出是那家大厂的吗?
先看A厂的题目,A厂虽然不是IT行业,但是在BAT面前,绝对也是比得上的,所以其IT的技术要求也是很高的,大家看看下面经过筛选过的题目,你如果都搞得定,建议去A厂拿offer了:

系统相关

  1. LINUX系统软件安装和卸载的常见方法
    答: A.rpm包卸载:rpm -e XXX.rpm (如果想忽略依赖,可加上–nodeps)
    B.yum remove xxx.rpm 这种方法非常不建议使用,卸载过程会将待卸载的软件包所依赖的软件包一并卸载掉,很容易造成系统缺少某些包而崩溃等问题
    C.源码包卸载:cd命令进入编译后的软件目录,即安装时的目录,执行make uninstall命令即可;或者直接删除安装目录
  2. Windows和LINUX常用的远程连接工具有那些
    答: 命令远程连接工具:Xshell、SecureCRT、Putty、SSH Secure Shell Client等图形远程连接工具:xmanager(需安装配置服务并打开177端口)、VNC-Viewer(linux需安装vncserver)、windows自带的远程桌面(linux需安装xrdp和vnc)
  3. 如何修改LINUX的IP地址、网关和主机名
    答:A、修改IP地址、网关:编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改里面IPADDR和GATEWAY内容,没有这两行,则添加即可,添加时确保BOOTPROTO=static,静态地址,如IPADDR=192.168.1.100 GATEWAY=192.168.1.1
    B、修改主机名称:编辑/etc/sysconfig/network,修改里面的HOSTNAME内容,如设置主机名称为mysql,则:HOSTNAME=mysql即可;
  4. 编写脚本实现以下功能;
    每天早上5点开始做备份
    要备份的是/var/mylog里所有文件和目录可以压缩进行备份
    备份可以保存到别一台器上192、168、1、2 FTP帐号 aaa 密码 bbb
    要示每天的备份文件要带有当天的日期标记
[root@haojiu ~]#cat /root/mylogbak.sh
#!/bin/bash
bakdir=mylog
date=date +%F
cd /var
tar zcf ${bakdir}_${date}.tar.gz ${bakdir}
sleep 1
ftp -n <<- EOF
open 192.168.142.129    #远程ftp服务器IP
user aaa bbb
put mylog_*.tar.gz
bye
EOF
rm -rf  mylog_*.tar.gz 

添加crontab:
crontab -l
00 05 * * * /bin/bash /root/mylogbak.sh #每天早上5点开始执行备份脚本

数据库相关

  1. 新安装MYSQL后怎样提升MYSQL的安全级别
    答:A.修改mysql默认端口
    B.linux下可以通过iptables来限制访问mysql端口的IP地址
    C.对所有用户设置较复杂密码并严格指定对应账号的访问IP(可在mysql库中user表中指定用户的访问可访问IP地址)
    D.root特权账号的处理(建议给root账号设置强密码,并指定只允许本地登录)
    E.开启二进制查询日志和慢查询日志
    F.mysql安装目录及数据存储目录权限控制:给mysql安装目录读取权限,给mysql日志和数据所在目录读取和写入权限
    G.删除无用mysql账号和删除无用的数据库(安装好的mysql默认会有个test库,可将其删除)
  2. MYSQL的主从原理,怎么配置文件
    答: Mysql复制的基本原理过程如下:
    (1)Slave上面的IO线程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;
    (2)Master接收到来自Slave的IO线程的请求后,通过负责复制的IO线程根据请求信息读取指定日志指定位置之后的日志信息,返回给Slave端的IO线程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息在Master端binary log文件的名称以及在Binary log中的位置;
    (3)Slave的IO线程收到信息后,将接收到的日志内容依次写入到Slave端的RelayLog文件(mysql-relay-lin.xxxxx)的最末端,并将读取到的Master端的bin-log的文件名和位置记录到master-info文件中,以便在下一次读取的时候能够清楚的告诉master“我需要从某个bin-log的哪个位置开始往后的日志内容,请发给我”
    (4)Slave的SQL线程检测到Relay Log中新增加了内容后,会马上解析该Log文件中的内容成为在Master端真实执行时候的那些可执行的查询或操作语句,并在自身执行那些查询或操作语句,这样,实际上就是在master端和Slave端执行了同样的查询或操作语句,所以两端的数据是完全一样的。
    mysql主从复制的优点
    <1> 如果主服务器出现问题, 可以快速切换到从服务器提供的服务;
    <2> 可以在从服务器上执行查询操作, 降低主服务器的访问压力;
    <3> 可以在从服务器上执行备份, 以避免备份期间影响主服务器的服务。
    为MYSQL添加一个用户
    mysql> grant select,insert,update,delete on book.* to test2@localhost identified by “abc”; #增加test2用户,密码为abc。并只能在localhost这台主机上登录,并且只能访问book这个库中的表,具有查询,插入,更新,删除权限;
    语法:mysql> GRANT <权限> ON <库>.<表> TO ‘用户’@’主机名’ identified by “密码”;
  3. 如何删除已满的数据库日志信息
    答: 在my.cnf中的[mysqld]段下面加入:expire-logs-days=7(设置自动清除7天钱的logs),重启mysql;
    或者登录进mysql,执行:purge binary logs to ‘mysql-bin.000003’; #删除bin-log(删除mysql-bin.000003之前的而没有包含mysql-bin.000003)
    如果是mysql主从环境的,删除日志,语句格式如下:
    PURGE {MASTER | BINARY} LOGS TO ‘log_name’
    PURGE {MASTER | BINARY} LOGS BEFORE ‘date’

其他类型

  1. 如何查看某进程所打开的所有文件
    答:取出该进程的进程号,然后用lsof -p pid查看打开的所有文件
  2. umask 022代表什么意思
    答: 新建文件夹或文件的权限是由所谓基本码减去称之为umask的屏蔽位得到的。
    按照规定:文件夹的基本码是rwxrwxrwx(777),文件的基本码是rw-rw-rw-(666)
    因此新建文件夹是777-022=755(rwxr-xr-x),新建文件是666-022=644(rw-r–r–)。
    综上,umask 022表示默认创建新文件权限为755 也就是 rxwr-xr-x(所有者全部权限,属组读写,其它人读写)
  3. 给一个脚本赋予执行权限的命令及选项
    答: chmod +x a.sh
  4. 删除 /a/b下的所有文件及目录
    答:rm -rf /a/b/*
  5. 如何在windows server 2003/2008上开启支持内存3-4G
    答: 我的电脑上单击鼠标右键,选择属性,点击“高级”标签,点击【启动和故障恢复】下的“设置”按钮,点击“编辑”按钮,将Boot.ini文件的最后一行后面添加一个开关 “/PAE”(不带引号),保存后重新启动机器即可
  6. 请用iptables控制来自192.168.1.2主机的80端口请求
    答: iptables -A INPUT -p tcp -s 192.168.1.2 –dport 80 -j ACCEPT
    (允许来自192.168.1.2这台主机访问80端口)

点评

放在最后,也是个人的看法,不知道这份面试题是不是几年的版本?目前K8S已经风行的时代,这些面试题目真的比较基础了。没有涉及到高并发和负载均衡,也没有涉及到集群配置。感觉A厂的运维水平一般,能够在业内有名气,更多靠的是广告效应吧。
你有什么看法,欢迎留言并分享,谢谢!

你可能感兴趣的:(运维,运维,面试,大厂)