python_interview(面试试题)
Python铫的当当
python
展开
-
python-Interview(面试-试题)-Web-02
4、Flask 项目中如何实现 session 信息的写入?Flask 中有三个 session:第一个:数据库中的 session,例如:db.session.add()第二个:在 flask_session 扩展中的 session,使用:from flask_session importSession,使用第三方扩展的 session 可以把信息存储在服务器中,客户端浏览器中只存储 s...原创 2019-11-03 08:48:01 · 155 阅读 · 0 评论 -
python-Interview(面试-试题)-Web-01
1、Flask 中正则 URL 的实现?@app.route(’’)中 URL 显式支持 string、int、float、path uuid any 6 种类型,隐式支持正则。第一步:写正则类,继承 BaseConverter,将匹配到的值设置为 regex 的值。class RegexUrl(BaseConverter): def __init__(self, url_map, ...原创 2019-11-02 08:43:20 · 120 阅读 · 0 评论 -
python-Interview(面试-试题)-前端-01
1、什么是 CSS 初始化?有什么好处?CSS 初始化是指重设浏览器的样式。不同的浏览器默认的样式可能不尽相同,如果没对 CSS 初始化往往会出现浏览器之间的页面差异。好处:能够统一标签在各大主流浏览器中的默认样式,使得我们开发网页内容时更加方便简洁,同时减少 CSS 代码量,节约网页下载时间。2、简述浮动的特征和清除浮动的方法?浮动的特征:浮动元素有左浮动(float:left)和右...原创 2019-11-01 08:53:53 · 111 阅读 · 0 评论 -
python-Interview(面试-试题)-网络编程-05
13、HTTP 请求方法都有什么?根据 HTTP 标准,HTTP 请求可以使用多种请求方法。HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。HTTP1.1 新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。GET 请求指定的页面信息,并返回实体主体。HEAD 类似于 get 请求,只不过返回的响应中没有...原创 2019-10-30 08:47:05 · 113 阅读 · 0 评论 -
python-Interview(面试-试题)-网络编程-04
9、说一下什么是 tcp 的 2MSL?主动发送 fin 关闭的一方,在 4 次挥手最后一次要等待一段时间我们称这段时间为 2MSLTIME_WAIT 状态的存在有两个理由:让 4 次挥手关闭流程更加可靠防止丢包后对后续新建的正常连接的传输造成破坏10、为什么客户端在 TIME-WAIT 状态必须等待 2MSL 的时间?为了保证客户端发送的最后一个 ACK 报文段能够达到服务器。 这...原创 2019-10-29 08:47:59 · 138 阅读 · 0 评论 -
python-Interview(面试-试题)-网络编程-03
6、cookie 和 session 的区别?cookie 数据存放在客户的浏览器上,session 数据放在服务器上。cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗考虑到安全应当使用 session。session 会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能考虑到减轻服务器性能方面,应当使用 cookie。单个 ...原创 2019-10-28 09:21:35 · 253 阅读 · 0 评论 -
python-Interview(面试-试题)-网络编程-02
4、描述用浏览器访问 www.baidu.com 的过程先要解析出 baidu.com 对应的 ip 地址要先使用 arp 获取默认网关的 mac 地址组织数据发送给默认网关(ip 还是 dns 服务器的 ip,但是 mac 地址是默认网关的 mac 地址)默认网关拥有转发数据的能力,把数据转发给路由器路由器根据自己的路由协议,来选择一个合适的较快的路径转发数据给目的网关目的网关(dn...原创 2019-10-27 08:48:27 · 219 阅读 · 0 评论 -
python-Interview(面试-试题)-网络编程-01
1、怎么实现强行关闭客户端和服务器之间的连接?在 socket 通信过程中不断循环检测一个全局变量(开关标记变量),一旦标记变量变为关闭,则 调用 socket 的 close 方法,循环结束,从而达到关闭连接的目的。2、简述 TCP 和 UDP 的区别以及优缺点?UDP 是面向无连接的通讯协议,UDP 数据包括目的端口号和源端口号信息。优点:UDP 速度快、操作简单、要求系统资源较少,由...原创 2019-10-26 09:03:06 · 150 阅读 · 0 评论 -
python-Interview(面试-试题)-系统编程-02
6、什么是僵尸进程和孤儿进程?怎么避免僵尸进程?孤儿进程:父进程退出,子进程还在运行的这些子进程都是孤儿进程,孤儿进程将被 init 进程(进程号为 1)所收养,并由 init 进程对它们完成状态收集工作。僵尸进程:进程使用 fork 创建子进程,如果子进程退出,而父进程并没有调用 wait 或 waitpid 获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中的这些进程是僵尸进程...原创 2019-10-25 08:40:11 · 143 阅读 · 0 评论 -
python-Interview(面试-试题)-系统编程-01
1、谈谈你对多进程,多线程,以及协程的理解,项目是否用?进程:一个运行的程序(代码)就是一个进程,没有运行的代码叫程序,进程是系统资源分配的最小单位,进程拥有自己独立的内存空间,所以进程间数据不共享,开销大。线程: 调度执行的最小单位,也叫执行路径,不能独立存在,依赖进程存在一个进程至少有一个线程,叫主线程,而多个线程共享内存(数据共享,共享全局变量),从而极大地提高了程序的运行效率。协...原创 2019-10-24 14:06:17 · 136 阅读 · 0 评论 -
python-Interview(面试-试题)-正则表达式-01
1、Python 里 match 与 search 的区别?match()函数只检测 RE 是不是在 string 的开始位置匹配,search()会扫描整个 string 查找匹配;也就是说 match()只有在 0 位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回 none。2、Python 字符串查找和替换?re.findall(r’目的字符串’,’原...原创 2019-10-23 08:54:15 · 132 阅读 · 0 评论 -
python-Interview(面试-试题)-面向对象-02
1、 谈谈你对面向对象的理解?面向对象是相对于面向过程而言的。面向过程语言是一种基于功能分析的、以算法为中心的程序设计方法;而面向对象是一种基于结构分析的、以数据为中心的程序设计思想。在面向对象语言中有一个有很重要东西,叫做类。面向对象有三大特性:封装、继承、多态。2、面向对象中怎么实现只读属性?将对象私有化,通过共有方法提供一个读取数据的接口。class person: ...原创 2019-10-22 08:43:24 · 127 阅读 · 0 评论 -
python-Interview(面试-试题)-面向对象-01
对象1、Python 中的可变对象和不可变对象?不可变对象,该对象所指向的内存中的值不能被改变。当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一个新的地址,变量再指向这个新的地址。可变对象,该对象所指向的内存中的值可以被改变。变量(准确的说是引用)改变后,实际上是其所指的值直接发生改变,并没有发生复制行为,也没有开辟新的出地址,通俗点说就是原地改...原创 2019-10-21 08:55:04 · 126 阅读 · 0 评论 -
python-Interview(面试-试题)-设计模式-02
1、函数装饰器有什么作用?装饰器本质上是一个Python 函数,它可以在让其他函数在不需要做任何代码的变动的前提下增加额外的功能。 装饰器的返回值也是一个函数的对象,它经常用于有切面需求的场景。 比如:插入日志、性能测试、事务处理、缓存、权限的校验等场景 有了装饰器就可以抽离出大量的与函数功能本身无关的雷同代码并发并继续使用。2、生成器、迭代器的区别?迭代器是一个更抽象的概念,任何对...原创 2019-10-20 08:55:49 · 219 阅读 · 0 评论 -
python-Interview(面试-试题)-设计模式-01
设计模式单例1、请手写一个单例class A(object): __instance = None def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = object.__new__(cls) return cls.__instance else: retur...原创 2019-10-19 13:55:56 · 294 阅读 · 0 评论 -
python-Interview(面试-试题)-python进阶-06
Lambda1、什么是 lambda 函数? 有什么好处? lambda 函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数1、lambda 函数比较轻便,即用即仍,很适合需要完成一项功能,但是此功能只在此一处使用,连名字都很随意的情况下;2、匿名函数,一般用来给 filter, map 这样的函数式编程服务;3、作为回调函数,传递给某些应用,比如消息处理2、...原创 2019-10-17 19:11:16 · 175 阅读 · 0 评论 -
python-Interview(面试-试题)-python进阶-05
1、hasattr() getattr() setattr() 函数使用详解?hasattr(object, name)函数:判断一个对象里面是否有name属性或者name方法,返回bool值,有name属性(方法)返回True,否则返回 False。注意:name 要使用引号括起来。class function_demo(object):name = 'demo'def run(se...原创 2019-10-14 08:48:05 · 182 阅读 · 0 评论 -
python-Interview(面试-试题)-python进阶-04
内建函数1、map 函数和 reduce 函数?①从参数方面来讲:map()包含两个参数,第一个参数是一个函数,第二个是序列(列表 或元组)。其中,函数(即 map的第一个参数位置的函数)可以接收一个或多个参数。reduce()第一个参数是函数,第二个是序列(列表或元组)。但是,其函数必须接收两个参数。②从对传进去的数值作用来讲:map()是将传入的函数依次作用到序列的每个元素...原创 2019-10-13 08:48:31 · 243 阅读 · 0 评论 -
python-Interview(面试-试题)-python进阶-03
函数1、Python 函数调用的时候参数的传递方式是值传递还是引用传递?Python 的参数传递有:位置参数、默认参数、可变参数、关键字参数。函数的传值到底是值传递还是引用传递,要分情况:不可变参数用值传递:像整数和字符串这样的不可变对象,是通过拷贝进行传递的,因为你无论如何都不可能在原处改变不可变对象可变参数是引用传递的:比如像列表,字典这样的对象是通过引用传递、和 C 语言里面...原创 2019-10-08 08:46:33 · 137 阅读 · 0 评论 -
python-Interview(面试-试题)-基础语法-02
条件与循环1.阅读下面的代码,写出 A0,A1 至 An 的最终值。A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))A1 = range(10)A2 = [i for i in A1 if i in A0]A3 = [A0[s] for s in A0]A4 = [i for i in A1 if i in A3]A5 = {i:i*...原创 2019-09-22 08:52:38 · 172 阅读 · 0 评论 -
python-Interview(面试-试题)-基础语法-03
文件操作1、4G 内存怎么读取一个 5G 的数据?方法一:可以通过生成器,分多次读取,每次读取数量相对少的数据(比如 500MB)进行处理,处理结束后在读取后面的 500MB 的数据。方法二:可以通过 linux 命令 split 切割成小文件,然后再对数据进行处理,此方法效率比较高。可以按照行数切割,可以按照文件大小切割。2、现在考虑有一个 jsonline 格式的文件 file.t...原创 2019-09-22 21:20:09 · 160 阅读 · 0 评论 -
python-Interview(面试-试题)-基础语法-04
异常1、在except中return后还会不会执行finally中的代码?怎么抛出自定义异常?会继续处理 finally 中的代码;用 raise 方法可以抛出自定义异常。2、介绍一下 except 的作用和用法?except: #捕获所有异常except: <异常名>: #捕获指定异常except:<异常名 1, 异常名 2> : 捕获异常 1 或者异常 2...原创 2019-09-23 08:55:52 · 287 阅读 · 0 评论 -
浅拷贝、深拷贝以及赋值
一、赋值:在 Python 中,对象的赋值就是简单的对象引用,这点和 C++不同,如下所示:a = [1,2,"hello",['python', 'C++']]b = a在上述情况下,a 和 b 是一样的,他们指向同一片内存,b 不过是 a 的别名,是引用。我们可以使用 b is a 去判断,返回 True,表明他们地址相同,内容相同,也可以使用 id()函数来查看两个列表的地址是否...原创 2019-09-23 09:01:34 · 108 阅读 · 0 评论 -
python-Interview(面试-试题)-基础语法-05
1、Python 中的 os 模块常见的方法:os.remove()删除文件os.rename()重命名文件os.walk()生成目录树下的所有文件名os.chdir()改变目录os.mkdir/makedirs 创建目录/多层目录os.rmdir/removedirs 删除目录/多层目录os.listdir()列出指定目录的文件os.getcwd()取得当前工作目录os.chm...原创 2019-09-23 19:12:37 · 129 阅读 · 0 评论 -
python-Interview(面试-试题)-基础语法-06
Python 特性1、Python 是强语言类型还是弱语言类型? Python 是强类型的动态脚本语言。强类型:不允许不同类型相加。动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候。脚本语言:一般也是解释型语言,运行代码只需要一个解释器,不需要编译。2、谈一下什么是解释性语言,什么是编译性语言?计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把...原创 2019-09-25 08:54:35 · 124 阅读 · 0 评论 -
python-Interview(面试-试题)-基础语法-07
1、Python 中的作用域?Python 中,一个变量的作用域总是由在代码中被赋值的地方所决定。当 Python 遇到一个变量的话,它会按照这的顺序进行搜索:本地作用域(Local)--->当前作用域被嵌入的本地作用域(Enclosing locals)--->全局/模块作用域(Global)--->内置作用域(Built-in)。2、什么是 Python?Pytho...原创 2019-09-25 18:41:30 · 173 阅读 · 0 评论 -
python-Interview(面试-试题)-基础语法-08
Linux 基础和 git1、Linux 的基本命令(怎么区分一个文件还是文件夹)ls -F 在显示名称的时候会在文件夹后添加“/”,在文件后面加“*”。2、日志以什么格式,存放在哪里?日志以文本可以存储在“/var/log/”目录下后缀名为.log。3、Linux 查看某个服务的端口?netstat -anp | grep service_name4、ubuntu 系统如何设...原创 2019-09-26 08:46:31 · 89 阅读 · 0 评论 -
python-Interview(面试-试题)-基础语法-09
1、软连接和硬链接的区别?软连接类似 Windows 的快捷方式,当删除源文件时,那么软链接也失效了。硬链接可以理解为源文件的一个别名,多个别名所代表的是同一个文件。当 rm 一个文件的时候,那么此文件的硬链接数减1,当硬链接数为 0 的时候,文件被删除。2、 10 个常用的 Linux 命令?pwd 显示工作路径ls 查看目录中的文件cd /home 进入 '/ home' 目录'...原创 2019-09-26 19:44:13 · 115 阅读 · 0 评论 -
python-Interview(面试-试题)-数据类型-01
1、现有字典 d={‘a’:24,‘g’:52,‘i’:12,‘k’:33}请按字典中的 key进行排序?sorted(d.items(),key = lambda x:x[0]) 2、说一下字典和 json 的区别?字典是一种数据结构,json 是一种数据的表现形式,字典的 key 值只要是能 hash 的就行,json 的必须是字符串。3、 什么是可变、不可变类型?可变不可变指的...原创 2019-09-27 08:50:17 · 137 阅读 · 0 评论 -
python-Interview(面试-试题)-数据类型-02
字符串1、如何理解 Python 中字符串中的\字符?有三种不同的含义:1、转义字符 2、路径名中用来连接路径名 3、编写太长代码手动软换行。2、请反转字符串“aStr”?print(‘aStr’[::-1])3、将字符串"k:1|k1:2|k2:3|k3:4",处理成 Python 字典:{k:1, k1:2, … } # 字典里的 K 作为字符串处理str1 = "k:1...原创 2019-09-27 15:49:09 · 96 阅读 · 0 评论 -
python-Interview(面试-试题)-数据类型-03
列表1、下面代码的输出结果将是什么?list = ['a', 'b', 'c', 'd', 'e']print list[10:]下面的代码将输出[],不会产生IndexError错误。就像所期望的那样,尝试用超出成员的个数的index来获取某个列表的成员。例如,尝试获取 list[10]和之后的成员,会导致 IndexError。然而,尝试获取列表的切片,开始的 index 超过...原创 2019-09-27 16:37:09 · 1039 阅读 · 0 评论 -
python-Interview(面试-试题)-数据类型-04
集合set:set 集合,在 Python 中的书写方式为{},集合与之前列表、元组类似,可以存储多个数据,但是这些数据是不重复的。集合对象还支持 union(联合), intersection(交), difference(差)和sysmmetric_difference(对称差集)等数学运算.快速去除列表中的重复元素In [4]: a = [11,22,33,33,44,22,55]...原创 2019-09-29 08:52:04 · 98 阅读 · 0 评论 -
python-Interview(面试-试题)-python进阶-01
元类1、Python 中类方法、类实例方法、静态方法有何区别?类方法:是类对象的方法,在定义时需要在上方使用“@classmethod”进行装饰,形参为 cls,表示类对象,类对象和实例对象都可调用;类实例方法:是类实例化对象的方法,只有实例对象可以调用,形参为 self,指代对象本身;静态方法:是一个任意函数,在其上方使用“@staticmethod”进行装饰,可以用对象直接调用,静态方...原创 2019-10-07 08:48:21 · 165 阅读 · 0 评论 -
python-Interview(面试-试题)-python进阶-02
内存管理与垃圾回收机制Python 的内存管理机制及调优手段?内存管理机制:引用计数、垃圾回收、内存池。引用计数:引用计数是一种非常高效的内存管理手段, 当一个 Python 对象被引用时其引用计数增加 1, 当其不再被一个变量引用时则计数减 1. 当引用计数等于 0 时对象被删除。垃圾回收 :引用计数引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当 Py...原创 2019-10-07 08:53:55 · 123 阅读 · 0 评论 -
python-Interview(面试-试题)-基础语法-01
输入与输出1.代码中要修改不可变数据会出现什么问题?代码不会正常运行,抛出 TypeError 异常。2.a=3,b=6,不用中间变量交换 a 和 b 的值?方法一:a = a+bb = a-ba = a-b方法二:a = a^bb = b^aa = a^b方法三:a,b = b,a3.print 调用 Python 中底层的什么方法print方法默认调用sy...原创 2019-09-21 16:43:47 · 212 阅读 · 0 评论