zoukankan      html  css  js  c++  java
  • 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中的生成器
    • __new__和__init__的区别
    • 如何复制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
    • 写一个小程序:控制台输入邮箱地址(格式为 username@companyname.com),
      程序识别用户名和公司名后,将用户名和公司名输出到控制台。
      要求:
        1. 校验输入内容是否符合规范(xx@yy.com), 如是进入下一步,如否则抛出提
      • 示"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]
    
  • 相关阅读:
    Dagger2 (二) 进阶篇
    Dagger2 (一) 入坑篇
    RoboGuice 3.0 (三)总结篇
    RoboGuice 3.0 (二)进阶篇
    RoboGuice 3.0 (一)入坑篇
    spring源码
    Java transient关键字使用
    Spring源码学习
    jvm系列(一):java类的加载机制
    Java中newInstance()和new()
  • 原文地址:https://www.cnblogs.com/superhin/p/11454828.html
Copyright © 2011-2022 走看看