Python 新手在谋求一份 Python 编程工作前,要熟知 Python 的基础知识。小编整理了一份高频Python面试题,希望能帮到正在找工作的人。
1、简要概述一下python中生成器和迭代器?
2、Python的垃圾回收机制
3、MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中都是热点数据?
4、django的Form组件中,如果字段中包含choices参数,请使用两种方式实现数据源实时更新。
5、如何以就地操作方式打乱一个列表的元素?
6、Python 中的标识符长度能有多长?
7、一个包里有三个模块,mod1.py , mod2.py , mod3.py ,但使用 from demopack import * 导入模块时,如何保证只有 mod1 、 mod3 被导入了。
8、给定一个含有N个数字的列表。使用单一的列表生成式来产生一个新的列表,该列表只包含满足以下条件的值:
(a)偶数值
(b)元素为原始列表中偶数切片。
9、以下SQLAlchemy的字段是否正确?如果不正确请更正:
from datetime import datetime

from sqlalchemy.ext.declarative
import declarative_base

from sqlalchemy import Column, Integer, String, DateTime


Base = declarative_base()


class UserInfo(Base):

__tablename__ = 'userinfo'

id = Column(Integer, primary_key=True, autoincrement=True)

name = Column(String(64), unique=True)

ctime = Column(DateTime, default=datetime.now())
10、有两个序列a,b,大小都为n,序列元素的值任意整形数,无序;
要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
1)将两序列合并为一个序列,并排序,为序列Source
2)拿出最大元素Big,次大的元素Small
3)在余下的序列S[:-2]进行平分,得到序列max,min
4)将Small加到max序列,将Big加大min序列,重新计算新序列和,和大的为max,小的为min。
相关推荐: