小题3:运维开发

1.有100个图片,他的地址是‘http://down.xiaomi.com/img/1.png’……
http://down.xiaomi.com/img/100.png’批量下载这些图片,并找出其中大于500kb的
方法1:

#!/usr/bin/env python
# -*- coding:utf-8 -*- 
# Author: json_steve
# 有100个图片,他的地址是‘http://down.xiaomi.com/img/1.png’......
# 到http://down.xiaomi.com/img/100.png’批量下载这些图片,并找出其中大于500kb的
import requests


def down_img(base_url, offset):
    url = base_url+str(offset) + '.png'
    response = requests.get(url=url)
    data = response.content
    if len(data) > 500*1024:
        with open('gt500' + str(offset), 'wb') as f:
            f.write(data)
    with open('img'+str(offset), 'wb') as f:
        f.write(data)
if __name__ == '__main__':
    base_url = 'http://down.xiaomi.com/img/'
    offset = 1
    while offset <= 100:
        down_img(base_url, offset)
        offset +=1

方法2:

# os.path.getsize(filename)判断文件大小
import os
def down_img(base_url, offset):

    url = base_url+str(offset) + '.png'
    response = requests.get(url=url)
    data = response.content
    with open('img'+str(offset), 'wb') as f:
        f.write(data)
        return 'img'+str(offset)

if __name__ == '__main__':
    gt500file = []
    base_url = 'http://down.xiaomi.com/img/'
    offset = 1
    while offset <= 100:
        name = down_img(base_url, offset)
        offset +=1
        size = os.path.getsize(name)
        if size > 500 *1024:
            print(name)
            gt500file.append(name)
    print(gt500file)

2.一个文本文件info.txt的内容如下,
aa,201
zz,502
bb,1
ee,42
其中第二列是数字,请对该文件按照数字从大到小排列

我写的很麻烦,不知道有没有简单的了

#!/usr/bin/env python
# -*- coding:utf-8 -*- 
# Author: json_steve
# 一个文本文件info.txt的内容如下,
# aa,201
# zz,502
# bb,1
# ee,42
# 其中第二列是数字,请对该文件按照数字从大到小排列
f = open('info.txt', 'r')
string1 = f.read()
print(string1)
f.close()
lines_list = string1.splitlines()
# print(lines_list)
num_list = []
for line in lines_list:
    line_list = line.split(',')
    num = int(line_list[1])
    num_list.append(num)
num_list1 = num_list.copy()
num_list.sort()
num_list.reverse()
index_list = []
for num in num_list:
    index = num_list1.index(num)
    index_list.append(index)
# print(index_list)
new_lines_list = []
for index in index_list:
    line = lines_list[index]
    new_lines_list.append(line)
# print(new_lines_list)
string2 = '\n'.join(new_lines_list)
print(string2)

结果:

aa,201
zz,502
bb,1
ee,42

zz,502
aa,201
ee,42
bb,1

3.查看当前linux服务器是否监听80端口,如果在监听,请找出进程id,并结束进程:
lsof -i:80
kill

4.使用curl或者wget命令获取http服务的header信息:
curl –head http://www.baidu.com

5.前段网页有哪三层构成,作用是什么?
结构层、表示层、行为层
html css js

  1. css 水平居中和垂直居中
    水平 margin: 0 auto;
    调整盒子模型
    (你还是百度吧)

7.负载均衡 你了解的软件 至少三种以上,并评价其优缺点。

LVS、Nginx、HAproxy

8.time sleep 2 输出real user sys 意思与区别?

real sleep这个程序运行耗时为0m2.005s
user 这个时间代表的是sleep运行在用户态的cpu时间
sys 这个时间代表的是sleep运行在核心态的cpu时间。

9.nginx rewrite 规则中 last break redirect permanent 的含义
10.web服务中cookie和session的区别
简述cookies和session的区别 cookies:是针对每一个网站的信息,每一个网站只对应一个,其它网站不能访问,这个文件是保存在客户端的,每次你打相应网站,浏览器会查找这个网站的cookies,如果有就会将这个文件起发送出去。cookies文件的内容大致包函这些信息如用户名,密码,设置等。session: 是针对每一个用户的,只有客户机访问,程序就会为这个客户新增一个session。session里主要保存的是用户的登录信息,操作信息等。这个session在用户访问结束后会被自动消失(如果超时也会)

11.http1.0 http 1.1 下的区别 http 2.0 的主要变化和优势
HTTP 1.0规定浏览器与服务器只保持短暂的连接,
浏览器的每次请求都需要与服务器建立一个TCP连接,
服务器完成请求处理后立即断开TCP连接,
服务器不跟踪每个客户也不记录过去的请求。
HTTP 1.1的持续连接,也需要增加新的请求头来帮助实现,
例如,Connection请求头的值为Keep-Alive时,
客户端通知服务器返回本次请求结果后保持连接;
Connection请求头的值为close时,客户端通知服务器返回本次请求结果后关闭连接。
HTTP 1.1还提供了与身份认证、状态管理和Cache缓存等机制相关的请求头和响应头。
2.HTTP 1.1增加host字段;
3.100(Continue) Status(节约带宽);
4、HTTP/1.1中引入了Chunked transfer-coding来解决上面这个问题,
发送方将消息分割成若干个任意大小的数据块,
每个数据块在发送时都会附上块的长度,
最后用一个零长度的块作为消息结束的标志。
这种方法允许发送方只缓冲消息的一个片段,
避免缓冲整个消息带来的过载。

5、HTTP/1.1在1.0的基础上加入了一些cache的新特性,
当缓存对象的Age超过Expire时变为stale对象,
cache不需要直接抛弃stale对象,
而是与源服务器进行重新激活(revalidation)。

12.web常见的安全问题,不少于三项
13.请举例常见DOS攻击的类型,并介绍原理和防御方法
14.服务器遭到入侵,作为安全管理人员,你应该如何做
15.tcp三次握手
16.发现系统中存在大量TIME_WAIT 分析原因 三条以上的优化建议。
17.比较一下动态语言和静态语言
18.python代码实现删除列表中的重复元素 list(set(alist))
19. 有20台服务器,需要在所有的机器上 echo ‘123’ ,要求同时并行操作5台服务器,请shell写出相关代码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值