Shell 企业29道面试题 [转]

企业面试题1:(生产实战案例):监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员。提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:

阶段1:开发一个守护进程脚本每30秒实现检测一次。
阶段2:如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误。
阶段3:请使用数组技术实现上述脚本(获取主从判断及错误号部分)

[root@oldboy~]# mysql -uroot -p'oldboy' -S /data/3307/mysql.sock -e "show slavestatus\G;"
*************************** 1. row ***************************
               Slave_IO_State:Waiting for master to send event
                  Master_Host:10.0.0.179   #当前的mysql master服务器主机
                  Master_User: rep
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File:mysql-bin.000013
         Read_Master_Log_Pos: 502547
               Relay_Log_File:relay-bin.000013
                Relay_Log_Pos:251
        Relay_Master_Log_File:mysql-bin.000013
             Slave_IO_Running:Yes
           Slave_SQL_Running: Yes
              Replicate_Do_DB: 
         Replicate_Ignore_DB: mysql
          Replicate_Do_Table: 
      Replicate_Ignore_Table: 
     Replicate_Wild_Do_Table: 
 Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
         Exec_Master_Log_Pos: 502547
              Relay_Log_Space:502986
              Until_Condition:None
               Until_Log_File: 
                Until_Log_Pos: 0
          Master_SSL_Allowed: No
          Master_SSL_CA_File: 
          Master_SSL_CA_Path: 
              Master_SSL_Cert: 
           Master_SSL_Cipher: 
               Master_SSL_Key: 
       Seconds_Behind_Master: 0   #和主库比同步延迟的秒数,这个参数很重要
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error:

企业面试题2:

使用for循环在/oldboy目录下通过随机小写10个字母加固定字符串oldboy批量创建10个html文件,名称例如为:

[root@oldboy oldboy]# sh /server/scripts/oldboy.sh
[root@oldboy oldboy]# ls 
coaolvajcq_oldboy.html  qnvuxvicni_oldboy.html  vioesjmcbu_oldboy.html
gmkhrancxh_oldboy.html  tmdjormaxr_oldboy.html  wzewnojiwe_oldboy.html
jdxexendbe_oldboy.html  ugaywanjlm_oldboy.html  xzzruhdzda_oldboy.html
qcawgsrtkp_oldboy.html  vfrphtqjpc_oldboy.html


企业面试题3:请用至少两种方法实现!

将以上文件名中的oldboy全部改成oldgirl(用for循环实现),并且html改成大写。

 

 

企业面试题4:

批量创建10个系统帐号oldboy01-oldboy10并设置密码(密码为随机8位字符串)。

企业面试题5:

写一个脚本,实现判断10.0.0.0/24网络里,当前在线用户的IP有哪些(方法有很多)

企业实战题6:请用至少两种方法实现!

写一个脚本解决DOS攻击生产案例
提示:根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频率每隔3分钟。防火墙命令为:iptables -I INPUT -s 10.0.1.10 -j DROP。

企业实战题7:

开发mysql多实例启动脚本:
已知mysql多实例启动命令为:mysqld_safe–defaults-file=/data/3306/my.cnf &
停止命令为:mysqladmin -u root -poldboy123 -S /data/3306/mysql.sockshutdown
请完成mysql多实例启动启动脚本的编写
要求:用函数,case语句、if语句等实现。

企业实战题8:如何实现对MySQL数据库进行分库备份,请用脚本实现

企业实战题9:如何实现对MySQL数据库进行分库加分表备份,请用脚本实现

企业面试题10:请用至少两种方法实现!

bash for循环打印下面这句话中字母数不大于6的单词(昆仑万维面试题)。
I am oldboy teacher welcome to oldboy training class.



企业面试题11:

开发shell脚本分别实现以脚本传参以及read读入的方式比较2个整数大小。以屏幕输出的方式提醒用户比较结果。注意:一共是开发2个脚本。当用脚本传参以及read读入的方式需要对变量是否为数字、并且传参个数做判断。 

企业面试题12:打印选择菜单,一键安装Web服务:

