2022年整理的最全python常见面试题.pdf
《2022年整理的最全python常见面试题.pdf》由会员分享,可在线阅读,更多相关《2022年整理的最全python常见面试题.pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、整 理 的 python常 见 面 真 题 根 本 必 考 L 大 数 据 的 文 件 读 取 1.利 用 生 成 器 generator2.迭 代 器 进 行 迭 代 遍 历:for line in file2、迭 代 器 和 生 成 器 的 区 别 1.迭 代 器 是 一 个 更 加 抽 象 的 概 念,任 何 对 象,如 果 它 的 类 有 next方 法 和 iter方 法 返 回 自 身。对 于 string、list、diet、tuple等 这 类 容 器 对 象,使 用 fo r循 环 遍 历 是 很 方 便 的。在 后 台 fo r语 句 对 容 器 对 象 调 用 iter(
2、)函 数,iter()是 Python的 内 置 函 数。iter()会 返 回 一 个 定 义 了 next()方 法 的 迭 代 器 对 象,它 在 容 器 中 逐 个 访 问 容 器 内 元 素,next。也 是 python的 内 置 函 数。在 没 有 后 续 元 素 时,next。会 抛 出 一 个 Stoplterration 的 异 常。2.生 成 器 Generator 是 创 立 迭 代 器 的 简 单 而 强 大 的 工 具。它 们 写 起 来 就 像 是 正 规 的 函 数,只 是 在 返 回 数 据 的 时 候 需 要 使 用 yield语 句。每 次 next。被
3、调 用 时,生 成 器 会 返 回 它 脱 离 的 位 置 它 记 忆 语 句 最 后 一 次 执 行 的 位 置 和 全 部 的 数 据 值 区 别:生 成 器 能 做 到 迭 代 器 能 做 的 全 部 事,而 且 因 为 自 动 创 立 了 _iter_()和 next。方 法,生 成 器 显 得 特 别 简 洁,而 且 生 成 器 也 是 高 效 的,使 用 生 成 器 表 达 式 取 代 列 表 解 析 可 以 同 时 节 约 内 存。除 了 创 立 和 保 持 程 序 状 态 的 自|动 生 成,当 发 生 器 终 结 时,还 会 自 动 跑 出 Stoplterration异?3
4、.装 饰 器 的 作 用 和 功 能.引 入 日 志.函 数 执 行 时 间 统 计.执 行 函 数 钱 预 备 处 理 执 行 函 数 后 的 清 理 功 能 权 限 校 验 等 场 景.缓 存 4、简 单 谈 下 GILGlobal Interpreter Lo ck 全 局 解 释 器 锁 Python代 码 的 执 行 由 python虚 拟 机 也 叫 解 释 器 主 循 环,CPython版 本 来 操 纵,Python在 设 计 之 初 就 考 虑 到 要 在 解 释 器 的 主 循 环 中,同 时 只 有 一 个 线 程 在 执 行,即 任 意 时 刻,只 有 一 个 线 程
5、在 解 释 器 中 运 行。对 Python虚 拟 机 的 访 问 由 全 局 解 释 器 锁 GIL 来 操 纵,正 是 这 个 锁 能 保 证 同 一 时 刻 只 有 一 个 线 程 在 运 行。在 多 线 程 环 境 中,Python虚 拟 机 按 以 下 方 法 执 行:1.设 置 GIL2.切 换 到 一 个 线 程 去 运 行 3运 行:a.指 定 数 量 的 字 节 码 指 令,或 者 b.线 程 主 动 让 出 操 纵 可 以 调 用 time.sleep(O)4.把 线 程 设 置 为 睡 眠 状 态 5.解 锁 GIL6.再 次 重 复 以 上 全 部 步 骤 再 调 用
6、外 部 代 码 如 C/C+扩 展 函 数 的 时 候,GIL讲 会 被 锁 定,直 到 这 个 函 数 结 束 为 止 由 于 在 这 期 间 没 有 Python的 字 节 码 被 运 行,所 以 不 会 做 线 程 切 换。5、find 和 grepgrep命 令 是 一 种 强 大 的 文 本 搜 索 工 具,grep全 部 内 容 串 可 以 是 正 则 表 达 式,同 意 对 文 本 文 件 进 行 模 式 查 找。如 果 找 到 匹 配 模 式,grep打 印 包 含 模 式 的 全 部 行。find通 常 用 来 在 特 定 的 目 录 下 搜 索 符 合 条 件 的 文 件,
7、也 可 以 用 来 搜 索 特 定 用 户 属 主 的 文 件。6、线 上 效 劳 可 能 因 为 种 种 原 因 导 致 挂 掉 怎 么 办?Linux下 的 后 台 进 程 治 理 利 器 supervisor每 次 文 件 修 改 后 在 linux执 行 service supervisord restart7、如 何 提 高 python的 运 行 效 率 使 用 生 成 器;关 键 代 码 使 用 外 部 功 能 包 Cython,pylnlne,pypy,p yrex;针 对 循 环 的 优 化 一 尽 量 防 止 在 循 环 中 访 问 变 量 的 属 性 8、常 用 Linu
8、x命 令 Is,help,cd,more,clear,mkdir,pwd,rm,grep,find,mv,sudate9、Python 中 的 yield 用 法yield简 单 来 说 就 是 一 个 生 成 器,这 样 函 数 它 记 住 上 次 返 回 时 在 函 数 中 的 位 置。对 于 生 成 器 第 二 次 或 n 次 调 用 跳 转 至 该 函 数。10、Python是 如 何 进 行 内 存 治 理 的 一、垃 圾 回 收:python不 像 C+,Java等 言 语 一 样,他 们 可 以 不 用 事 先 声 明 变 量 类 型 而 直 接 对 变 量 进 行 赋 值。对
9、python言 语 来 讲,对 象 的 类 型 和 内 存 都 是 在 运 行 时 确 定 的。这 也 是 为 什 么 我 们 称 python言 语 为 动 态 类 型 的 原 因 这 里 我 们 把 动 态 类 型 言 语 可 以 简 单 的 归 结 为 对 变 量 内 存 地 址 的 分 配 是 在 运 行 时 自 动 推 断 变 量 类 型 并 对 变 量 进 行 赋 值。二、引 用 计 数:python采 纳 了 类 似 w indow s内 核 对 象 一 样 的 方 法 来 对 内 存 进 行 治 理。每 一 个 对 象,都 维 护 这 一 个 对 指 向 该 对 象 的 引 用
10、 的 计 数。当 变 量 被 绑 定 在 一 个 对 象 上 的 时 候,该 变 量 的 引 用 计 数 就 是 1,还 有 其 它 一 些 情 况 也 会 导 致 变 量 引 用 计 数 的 增 加,系 统 会 自 动 维 护 这 些 标 签,并 定 时 扫 描,当 某 标 签 的 引 用 计 数 变 为 0的 时 候,该 对 象 就 会 被 回 收。三、内 存 池 机 制 python的 内 存 机 制 成 金 字 塔 形:第-1,-2层 主 要 有 操 作 系 统 进 行 操 作;第 0 层 是 C 中 的 malloc,free等 内 存 分 配 和 释 放 函 数 进 行 操 作;第
11、 1 层 和 第 2 层 是 内 存 池,有 python的 接 口 函 数 PyMem_Malloc函 数 完 成,当 对 象 小 于 256字 节 时 由 该 层 直 接 分 配 内 存;第 三 层 是 最 上 层,也 就 是 我 们 对 python对 象 的 直 接 操 作;在 C 中 如 果 一 再 的 调 用 m alloc与 free时,是 会 产 生 性 能 问 题 的,在 加 上 一 再 的 分 配 和 释 放 小 块 的 内 存 会 产 生 内 存 碎 片。python在 这 里 主 要 干 的 工 作 有:如 果 请 求 分 配 的 内 存 在 1 256字 节 之 间
12、就 使 用 自 己 的 内 存 治 理 系 统,否 则 直 接 使 用 malloco这 里 还 是 会 调 用 m alloc分 配 内 存,但 每 次 回 分 配 一 块 大 小 为 256字 节 的 大 块 内 存。经 由 内 存 池 登 记 的 内 存 到 最 后 还 是 会 回 收 到 内 存 池,并 不 会 调 用 C 的 free释 放 掉,以 便 下 次 使 用。对 于 简 单 的 python对 象,例 如 数 值、字 符 串、元 组 tuple不 同 意 被 更 改 采 纳 的 是 复 制 的 方 法 深 拷 贝,也 就 是 说 当 讲 另 一 个 变 量 B赋 值 给 变
13、 量 A 时,虽 然 A 和 B 的 内 存 空 间 仍 旧 相 同 但 是 当 A 的 值 发 生 变 化 时,会 重 新 给 A 分 配 空 间,A 和 B 的 地 址 变 得 不 再 相 同。11、描 述 数 组、链 表、队 列、堆 栈 的 区 别?数 组 和 链 表 是 数 据 存 储 方 法 的 概 念,数 组 在 连 续 的 空 间 中 存 储 数 据,而 链 表 可 以 在 非 连 续 的 空 间 中 存 储 数 据;队 列 和 堆 栈 是 描 述 数 据 存 取 方 法 的 概 念,队 列 是 先 进 先 出,而 堆 栈 是 后 进 先 出;队 列 和 堆 栈 可 以 用 数
14、组 来 完 成,也 可 以 用 链 表 完 成。12、你 了 解 几 种 排 序,讲 一 讲 你 最 熟 悉 的 一 种?web框 架 局 部 1.django中 当 一 个 用 户 登 录 A 应 用 效 劳 器 进 入 登 录 状 态,然 后 下 次 请 求 被 n g inx代 理 到 B 应 用 效 劳 器 会 出 现 什 么 影 响?如 果 用 户 在 A应 用 效 劳 器 登 陆 的 session数 据 没 有 共 享 到 B应 用 效 劳 器,那 用 户 之 前 的 登 录 状 态 就 没 有 了。2.跨 域 请 求 问 题 django怎 么 解 决 的(原 理)启 用 中
15、间 件 p o st请 求 验 证 码 表 单 中 添 加%csrf_token%标 签 3.请 解 释 或 描 述 一 下 Django的 架 构 对 于 Django框 架 遵 循 MVC设 计,并 且 有 一 个 专 有 的 名 词:MVTM全 拼 为 Model,与 MVC中 的 M功 能 相 同,负 责 数 据 处 理,内 嵌 了 ORM框 架 V 全 拼 为 View,与 MVC中 的 C 功 能 相 同,接 收 Request,业 务 处 理,返 回 ReponseT 全 拼 为 Template,与 MVC中 的 V功 能 相 同,负 责 封 装 构 造 要 返 回 的 htm
16、l,内 嵌 了 模 板 引 擎4.django对 数 据 杳 询 结 果 排 序 怎 么 做,降 序 怎 么 做,直 询 大 于 某 个 字 段 怎 么 做 排 序 使 用 order_by()降 序 需 要 在 排 序 字 段 名 前 加-查 询 字 段 大 于 某 个 值:使 用 filte r 字 段 名 一 1=值 5.说 一 下 Django,MIDDLEWARES中 间 件 的 作 用?中 间 件 是 介 于 request和 response处 理 之 间 的 一 道 处 理 过 程,相 比 照 拟 轻 量 级,并 且 在 全 局 上 改 变 Django的 输 入 和 输 出
17、6.你 对 Django的 认 识?Django是 走 大 而 全 的 方 向,它 最 知 名 的 是 全 自 动 化 的 治 理 后 台;只 需 要 使 用 ORM,做 简 单 的 对 象 定 义,它 就 能 自 动 生 成 数 据 库 结 构、以 及 全 功 能 的 治 理 后 台。Django内 置 的 ORM跟 框 架 内 的 其 他 模 块 耦 合 程 度 高 应 用 程 序 必 须 使 用 Django内 置 的 ORM,否 则 就 不 能 享 受 到 框 架 内 提 供 的 种 种 基 于 其 O RM的 便 利。理 论 上 可 以 切 换 掉 其 ORM模 块,但 这 就 相
18、当 于 要 把 装 修 完 毕 的 房 子 撤 除 重 新 装 修,倒 不 如 一 开 始 就 去 毛 坯 房 做 全 新 的 装 修。Django的 卖 点 是 超 高 的 开 发 效 率,其 性 能 扩 展 有 限;采 纳 Django的 工 程,在 流 量 到 达 肯 定 规 模 后,都 需 要 对 其 进 行 重 构,才 能 满 足 性 能 的 要 求。Djang。适 用 的 是 中 小 型 的 网 站,或 者 是 作 为 大 型 网 站 快 速 完 成 产 品 雏 形 的 工 具。Djang。模 板 的 设 计 哲 学 是 彻 底 的 将 代 码、式 样 别 离;Djang。从 根
19、本 上 杜 绝 在 模 板 中 进 行 编 码、处 理 数 据 的 可 能。7.Django重 定 向 你 是 如 何 完 成 的?用 的 什 么 状 态 码?使 用 ResponseRedirectredire 和 reverse状 态 码:302,3018.ngnix的 正 向 代 理 与 反 向 代 理?正 向 代 理 是 一 个 位 于 客 户 端 和 原 始 效 劳 器(origin server)之 间 的 效 劳 器,为 了 从 原 始 效 劳 器 取 得 内 容,客 户 端 向 代 理 发 送 一 个 请 求 并 指 定 目 标(原 始 效 劳 器),然 后 代 理 向 原 始
20、 效 劳 器 转 交 请 求 并 将 获 得 的 内 容 返 回 给 客 户 端。客 户 端 必 需 要 进 行 一 些 特 别 的 设 置 才 能 使 用 正 向 代 理。反 向 代 理 正 好 相 反,对 于 客 户 端 而 言 它 就 像 是 原 始 效 劳 器,并 且 客 户 端 不 需 要 进 行 任 何 特 别 的 设 置。客 户 端 向 反 向 代 理 的 命 名 空 间 中 的 内 容 发 送 一 般 请 求,接 着 反 向 代 理 将 推 断 向 哪 里(原 始 效 劳 器)转 交 请 求,并 将 获 得 的 内 容 返 回 给 客 户 端,就 像 这 些 内 容 原 本 就
21、 是 它 自 己 的 一 样。9.To rn ad o的 核 是 什 么?To rn ad o的 核 心 是 io lo o p和 iostream这 两 个 模 块,前 者 提 供 了 一 个 高 效 的 I/O 事 件 循 环,后 者 则 封 装 了 一 个 无 堵 塞 的 socket o通 过 向 io lo o p中 添 加 网 络 I/O 事 件,利 用 无 堵 塞 的 socket,再 搭 配 相 应 的 回 调 函 数,便 可 到 达 梦 寐 以 求 的 高 效 异 步 执 行。lO.D jan g o本 身 提 供 了 runserver,为 什 么 不 能 用 来 部 署?
22、runserver方 法 是 调 试 D ja n g o时 经 常 用 到 的 运 行 方 法,它 使 用 D ja n g o自 带 的WSGI Server运 行,主 要 在 测 试 和 开 发 中 使 用,并 且 runserver开 启 的 方 法 也 是 单 进 程。uW SGI是 一 个 W e b效 劳 器,它 完 成 了 W SG I协 议、uwsgi、等 协 议。注 意 uw sgi是 一 种 通 信 协 议,而 uW SGI是 完 成 uw sgi协 议 和 W SG I协 议 的 W e b效 劳 器。uW SGI具 有 超 快 的 性 能、低 内 存 占 用 和 多
23、a p p治 理 等 优 点,并 且 搭 配 着 Nginx就 是 一 个 生 产 环 境 了,能 够 将 用 户 访 问 请 求 与 应 用 a p p隔 离 开,完 成 真 正 的 部 署.相 比 来 讲,支 持 的 并 发 量 更 高,方 便 治 理 多 进 程,发 挥 多 核 的 优 势,提 升 性 能。网 络 编 程 和 前 端 局 部 1.AJAX是 什 么,如 何 使 用 AJAX?ajax(异 步 的 javascript和 x m l)能 够 刷 新 局 部 网 页 数 据 而 不 是 重 新 加 载 整 个 网 页。第 一 步,创 立 xml request 对 象,var
24、 xml=new XML Request();XMLRequest对 象 用 来 和 效 劳 器 交 换 数 据。第 二 步,使 用 xml request对 象 的 op en 和 sen d 方 法 发 送 资 源 请 求 给 效 劳 器。第 三 步,使 用 xml request对 象 的 responseText或 responseXML属 性 获 得 效 劳 器 的 响 应。第 四 步,onreadystatechange函 数,当 发 送 请 求 到 效 劳 器,我 们 想 要 效 劳 器 响 应 执 行 一 些 功 能 就 需 要 使 用 onreadystatechange函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 整理 python 常见 试题
限制150内