
面试题
simuLeo
在软件中艰难探索的咸鱼
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【python面试题】链表反转
单链表反转【python实现】单链表反转方法头节点开始遍历1. 用三个指针来解决链表反转,`cur`是现在的链表节点,`tmp`暂存`cur.next`,`new_head`指向之前的`cur`2. 其中,`tmp`是保存之前的链条不能断的,很重要尾节点开始递归递归反转链表,递归:从尾节点指向上一级节点,上一级节点指向None,重复这个过程,直到递归结束代码如下:class ...原创 2020-03-19 11:17:26 · 536 阅读 · 1 评论 -
[python面试题] 删除列表中所有的3和4
# 删除所有的3和4a = [3, 4, 5, 3, 3, 4, 5, 3, 4, 3, 5]# 0. 边遍历边删除列表里的元素的弊端,删掉一个,后面的元素会顶上,导致删不全a1 = a.copy()for i in a1: # print(i) if i == 3 or i == 4: a1.remove(i)print(a1)# 1. 遍历...原创 2018-04-28 16:10:06 · 2438 阅读 · 0 评论 -
[python面试题] 保持列表的原顺序并进行去重的5种方法
L = [4, 1, 7, 4, 4, 6, 2, 1, 6, 6],想办法去掉列表的重复元素,同时保持原来的排列顺序;# 第1种方法,利用集合去重,然后用原列表的index方法排序L = [4, 1, 7, 4, 4, 6, 2, 1, 6, 6]L1 = list(set(L))L1.sort(key=L.index)print(L1)print('\n')# 第2种方法...原创 2018-04-28 15:47:08 · 2148 阅读 · 0 评论 -
[python的web框架对比] Flask蓝图和Django路由映射的区别?
1.flask是利用蓝图进行模块划分的,通过app装饰器注册模块蓝图,在主模块统一调用;2.Django路由映射是通过路由正则匹配映射到每一个模块的; 在django中,路由是浏览器访问服务器时,先访问的项目中的url,再由项目中的url找到应用中url,这些url是放在一个列表里,遵从从前往后匹配的规则。 在flask中,路由是通过装饰器给每个视图函数提供的,而且根据请求方式的不同可以一个url...原创 2018-04-27 15:00:31 · 1379 阅读 · 0 评论 -
[redis数据库问题] 聊聊你对redis的理解
从Redis的特性来说:①redis数据库是一种非关系型数据库,数据以key-value的形式存储,②它是内存型数据库,数据保存在内存中,所以读写速度很快。③当然它也支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用,以保证数据的安全。④Redis不仅仅支持简单的key-value类型的数据,同时还提供l...原创 2018-04-27 14:57:45 · 1449 阅读 · 0 评论 -
[业务问题] 手机短信验证码如何保证安全性
1.手机短信验证码由web服务器的随机函数生成; 2.将验证码传给第三方平台的SDK,然后调用第三方平台的服务器发送短信验证码; 3.只有第三方发送短信验证码成功返回成功的状态码,web服务器才会存储自己生成的验证码; 4.用户获取短信验证码,输入验证码进行注册或者登录时,web服务器会对比用户输入的验证码和数据库的短信验证码,如果一致就通过验证,否则,无法通过验证; ...原创 2018-04-27 14:53:54 · 1329 阅读 · 1 评论 -
[python笔记]进程,线程和协程的对比
进程、线程、协程对比 请仔细理解如下的通俗描述有一个老板想要开个工厂进行生产某件商品(例如剪子) 他需要花一些财力物力制作一条生产线,这个生产线上有很多的器件以及材料这些所有的 为了能够生产剪子而准备的资源称之为:进程 只有生产线是不能够进行生产的,所以老板的找个工人来进行生产,这个工人能够利用这些材料最终一步步的将剪子做出来,这个来做事情的工人称之为:线程 这个老板为了提高生产率,想到3...原创 2018-04-26 16:57:16 · 1219 阅读 · 1 评论 -
[python笔记] 迭代器和生成器的区别
迭代器协议1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退)2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法)3.协议是一种约定,可迭代对象实现了迭代器协议,python的内部工具(如for循环,sum,min,max函数等)使用迭代器协议访...原创 2018-04-26 16:38:14 · 444 阅读 · 0 评论 -
[python面试题]深拷贝和浅拷贝的区别
深拷贝,浅拷贝非嵌套数据(不可变类型:整数,字符串,元组等)例子:a = 11copy.copy 和 copy.deepcopy 没有区别 都会开辟新空间 存储数据 有嵌套的数据 (可变类型:列表,字典)例子:a = [[1], {'2':2}]copy.copy没有办法保证数据的独立性,拷贝第一层的引用copy.deepcopy完全拷贝所有的层级,都会有自己的空间 不可变类型(元组,数字,字符串...原创 2018-05-10 21:32:11 · 1758 阅读 · 0 评论 -
[python面试题] 装饰器是什么,有什么功能,能用在什么业务场景?
概念:1.装饰器的实现是由闭包支撑的;2.装饰器本质上是⼀个python函数,它可以在让其他函数在不需要做任何代码的变动的前提下增加额外的功能;3.装饰器的返回值也是⼀个函数的对象,它经常用于有切面需求的场景,实现路由传参,flask的路由传参依赖于装饰器,浏览器通过url访问到装饰器的路由,从而访问视图函数获得返回的HTML页面; 应用场景:1.可以在外层函数加上时间计算函数,计算函数运行时间;...原创 2018-04-25 21:43:12 · 6651 阅读 · 0 评论