面试集锦
Python常见的面试题
1.WEB服务端301和302的区别:
答:302重定向只是暂时的重定向,搜索引擎会抓取新的内容而保留旧的地址,因为服务器返回302,所以,搜索搜索引擎认为新的网址是暂时的。而301重定向是永久的重定向,搜索引擎在抓取新的内容的同时也将旧的网址替换为了重定向之后的网址。
2.wsgi和cgi:
答:cgi就是通用网关协议,wsgi自行了解。实现了wsgi的web服务器就是:uwsgi,对应不同的平台都不同,比如java中的web服务器就是Tomcat。
3.不同的程序可以用不同的服务器?
答:对应不同的微服务来说,我们只要把相应的功能对应使用相应的数据表即可,就可以实现不同程序使用不同的服务器:也就是说对应的服务器中存放着对应功能需要的数据。
4.Python中一切皆对象说法准确吗?
答:准确。列如:def test():
print('xxx')
test.name = 'yyy'
print(test.name)
5.什么是跨域?Django如何解决跨域的?
答:1.通常情况下,A网页要访问B服务器的资源时,不满足以下三点就是跨域问题:1.协议不同 2.端口不同 3.主机不同。
2.Django解决:1.安装django-cors-headers模块 2.在settings中注册app 'corsheaders' 3.然后添加中间 件,'corsheaders.middleware.CorsMiddleware' 4.允许跨域原,CORS_ORIGIN_ALLOW_ALL = True,即可解决。
6.对象中的对象['xx'] 取值,会触发哪个方法;对象['xx'] =10 设置值,会触发哪个方法?
答:分别调用了__getitem__和__steitem__方法。
7.with触发了那个方法?
答:触发了__enter__方法,随后触发__exit__方法。