[root@oldboyscripts]# sh menu.sh
    1.[install lamp]
    2.[install lnmp]
    3.[exit]
    pls input the num you want:

要求:

1、当用户输入1时,输出“startinstalling lamp.”然后执行/server/scripts/lamp.sh,脚本内容输出“lampis installed”后退出脚本;

2、当用户输入2时,输出“startinstalling lnmp.”然后执行/server/scripts/lnmp.sh输出“lnmpis installed”后退出脚本;

3、当输入3时,退出当前菜单及脚本;

4、当输入任何其它字符,给出提示“Input error”后退出脚本。

5、要对执行的脚本进行相关条件判断,例如:脚本是否存在,是否可执行等。 


企业面试题13:

1、监控web服务是否正常,不低于3种监控策略。

2、监控db服务是否正常,不低于3种监控策略。
要求间隔1分钟,持续监控。

 

企业面试题14:监控memcache服务是否正常,模拟用户(web客户端)检测。

使用nc命令加上set/get来模拟检测,以及监控响应时间及命中率。


企业面试题15

面试及实战考试题:监控web站点目录(/var/html/www)下所有文件是否被恶意篡改(文件内容被改了),如果有就打印改动的文件名(发邮件),定时任务每3分钟执行一次(10分钟时间完成)。
 

企业面试题16:企业案例:写网络服务独立进程模式下rsync的系统启动脚本

例如:/etc/init.d/rsyncd{start|stop|restart} 。
要求:

1.要使用系统函数库技巧。
2.要用函数,不能一坨SHI的方式。
3.可被chkconfig管理。

 

企业面试题17:老男孩教育天津项目学生实践抓阄题目:

好消息,老男孩培训学生外出企业项目实践机会(第6次)来了(本月中旬),但是,名额有限,队员限3人(班长带队)。

因此需要挑选学生,因此需要一个抓阄的程序:

要求:

1、执行脚本后,想去的同学输入英文名字全拼,产生随机数01-99之间的数字,数字越大就去参加项目实践,前面已经抓到的数字,下次不能在出现相同数字。

2、第一个输入名字后,屏幕输出信息,并将名字和数字记录到文件里,程序不能退出继续等待别的学生输入
 

 

企业面试题18:老男孩linux企业面试题:

已知下面的字符串是通过RANDOM随机数变量md5sum|cut-c 1-8截取后的结果,请破解这些字符串对应的md5sum前的RANDOM对应数字?

21029299

00205d1c

a3da1677

1f6d12dd

890684b

 

 

企业面试题19:批量检查多个网站地址是否正常 

要求:shell数组方法实现,检测策略尽量模拟用户访问思路

http://www.etiantian.org

http://www.taobao.com

http://oldboy.blog.51cto.com

http://10.0.0.7 


企业面试题20(中企动力)::用shell处理以下内容

1、按单词出现频率降序排序!

2、按字母出现频率降序排序!

the
squid project provides a number of resources toassist users
design,implement and support squid installations. Please browsethe
documentation and support sections for more infomation

企业面试题21:输出正方形、等腰三角形、直角梯形,见如下内容

http://oldboy.blog.51cto.com/2561410/1718607


企业面试题22:开发通过web界面展示监控Nginx代理节点状态,效果图如下。

wKioL1Z2j3nCbtimAADO--T7ahw342.jpg

lvs+keepalived集群部分Shell企业案例:

企业面试题23、【LVS主节点】手工开发ipvsadm管理lvs的脚本ip_vs

   实现:/etc/init.d/lvs {start|stop|restart}

企业面试题24、【LVS主节点】模拟keepalived健康检查功能管理LVS节点,

当节点挂掉(检测2次,间隔2秒)从服务器池中剔除,好了(检测2次,间隔2秒)加进来

提示:利用ipvsadm命令实现添加和减少LVS节点。

企业面试题25、【LVS客户端节点】开发LVS客户端设置VIP以及抑制ARP的管理脚本

    实现:/etc/init.d/lvsclient {start|stop|restart}

企业面试题26、【LVS备节点】模拟keepalved vrrp功能,监听主节点,如果主节点不可访问则备节点启动并配置LVS实现接管主节点的资源提供服务(提醒:注意ARP缓存) 

