面试题
梦因you而美
因为坚守,所以花开不败!
展开
-
三次握手、四次挥手
三次握手:(面试回答)(1)首先,必须先由客户端发起连接的请求(2)接下来,服务器接收到请求之后,回复给客户端两个标识,一个syn表示服务器接收到请求,一个ack表示服务器在做准备工作,两个标识一起回复给客户端(3)最后,客户端接收到服务器的回复,客户端准备连接的所有资源,开始进行连接,发送给服务器一个ack表示客户端的连接准备工作已经完成(此时表示客户端和服务器可以相互连接了)...原创 2018-08-04 09:54:37 · 843 阅读 · 0 评论 -
OrderedDict 让字典保持有序
问题我们想创建一个字典,同时当对字典做迭代或系列化操作时,也能控制其中元素的顺序。解决方案要控制字典中元素的顺序,可以使用 collections 模块中的 OrderedDict 类。当对字典做迭代时,它会严格按照元素初始添加的顺序进行。例如:from collections import OrderedDictd = OrderedDict()d['foo'] = 1...原创 2019-08-27 09:44:55 · 1442 阅读 · 0 评论 -
Python中的lambda和apply、map的用法
1 lambdalambda原型为:lambda 参数:操作(参数)lambda函数也叫匿名函数,即没有具体名称的函数,它允许快速定义单行函数,可以用在任何需要函数的地方。这区别于def定义的函数。lambda与def的区别:1)def创建的方法是有名称的,而lambda没有。2)lambda会返回一个函数对象,但这个对象不会赋给一个标识符,而def则会把函数对象赋值给一个变...原创 2019-08-27 09:31:32 · 1839 阅读 · 0 评论 -
Django面试题
目录1 列举Http请求中常见的请求方式2 谈谈你对HTTP协议的认识3 简述MVC模式和MVT模式4 简述Django请求生命周期5 简述什么是FBV和CBV6 谈一谈你对ORM的理解7 rest_framework 认证组件的流程8 什么是中间件并简述其作用9 django 中间件生命周期10 django中怎么写原生SQL11 如何使用django...原创 2019-02-16 14:29:53 · 9861 阅读 · 8 评论 -
AJAX 试什么?如何使用 AJAX?
问题:AJAX 试什么?ajax(异步的 javascript 和 xml) 能够刷新局部网页数据而不是重新加载整个网页。问题:如何使用 AJAX?第一步,创建 xmlhttprequest 对象,var xmlhttp =new XMLHttpRequest();XMLHttpRequest 对象用来和服务器交换数据。第二步,使用 xmlhttprequest 对象的 open(...原创 2018-12-15 15:04:29 · 1067 阅读 · 0 评论 -
简述浏览器通过 WSGI 请求动态资源的过程
问题:简述浏览器通过 WSGI 请求动态资源的过程? 发送 http 请求动态资源给 web 服务器 web 服务器收到请求后通过 WSGI 调用一个属性给应用程序框架 应用程序框架通过引用 WSGI 调用 web 服务器的方法,设置返回的状态和头信息。 调用后返回,此时 web 服务器保存了刚刚设置的信息 应用程序框架查询数据库,生成动态页面的 body 的信息 把生成的 body...原创 2018-12-15 15:01:53 · 1541 阅读 · 0 评论 -
闭包问题
问题:下面这段代码的输出结果将是什么?请解释。def multipliers(): return [lambda x: i * x for i in range(4)]print([m(2) for m in multipliers()])答:上面代码输出的结果是[6, 6, 6, 6] (不是我们想的[0, 2, 4, 6])。上述问题产生的原因是 Python 闭包的延...原创 2018-12-15 14:49:08 · 1062 阅读 · 0 评论 -
小内存读取大数据
问题:4G 内存怎么读取一个 5G 的数据?方法一:可以通过生成器,分多次读取,每次读取数量相对少的数据(比如 500MB)进行处理,处理结束后再读取后面的 500MB 的数据。 def get_lines_1(): my_list = [] with open("file.txt", "r") as f: for eachline in f: ...原创 2018-12-07 11:09:09 · 1999 阅读 · 2 评论 -
linux下的 split 和 cat 命令
split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。选项:-b:值为每一输出档案的大小,单位为 byte。-C:每一输出档中,单行的最大 byte 数。-d:使用数字作为后缀。 -l:值为每一输出档的列数大小。实例首先生成一个大小为10KB的测试文件big.txt:dd if=file.txt bs=1...原创 2018-11-16 18:37:00 · 2162 阅读 · 0 评论 -
python中实现单例模式
单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppCo...原创 2018-11-12 13:46:34 · 1053 阅读 · 0 评论 -
108 道 Python 面试笔试题超强汇总 - 上部
1、一行代码实现1--100之和?利用sum()函数求和sum(range(0, 101))2、如何在一个函数内部修改全局变量?利用global 修改全局变量3、列出5个Python标准库?☞ Python3 标准库概览 os:提供了不少与操作系统相关联的函数sys:通常用于命令行参数re:正则匹配math:数学运算datetime:处理日期时间4...原创 2018-11-09 22:59:55 · 1787 阅读 · 0 评论 -
108 道 Python 面试笔试题超强汇总 - 下部
51、正则匹配,匹配日期2018-03-20?url='https://sycm.taobao.com/bda/tradinganaly/overview/get_summary.json?dateRange=2018-03-20%7C2018-03-20&dateType=recent1&device=1&token=ff25b109b&_=152159561...原创 2018-11-15 19:31:59 · 15851 阅读 · 0 评论 -
面试题 - 2
1、在python中,list、tuple、dict、set有什么区别,主要应用在什么样的场景?答:区别:1、list、tuple是有序列表;dict、set是无序集合;2、list元素可变,tuple元素不可变;3、dict和set的key值不可变,唯一性;4、set只用key没有value;5、set的用途:去重、并集、交集;6、list、tuple:+、*、索...原创 2018-10-10 16:40:15 · 1523 阅读 · 0 评论 -
面试题 - 1
1. 下面代码会输出什么?说明理由。def f(x,L=[]): for i in range(x): L.append(i*i) print(L)f(2)f(3,[3,2,1])f(3)答案: [0, 1][3, 2, 1, 0, 1, 4][0, 1, 0, 1, 4]原因:函数的形参如果设置了默认参数,且默认参数为可变类型,在调...原创 2018-10-10 16:28:28 · 2238 阅读 · 0 评论 -
什么是GIL?GIL对多线程的影响
详解请点击:https://blog.csdn.net/apollo_miracle/article/details/81503703GIL全称Global Interpreter Lock(全局解释器锁)。GIL和Python语言没有任何关系,只是因为历史原因导致在官方推荐的解释器Cpython中遗留的问题。(多线程)每个线程在执行的过程中都需要先获取GIL,保证同一时刻只有一个线程可以执行...原创 2018-08-09 19:07:40 · 1673 阅读 · 0 评论 -
Python 更新字典的三种形式
方法 update 用于对一个字典进行更新。在调用 update 时,可向它提供一个映射、一个由键 - 值对组成的序列(或其他可迭代对象)或关键字参数。映射>>> d = {... 'title': 'Python Web Site',... 'url': 'http://www.python.org'... }>>> x = {'ti...原创 2019-08-27 09:59:23 · 8837 阅读 · 0 评论