1.斐波那契数列。
a = 0
b = 1
while b < 100:
print(b)
a, b = b, a + b
result_list = []
for i in range(11):
if i == 0 or i == 1:
result_list.append(1)
else:
result_list.append(result_list[i-2] + result_list[i-1])
print(result_list)
2.去除list中重复的元素。
lis = [1, 2, 3, 1, 2, 3, 4, 1, 5]
print(list(set(lis)))
集合(set)是一个无序的不重复元素序列
3.查询,替换字符串的内容。
test_str = 'test a test test'
print(test_str.find('b'))
print(test_str.replace('test', 'a'))
find() 如果找到该字符串,返回子字符串的索引值,否则返回-1
replace() 则是返回替换后的字符串。
4.删除一个文件。
import os
os.chdir('/指定目录')
try:
os.remove('指定文件')
except FileNotFoundError as e:
print(e)
5.session,cookie的区别。
存放位置不同:session存放在服务器端,cookie存放在客户端。
安全性不同:可以通过分析或者盗取存放在本地客户端的cookie达到欺骗的效果,session存放在服务器端相对安全。
占用资源不同:因为session存放在服务器中,当访问量上升时回占用服务器性能,而cookie占用的资源则比较少。
6.七层网络协议。
物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
7.用已知的开源软件三台服务器开发一个pv30000的网站。
pv:Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次。
uv:Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。
以下个人见解,面试的时候也没坚持到这里,很遗憾没能获得一点指导意见。
一台服务器用于运行django+uwsgi+nginx的web服务,django用于处理动态请求,nginx用于分发请求实现动静分离。
一台服务器用于运行mysql数据库。
一台服务器用于运行redis缓存,可以把一些访问量比较大,内容更新速率不高的页面放入缓存,减少数据库的压力,此外可以运用rq或celery队列把一些实时性要求不高的任务放入缓存队列中异步完成。。