企业面试题27、请用shell或Python编写一个正方形(oldboy_square.sh),接收用户输入的数字。

例如:

[root@oldboy ~]# sh oldboy_square1.sh 
Please Enter a number:5
++++++++++
++++++++++
++++++++++
++++++++++
++++++++++
[root@oldboy ~]# sh oldboy_square2.sh  
Please Enter a number:9
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■
■■■■■■■■■

企业面试题28、请用shell或Python编写一个等腰三角形(oldboy2_triangle.sh),接收用户输入的数字。

例如:

[root@oldboy ~]# sh oldboy2_triangle.sh 
Please Enter a number:5
    *
   ***
  *****
 *******
*********
[root@oldboy ~]# sh oldboy2_triangle.sh 
Please Enter a number:8
       *
      ***
     *****
    *******
   *********
  ***********
 *************
***************

企业面试题29、请用shell或Python编写一个画直角梯形程序(oldboy4.sh),接收用户输入的参数n,m

例如:

[root@oldboy ~]# sh oldboy4.sh 4 6
****
*****
******

27,28,29三道题参考http://oldboy.blog.51cto.com/2561410/1718607

检查标准:

1、查看实现的脚本,并询问脚本中的设计思想及实现流程。

2、必要情况下,面试官可以看着你要求你重新开发出来。

3、检查人:班长,组长,老男孩老师,助教。

本文出自 “老男孩linux培训” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/1632876

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sqlserver查询补全时间_mssql 按日期分组(group by)查询统计的时候,没有数据补0的解决办法...

摘要:下文讲述一次报表制作的需求,需制作一个月的销量的数据汇总,如果其中某一天没有数据,那么就补0处理例:/*统计2018-4月份的销量统计,无数据的天补0*/---建立基础数据create table saleInfo(dateInfo datetime,qty int )goinse…

ASP.NET MVC 4 小项目开发总结

项目很小,就是一个企业站的前后台,主要包括新闻模块、产品模块、视频模块、留言。没有什么技术上的难点,大部分就是CRUD操作。开始之前评估开发时间为4天,实际coding时间为3天,debug时间为2天,关于debug时间…

深度优化LNMP之Nginx [2]

配置Nginx gzip 压缩实现性能优化 1.Nginx gzip压缩功能介绍 Nginx gzuo压缩模块提供了压缩文件内容的功能,用户请求的内容在发送出用客户端之前,Nginx服务器会根据一些具体的策略实施压缩,以节约网站出口带宽,同时加快了数据传…

go int 转切片_一文掌握GO语言实战技能(二)

Go 数组Go 切片Go 变量和内存地址Go Map 类型Go 面向对象编程Go 方法的定义GO 数组数组是同一类型的元素集合。Go中的数组下标从0开始,因此长度为n的数组下标范围是[0, n-1]。整数数组中元素默认初始化为0,字符串数组中的元素默认初始化为""。…

Swing

1 历史 1.1 SUN Jdk1.1 AWT ,控件很少,不方便应用程序开发 1.2 java 1.2 Swing 基于 Awt 的绘图功能能重绘的界面组件,提供了极其吩咐的控件 a:性能慢   b:结构优秀(mvc) c:实际应用很少 1.3 …

Shell 脚本调试

Shell 脚本调试 1、学习脚本开发规范2、好的编码习惯提示:脚本不是你写的或者windows下开发的脚本,你检查脚本明明没有问题,但就是执行出现错误,要想到执行dos2unix格式化下。好习惯:每次写脚本都执行dos2unix格式化下…

设置固定长度_加气块砌筑(构造柱、圈梁设置)技术交底21条

墙体砌筑技术交底我给下发21条,内容不全,砌筑的墙体观感差,欢迎大家提出宝贵意见1、填充墙的材料、平面位置尺寸见建筑施工图纸,不得随意更改。2、当首层填充墙下无基础梁或结构梁板时,墙下应做基础,基础作…

网页设计表格单元格线条及边框设置

