返回顶部
首页 > 资讯 > 后端开发 > Python >周三面试Python开发,这几道Pyth
  • 273
分享到

周三面试Python开发,这几道Pyth

几道周三Python 2023-01-31 00:01:17 273人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

第1题:阅读下面的代码,默读出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

第1题:阅读下面的代码,默读出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]

默读代码类的题目,相对来说是比较简单的。重点去研究列表解析,之后你就可以轻松的回答这些问题喽~

A0 = {'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4}
A1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
A2 = []
A3 = [1, 3, 2, 5, 4]
A4 = [1, 2, 3, 4, 5]
A5 = {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
A6 = [[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81]]

第2题:如何提高python的运行效率?

  1. 数据结构一定要选对
    能用字典就不用列表:字典在索引查找和排序方面远远高于列表。
  2. 多用Python中封装好的模块库
    关键代码使用外部功能包(Cython,pylnlne,pypy,pyrex)
  3. 使用生成器
  4. 针对循环的优化
    尽量避免在循环中访问变量的属性
  5. 使用较新的Python版本

第3题: Python字典有什么特点,从字典中取值,时间复杂度是多少?

dict(中文叫字典)是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号{}
字典的特性

  1. 查找速度快
    无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。
    不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。
  2. 字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
    不允许同一个键出现两次。
    键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。
  3. dict的第二个特点就是存储的key-value序对是没有顺序的!这和list不一样。

从字典中取值,时间复杂度是多少
O(1),字典是hash table实现

第4题: 多线程、多进程?

  1. 线程
    线程是操作系统能够进行运算调度的==最小单位==。它被包含在进程之中,是进程中的实际运作单位。
    一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。一个线程是一个execution context(执行上下文),即一个cpu执行时所需要的一串指令。

  2. 进程
    一个程序的==执行实例==就是一个进程。每一个进程提供执行程序所需的所有资源。(进程本质上是资源的集合
    一个进程有一个虚拟的地址空间、可执行的代码、操作系统的接口、安全的上下文(记录启动该进程的用户和权限等等)、唯一的进程ID、环境变量、优先级类、最小和最大的工作空间(内存空间),还要有==至少一个线程==。
    每一个进程启动时都会最先产生一个线程,即主线程 然后主线程会再创建其他的子线程。

进程与线程区别

转载自互联网总结的挺好的,有益!
深入的理解看这篇博客就可以了:https://www.cnblogs.com/whatisfantasy/p/6440585.html

  1. 同一个进程中的线程共享同一内存空间,但是进程之间是独立的。
  2. 同一个进程中的所有线程的数据是共享的(进程通讯),进程之间的数据是独立的。
  3. 对主线程的修改可能会影响其他线程的行为,但是父进程的修改(除了删除以外)不会影响其他子进程。
  4. 线程是一个上下文的执行指令,而进程则是与运算相关的一簇资源。
  5. 同一个进程的线程之间可以直接通信,但是进程之间的交流需要借助中间代理来实现。
  6. 创建新的线程很容易,但是创建新的进程需要对父进程做一次复制。
  7. 一个线程可以操作同一进程的其他线程,但是进程只能操作其子进程。
  8. 线程启动速度快,进程启动速度慢(但是两者运行速度没有可比性)。

第5题: 请尽可能列举python列表的成员方法,并给出以下列表操作的答案:

  1. a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ?
a[::2] = [1, 3, 5], a[-2:] = [4, 5]
  1. 一行代码实现对列表a中的偶数位置的元素进行加3后求和?
from functools import reduce
a = [1, 2, 3, 4, 5]
print(reduce(lambda x, y: x+y, [(x+3*((a.index(x)+1)%2)) for x in a])) # a中元素均不相同
# 或
print(reduce(lambda x, y: x+y, [a[x]+(x+1)%2*3 for x in range(0, 5)])) # 只适用于a中元素有5个情况
  1. 将列表a的元素顺序打乱,再对a进行排序得到列表b,然后把a和b按元素顺序构造一个字典d。
from random import shuffle
a = [1, 2, 3, 4, 5]
# 打乱列表a的元素顺序
shuffle(a)
# 对a进行排序得到列表b
b = sorted(a, reverse=True)
# zip 并行迭代,将两个序列“压缩”到一起,然后返回一个元组列表,最后,转化为字典类型。
d = dict(zip(a, b))
print(d)

--结束END--

本文标题: 周三面试Python开发,这几道Pyth

本文链接: https://lsjlt.com/news/182252.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 周三面试Python开发,这几道Pyth
    第1题:阅读下面的代码,默读出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 ...
    99+
    2023-01-31
    几道 周三 Python
  • 这几道Python面试题,稳准狠,Pyt
    必须放一个表情包,太魔性了! 第1题: 修改以下Python代码,使得下面的代码调用类A的show方法 原始代码 class A(object): def run(self): print("基础 run 方法...
    99+
    2023-01-31
    几道 面试题 Pyt
  • 刚毕业去面试Python工程师,这几道题
    写在前面 本想停一段时间这个系列,但是好多朋友给我发信息说让我继续整理下去,so,继续吧~ 第1题: docstring是什么? docstring是一种文档字符串,用于解释构造的作用。我们在函数、类或方法中将它放在首位来描述其作用。我们...
    99+
    2023-01-31
    几道 刚毕业 工程师
  • 熟悉这几道 Redis 高频面试题,面试不用愁
    1、说说 Redis 都有哪些应用场景?缓存:这应该是 Redis 最主要的功能了,也是大型网站必备机制,合理地使用缓存不仅可以加 快数据的访问速度,而且能够有效地降低后端数据源的压力。共享Session:对于一些依赖 session 功能...
    99+
    2023-06-02
  • 点开瞅瞅,再来几道Python面试题吧,
    本面试题题库,由公号:非本科程序员 整理发布 第1题:如何理解 Django 被称为 MTV 模式? 这个题就是面向对象设计和设计模式的开始。 你可能比较熟悉的模式叫做: MVC。说是 Model View Controller,而在 D...
    99+
    2023-01-31
    再来 几道 面试题
  • 震惊!几道Python 理论面试题,Py
    本面试题题库,由公号:非本科程序员 整理发布 第1题: 简述解释型和编译型编程语言? 解释型语言编写的程序不需要编译,在执行的时候,专门有一个解释器能够将VB语言翻译成机器语言,每个语句都是执行的时候才翻译。这样解释型语言每执行一次就要翻...
    99+
    2023-01-31
    几道 面试题 理论
  • PHP 并发编程面试,这些问题你一定要知道!
    PHP并发编程面试,这些问题你一定要知道! 随着互联网的迅速发展,许多网站都面临着高并发的挑战。PHP作为一种流行的编程语言,也需要应对高并发的情况。因此,PHP并发编程成为了许多公司招聘的重要条件之一。本文将介绍一些与PHP并发编程相关的...
    99+
    2023-06-16
    并发 面试 分布式
  • Java分布式开发必备,这几款IDE值得你一试!
    在Java开发领域,IDE(Integrated Development Environment)是开发人员必不可少的工具之一。它不仅提供了代码编辑器、编译器和调试器等基本功能,还包含了许多其他的开发工具,如版本控制、项目管理、自动构建等...
    99+
    2023-09-15
    分布式 ide 存储
  • 你是否知道这些Python和Git面试问题的答案?
    Python和Git是现代开发中最常用的工具之一,因此在技术面试中,面试官通常会问一些相关问题。这篇文章将介绍一些常见的Python和Git面试问题,并提供相应的答案和演示代码。 Python面试问题 Python的GIL是什么?它对Py...
    99+
    2023-08-03
    numy git 面试
  • Python开发面试题:面试中 8 个必考问题
    ‘’金三银四‘’工作的人没有不知道的吧,其实7月也是跳槽面试的高峰期,咱们的学生大军也加入了找工作的浪潮。这里根据经验和实际情况总结了一下在Python面试中,关于Python开发面试题必考的8个问题,有需要的小伙伴,敲黑板认真看哦!...
    99+
    2023-06-02
  • 小猿圈Python开发面试题(二)
    小猿圈加加老师继上一次python面试题一,接着更新python面试题二,同学们测试一做的怎么样呢?有没有把握呢,想要看答案的同学们,可以在小猿圈上找一下,或者直接给小编留言。一、问答题 1、 Python 的特点和优点是什么 2、 深拷...
    99+
    2023-01-31
    面试题 小猿圈 Python
  • 你知道这些 Python 分布式缓存开发技巧吗?
    Python 分布式缓存是一种有效的提高网站性能的技术,它可以让网站在高并发访问情况下快速响应,减轻服务器的负载压力。本文将介绍 Python 分布式缓存的开发技巧,并演示一些代码实例。 使用 Redis 缓存 Redis 是一种快速、...
    99+
    2023-09-06
    分布式 缓存 ide
  • Python 开发者,你知道如何存储 Apache 吗?看这里!
    如果你是一名 Python 开发者并且正在使用 Apache 作为你的 Web 服务器,那么你一定需要知道如何有效地存储 Apache。在本文中,我们将介绍 Apache 的一些存储技术以及如何在 Python 中使用它们。 Apache...
    99+
    2023-10-15
    存储 apache 面试
  • ASP开发技术面试:你知道哪些IDE有助于提高开发效率?
    在ASP开发中,一个高效的IDE是不可或缺的。一个好的IDE可以帮助开发人员更快、更准确地编写代码,提高开发效率。本文将介绍一些常用的ASP开发IDE,以及它们如何帮助提高开发效率。 Microsoft Visual Studio Mi...
    99+
    2023-08-10
    开发技术 面试 ide
  • 想要更高效地开发Python项目?试试这些IDE和npm包。
    Python是一种流行的编程语言,它被广泛应用于Web开发、数据分析和人工智能等领域。在Python开发中,选择一个好的集成开发环境(IDE)和npm包可以大大提高开发效率。本文将介绍一些Python开发中常用的IDE和npm包。 一、P...
    99+
    2023-10-21
    npm path ide
  • 如何应对web开发面试中项目经验这一难关
    这篇文章给大家介绍如何应对web开发面试中项目经验这一难关,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。说起面试说起校招面试,大家总会感觉心慌慌。可能是不自信,可能是感觉好多没准备好。...
    99+
    2024-04-02
  • PHP面试备战:这些开发技术教程一定要掌握!
    PHP是一门广泛应用于Web开发的编程语言,它的功能强大、易于学习和使用,可以帮助开发者快速搭建出高效、稳定的Web应用程序。如果你正在准备PHP的面试,那么这些开发技术教程一定要掌握! 一、PHP基础知识 PHP变量 变量是PHP中最...
    99+
    2023-06-19
    面试 开发技术 教程
  • 面试日志管理:ASP开发者应该知道的关键点。
    面试日志管理:ASP开发者应该知道的关键点 随着网络技术的不断发展,越来越多的公司开始将其业务转移到互联网上,这也导致了越来越多的ASP开发者的出现。在开发ASP应用程序时,一个必不可少的组成部分就是日志管理。本文将介绍ASP开发者应该知道...
    99+
    2023-07-30
    load 面试 日志
  • 你知道吗?Python开发者在面试中常被问及Spring和NPM相关问题!
    Python开发者在面试中常被问及Spring和NPM相关问题! 随着互联网技术的不断发展,Python作为一种广泛应用于各种领域的编程语言,越来越受到企业和开发者的青睐。然而,在Python开发者的面试中,经常会涉及到Spring和NPM...
    99+
    2023-07-09
    面试 spring npm
  • 想知道有那几种最佳人工智能开发语言吗?大概就是这些了
    您应该为您的机器学习或深度学习项目选择哪种编程语言这些是你最好的选择前言你应该学习哪种编程语言来探究人工智能的深度?当然,你会想要一种有很多好的机器学习和深度学习库的语言。它还应该具有良好的运行时性能、良好的工具支持、庞大的程序员社区和健康...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作