Python基础面试题整理

基础

  • Python中lambda是什么意思
  • Python中的pass是什么意思
  • 作为解释型语言,Python如何运行
  • 什么是Python的单元测试
  • 在Python中unittest是什么
  • 如何将数字转换为字符串
  • 什么是Python中的模块和包
  • 解释如何在Python中生成随机数字
  • 在Python中如何使用//运算符
  • 提到使用Python的五个好处
  • 简单说明在Python中如何使用split函数
  • json和字典的区别
  • python如何连接数据库操作

进阶

  • 解释如何访问用C语言编写的Python模块
  • range和xrang的区别
  • args ,*kwargs他们的区别和用法
  • 装饰器的作用是什么给出一个具体的例子讲将装饰器写法还原回去
  • map()和reduce和lambda的结合使用
  • python中变量单下划线和双下滑线的区别
  • python中多线程和多进程的区别i/o密集型适合用什么方式解决
  • 什么是协程,他的好处是什么
  • 什么是pickling和unpickling
  • 有哪些工具可以帮助查找错误或执行静态分析?
  • 什么是Python中的生成器
  • newinit的区别
  • 如何复制Python中的对象
  • python中deepcopy和copy的区另
  • python并行
  • socket编程简单的描述一下select和epol丨模型的区别
  • 提到Python中的局部和全局变量的规则是什么
  • 怎样才能跨模块共享全局变量
  • 解释如何在Unix上创建一个Python脚本可执行文件
  • Python垃圾回收机制
  • 按下述要求编写代码,实现以下功能:
    (1)编写代码下载https://en.wikipedia.org/wiki/Machine_translation 页面的内容并保存为mt.html
    (2)统计mt.html中

    标签下所有单词并存储到mt_word.txt中,要求:
    a) 每个单词一行。单词在前,单词出现的次数在后,中间用Tab( )分隔。
    b) 单词按照数目从多到少排列。比如说单词a出现了100次,单词b出现了10次,则单词a要在单词b前面。

数据结构

  • python set和list哪个效率高?
  • 100w条数据用什么数据结构存储查询效率更高
  • 实现二叉树遍历
  • 用两个栈实现一个队列
  • hash键值重复怎么处理

算法

  • 二分查找法
  • 1-7个等概率随机数, 生成0-1等概论随机数(使用别人的方法做递归最好限定最大递归深度)
  • 文件 a b c c a b 统计每个字符个数
  • 个窗口卖5张票,用Java/Python实现
  • 列表l1 l2 求l2中和l1中元素相加为10的
  • 一个整形数组,给定一个数,在数组中找出两个数的和等于这个数,并打印出来,我写的时间复杂度高,要求O(n)
  • n个整数,找出连续的m个数加和是最大
  • 汉诺塔求解: 汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵
    天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序
    摞着 64 片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放
    在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只
    能移 动一个圆盘
  • 求一个列表的最小公倍数
  • list=[1,2,3,4,5] target=3快速找出数组中两个元素之和等于target最优解是什么
    时间复杂度是?
  • 统计在一个队列中的数字,有多少个正数,多少个负数,如[1, 3, 5, 7, 0, -1,-9, -4, -5, 8]
  • 字符串 "axbyczdj",如果得到结果“abcd”
  • 已知一个字符串为“hello_world_yoyo”, 如何得到一个队列
    ["hello","world","yoyo"]
  • 已知一个数字为 1,如何输出“0001”
  • 已知一个队列,如: [1, 3, 5, 7],如何把第一个数字,放到第三个位置,得到:[3, 5, 1, 7]
  • 已知 a = 9, b = 8,如何交换 a 和 b 的值,得到 a 的值为 8,b 的值为 9
  • 打印出 100-999 所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个"水仙花数",因为 153=1 的三次方+5 的三次方+3 的三次方。
  • 如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。 例如:第一个完全数是 6,它有约数 1、2、3、6,除去它本身 6 外,其余3 个数相加,1+2+3=6。第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身 28外,其余 5个数相加,1+2+4+7+14=28。那么问题来了,求 1000 以内的完全数有哪些?
  • 用 python 写个冒泡排序
  • 已知一个队列[1, 3, 6, 9, 7, 3, 4, 6]按从小到大排序,按从大大小排序,去除重复数字
  • 计算n的阶乘
  • 已知一个数列:1、1、2、3、5、8、13、。。。。的规律为从 3 开始的每一项都等于其前两项的和,这是斐波那契数列。求满足规律的 100 以内的所以数据
  • 计算 x 的 n 次方,如:3 的 4 次方 为 333*3=81
  • 写一个小程序:控制台输入邮箱地址(格式为 [email protected]),
    程序识别用户名和公司名后,将用户名和公司名输出到控制台。
    要求:
      1. 校验输入内容是否符合规范([email protected]), 如是进入下一步,如否则抛出提
    • 示"incorrect email format"。注意必须以.com 结尾
      1. 可以循环“输入--输出判断结果”这整个过程
      1. 按字母 Q(不区分大小写)退出循环,结束程序
  • 如何遍历查找出某个文件夹内所有的子文件呢?并且找出某个后缀的所有文件

Web开发

  • 写一个flask接口
  • 解释什么是Flask及其好处?
  • Django,Pyramid和Flask有什么区别
  • Flask-WTF是什么,有什么特点
  • 如何在Flask中访问会话
  • Flask是一个MVC模型吗?如果是,可以示例一下吗
  • 解释Python Flask中的数据库连接?
  • 解释如何最大限度地减少Python开发中的Memcached服务器中断
  • 解释Python项目中应不应该使用Memcached?
  • nginx和uwsgi怎么样进行项目部署的分别说说他们的作用
  • django中中间件的作用是什么
  • csrf是什么
  • django中缓存怎么用

代码理解

  • 下面的代码会输出什么, 有什么问题
def f(x,l=[]):
    for i in range(x):
        l.append(i*i)
        print l
    
f(2)f(3,[3,2,1])f(3)
  • 阅读下面的代码,写出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*i for i in A1}
A6 = [[i,i*i] for i in A1]

你可能感兴趣的:(Python基础面试题整理)