本文关键字:网页,表格,设置 灵活的在网页设计中使用单元格线条及边框,可以大幅提高网页开发的效率,下面我们就来实际分析一下。 图1 网页中的单元格线条示范 其实上面的三个表格都有三行三列,隐藏分隔线的诀窍在于rules&#…

深度优化LNMP之MySQL

MySQL数据库优化框架体系 1.硬件层面优化 2.操作系统层面优化 3.MySQL数据库层面优化 4.MySQL安全优化 5.网站集群架构上的优化 6.MySQL流程、制度控制优化 硬件层面优化 1、数据库物理机采购 CPU: 64位CPU,一台机器2-16颗CPU。至少2-4颗&#xff0…

element vue 纵向滑动条_Vue 部分

1、ES6Vue :1、Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的…

C#集合通论

前言 写这篇文章的最初动力是来自于一次笔试经历。有一道笔试题大概是这样的:程序使用一个txt文件来存储操作记录。存储记录是多行字符串,每一行代表一次操作记录,格式如下:用户名操作事项名称操作时间。现在假设这个txt文件已经非…

Shell 脚本案例实战 [4]

for循环结构for 循环结构语句1.for循环结构:语法:for 变量名 in 变量取值列表do指令…done提示:在此结构中“in 变量取值列表”可省略,省略时相当于in “$”,使用for i 就相当于使用for i in “$”2.C语言型for循环结构…

python后台截屏_Python实现屏幕截图

之前使用Python构建了一个图片转文字小工具,但是使用的是使用系统自带的截图工具然后监听目录变化来实现的。接下来我想直接使用Python来构建一个截图工具,这样就可以结合转换工具使用。构建图形界面本文使用Python自带的GUI库Tkinter来构建图形界面。Tk…

ORACLE 进入sqlplus的协议适配器错误

ORACLE 进入sqlplus的输入用户名密码的时候提示: ORA-12560: TNS: 协议适配器错误 解决方案是在 我的电脑,属性--高级--环境变量---系统变量--新建,变量名oracle_sid,变量值XXXX,XXXX就是你的databaseSID 在网络上查找了一下,似乎…

深度优化LNMP之PHP

PHP缓存加速介绍1.操作码介绍及缓存原理当客户端请求一个php程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码文件(Operate Code,opcode)该文件是执行PHP代码后的一种二进制表示形式。默认情况下,这个…

pythonenumerate函数_enumerate,enumerate函数的使用方法

这需要使用到度enumitem宏包,这是一个非常有用的宏包,你可以去阅读一下它的文档。它对于自定义编号环境有问很大的帮助。\documentclass[UTF8]{ctexrep}\usepackage{enumitem}\begin{document}Thisisatextfortestingtheindentofenumerateenviornment.Ple…

链接文件

ln [-sf] 原文件 目标文件 如果ln不加任何参数就进行链接,那么就是硬链接,-s是符号链接 -f 如果目标文件存在,就主动将目标文件直接删除后在建立转载于:https://www.cnblogs.com/seasonsstory/p/3152816.html

8g ubuntu 树莓派4b_树莓派4B安装 Ubuntu 20.04 LTS

硬件:Raspberry Pi 4B(4g或8g版本)系统:Ubuntu 20.04 LTS官网:https://ubuntu.com/download/iot/raspberry-piPC:win10相关工具:sd card formatter 5.0.1win32diskManager 1.0下载系统镜像使用sd card formatter格式化…

data矩阵poj 2778 DNA Sequence

最近研究data矩阵,稍微总结一下,以后继续补充: ac自动机处理字符串,dp计算谜底,用矩阵来减速 每日一道理 巴尔扎克说过“不幸,是天才的进升阶梯,信徒的洗礼之水,弱者的无底深渊”。风…

PHP服务Fcgi进程及PHP解析优化

1、PHP引擎缓存加速常见四种软件:1.eAccelerator2.Zendcache3.xcache4.apc5.zendopcache php5.5自带2、使用tmpfs作为缓存加速缓存的文件目录 [rootweb02 ~]# mount -t tmpfs tmpfs /dev/shm -o size256m[rootweb02 ~]# mount -t tmpfs /dev/shm/ /tmp/eaccelerator…