LinkedIn Python 资格评估答案

31 Mar 2025 | 19 分钟阅读

大家好,在本教程中,您将了解 LinkedIn 资格评估 Python 测试的所有答案。

正确答案以蓝色突出显示。请勿仅为复制粘贴和完成评估而使用这些答案。尝试理解 Python 编程语言的概念;这样,您就不必寻找答案了。

您只需要自己解决它_var。Python 编程语言的所有概念都可以在本博客上找到。

那么,让我们开始这个教程吧?

LinkedIn Python 问题与答案

1) 定义抽象类。

  • 抽象类是任何可以从中实例化对象的类的名称。
  • 从抽象类实例化对象时,必须重新实现抽象类。
  • 抽象类必须继承自具体类。
  • 抽象类仅用于允许其他“具体”类继承自抽象类。

2) 在列表上使用 any() 函数会发生什么?

  • any() 函数将随机返回列表中的任何内容。
  • 如果列表中的任何元素评估为 True,any() 函数将返回 True。否则,它返回 False。
  • any() 函数的参数是列表(要搜索的)和要检查的元素。如果列表中的“任何”元素与要检查的元素匹配,则该函数返回 True。
  • any() 函数返回一个布尔值,回答了“此列表中是否有任何元素?”这个问题。

3) 如果二叉树未正确调整,它会退化成什么数据结构?

  • 链表
  • OrderedDict
  • set

4) 关于静态方法的哪个陈述是正确的?

  • 静态方法之所以称为静态,是因为它们总是返回 None。
  • 静态方法可以绑定到类或类的实例。
  • 静态方法通常用作实用程序或辅助方法,因为它们无法访问或修改类状态。
  • 静态方法可以访问和修改类或类的实例的状态。

5) 定义属性?

  • 属性是 if/else 语句的长格式版本,用于测试对象之间的通信。
  • 属性是一种为类或类的实例保存数据或描述状态的方法。
  • 属性是描述类特性的字符串。
  • 函数参数被称为类方法和实例方法的“属性”。

解释属性在类下定义,参数在函数下传递。参数通常指的是形参,而属性是类或类实例的构造函数。


6) 你可以使用哪个内置列表方法从列表中删除元素?

  • delete() 方法
  • pop(my_list)
  • del(my_list)
  • .pop() 方法

7) Python sys 库最常见的用途是什么?

  • 捕获在文件运行时提供的命令行参数。
  • 连接不同的系统,例如连接 Web 前端、API 服务、数据库和移动应用程序。
  • 获取虚拟机环境中所有包和库的快照。
  • 在虚拟机环境中检查 Python 环境的健康状况。

8) 通过使用键访问字典中的值的时间复杂度是多少?

  • O(n) 称为线性时间,O(n^2) 称为二次时间。
  • O(log n),也称为对数时间。
  • O(1),也称为常数时间。

9) 定义一个名为 Game 的类,该类继承自名为 LogicGame 的父类,正确的语法是什么?

  • class Game(LogicGame): pass
  • def Game(LogicGame): pass
  • def Game.LogicGame(): pass
  • class Game.LogicGame(): pass

10) 哪个内置 Python 数据类型通常用于表示堆栈?

  • set
  • list
  • 字典

11) 在定义或调用实例方法时,“self_var”关键字的作用是什么?

  • self_var 意味着无需将其他参数传递给方法。
  • self_var 方法没有实际作用;它只是 Python 为与其他编程语言保持兼容而保留的遗留软件工程术语。
  • self_var 指的是调用了其方法的那一实例。
  • self_var 指的是用于创建使用 self_var 的对象的继承类。

12) 以下哪项不是命名元组的特征?

  • 您可以为每个命名元组成员分配一个名称,并像访问字典中的键一样进行引用。
  • 命名元组对象的每个成员都可以像普通元组一样直接索引。
  • 命名元组与普通元组一样节省内存。
  • 使用命名元组不需要导入,因为它们存在于标准库中。

13) 什么是实例方法?

  • 实例方法可以修改实例或其父类本身的状态。
  • 实例方法包含与实例相关的数据。
  • 实例方法是任何不接受参数的类方法。
  • 实例方法是属于类的自定义函数,但它必须返回 None。

14) 哪个陈述不描述封装的面向对象编程概念?

  • 它保护数据免受外部干扰。
  • 父类被封装,父类中的任何数据都不会传递给子类。
  • 它将数据和可以操作该数据的方法保持在一个地方。
  • 它只允许通过方法修改数据。

15) 内置的 map() 函数做什么?

  • 它将可迭代对象中的多个值映射到一个值。
  • 它将一个函数应用于可迭代对象中的所有元素,并返回该函数的值。
  • 它将复杂值类型转换为更简单值类型。
  • 它在不同可迭代对象的两个不同元素之间创建映射。

16) 如果你没有显式地从函数返回一个值,会发生什么?

  • 如果你不返回值,函数将返回一个 RuntimeError。
  • 如果缺少 return 关键字,函数将返回 None。
  • 如果缺少 return 关键字,函数将返回 True。
  • 函数将进入无限循环,因为它不知道何时停止执行其代码。

17) pass 语句在 Python 中的目的是什么?

  • 用于跳过生成器的 yield 语句并返回 None 值。
  • 它是一个无效操作,主要用作函数、类等的占位符。
  • 它用于将控制权从一个语句块传递到另一个语句块。
  • 它用于跳过 for 或 while 循环的其余部分并返回到循环的开头。

18) 哪个术语描述了可以传递到函数中的项?

  • 参数
  • 典型实例
  • 属性
  • 装饰器

19) 哪个集合类型用于将值与唯一键关联?

  • 空格
  • 字典
  • 序列
  • 有序列表

20) for 循环何时停止迭代?

  • 当它遇到无限循环时
  • 当它遇到包含 break 关键字的 if/else 语句时
  • 当它已经遍历完正在处理的可迭代对象中的所有元素,或遇到 break 关键字时
  • 当循环的运行时间超过 O(n^2) 时

21) 假设节点位于单链表中,在单链表中搜索特定节点的运行时复杂度是多少?

  • 运行时为 O(n),因为在最坏情况下,您要查找的节点是最后一个节点,并且必须访问链表中的每个节点。
  • 运行时为 O(nk),其中 n 代表节点数,k 代表访问内存中每个节点所需的时间。
  • 除非知道单链表中的节点数,否则无法确定运行时。
  • 运行时为 O(1),因为您可以直接索引到单链表中的节点。

22) 使用 all() 内置函数处理列表时会发生什么?

  • all() 函数返回一个布尔值,回答了“此列表中的元素是否相同?”这个问题。
  • 如果列表中的所有元素都可以转换为字符串,则 all() 函数返回 True。否则,它返回 False。
  • all() 函数将返回列表中的所有值。
  • 如果列表中的所有元素都评估为 True,则 all() 函数返回 True。否则,它返回 False。

23) set 和 list 之间的关键区别是什么?

  • set 是有序的项集合。list 是无序的非唯一项集合。
  • 可以从列表中检索元素,但不能从 set 中检索。
  • set 是有序的非唯一项集合。list 是无序的唯一项集合。
  • set 是无序的唯一项集合。list 是有序的非唯一项集合。

24) 假设 Game 类继承自两个父类:Table game 和 LogicGame。哪个陈述验证了 Game 类对象的方法?

  • 在初始化对象时,对象不继承任何父类的方法。
  • 在初始化对象时,对象将继承方法最多的那个父类的方法。
  • 在初始化对象时,构造函数必须指定要继承方法的父类。
  • Game 类的实例将继承 Table game 和 LogicGame 类所拥有的任何内容。

25) 调用命名元组(namedtuple)处理集合类型会返回什么?

  • 一个具有可迭代边界字段的常规对象类
  • 一个具有不可迭代命名字段的常规对象类
  • 一个具有不可迭代边界字段的元组子类
  • 一个具有可迭代命名字段的元组子类

26) 类中的 __init__() 方法做什么?

  • __init__ 方法使类相互了解,即使在一个代码文件中定义了多个类。
  • __init__ 方法包含是为了与 Python 3 向后兼容 Python 2;但它永远不会在 Python 3 中使用。
  • __init__ 方法是一个构造函数方法,在每次从类创建新对象时自动调用。它设置新对象的初始状态。
  • __init__ 方法初始化您可能在文件顶部包含的所有导入。

27) “空间复杂度”是什么意思?

  • 在不到一分钟的时间内运行您的代码所需的微秒数。
  • 代码文件中包含的代码行数。
  • 作为数据大小的函数占用的内存量。
  • 1 GB 内存可以容纳的代码副本数量。

28) 在定义或调用对象实例上的方法时,self_var 关键字的作用是什么?

  • self_var 指的是用于创建使用 self_var 的对象的继承类。
  • self_var 方法没有实际作用。它只是 Python 为与其他编程语言保持兼容而保留的遗留软件工程术语。
  • self_var 意味着无需将其他参数传递给方法。
  • self_var 指的是调用了其方法的那一实例。

29) 关于类方法哪个陈述是正确的?

  • 类方法是属于类的常规函数,但它必须返回 None。
  • 类方法可以修改类本身的状态,但不能直接修改从该类继承的实例的状态。
  • 类方法类似于常规函数,但类方法不接受参数。
  • 类方法包含特定类的所有数据。

30) 函数具有线性运行时意味着什么?

  • 您在代码中没有使用许多高级计算机编程概念。
  • 您的代码的编写难度级别非常高。
  • 您的程序运行时间将不到半分钟。
  • 函数完成所需的时间随输入大小的增加而线性增加。

31) 定义函数的正确方法是什么?

  • def getMaxNum(list_of_nums): # function body goes here
  • func get_max_num(list_of_nums): # function body goes here
  • func getMaxNum(list_of_nums): # function body goes here
  • def get_max_num(list_of_nums): # function body goes here

32) 根据 PEP 8 编码风格指南,Python 中的常量应如何命名?

  • 在此情况下,不使用下划线分隔单词 - 例如,maxValue = 255
  • 小写并用下划线分隔单词 - 例如,max_value = 255
  • 全大写并用下划线分隔单词 - 例如,MAX_VALUE = 255
  • 混合大小写,不使用下划线分隔单词 - 例如,MaxValue = 255

33) 描述双端队列(deque)的功能?

  • 双端队列从一端添加元素,从另一端删除元素。
  • 双端队列在一端或两端添加元素,但只从顶部删除元素。
  • 双端队列在一端或两端添加元素,并在一端或两端删除元素。
  • 双端队列只在顶部添加元素,但从任一端或两端删除元素。

34) 以下关于数值数据如何在二叉搜索树中组织的哪个陈述是正确的?

  • 对于二叉搜索树中的任意节点,左侧的子节点小于给定节点的值,右侧的子节点大于给定节点的值。
  • 由于非常深的树产生的复杂性,二叉搜索树不能用于组织和搜索数值数据。
  • 二叉搜索树的根节点将是随机数。根节点左侧的所有节点都应小于根节点的值,但它们不必以特定方式排序。
  • 此模式将继续,直到所有数值都位于其节点中。最小的数值将位于根节点。下一个较大的数字将位于其左子节点,下一个较大的数字将位于其右子节点。

35) 你会如何使用装饰器?

  • 装饰器类似于类,并且在您进行函数式编程而不是面向对象编程时应该使用它。
  • 装饰器是阅读您代码的人的一个视觉标记,表明您的代码某一部分是关键的,不应被更改。
  • 您使用装饰器来修改函数的行为,而无需更改函数的代码。
  • 导入语句前面有一个装饰器,Python 会知道导入正在导入的任何包或库的最新版本。

36) 您何时会使用 for 循环?

  • 仅在某些情况下,循环仅用于特定类型的编程。
  • 当您需要迭代已知长度的可迭代对象中的每个元素时。
  • 当您想限制代码中使用字符串时。
  • 当您想在另一个文件中的函数中使用一个文件中的代码时。

37) 如果不修改递归处理的元素的状态,会发生什么?

  • 您无需更改正在递归的元素的状态。
  • 当递归代码部分用完要递归的元素时,您将收到一个 KeyError。
  • 您将收到一个 RuntimeError: maximum recursion depth exceeded。
  • 使用递归的函数将返回 None。

38) 搜索二叉搜索树中项的运行时复杂度是多少?

  • 在二叉搜索树中搜索的运行时为 O(1),因为每个节点都像字典一样作为键。
  • 在二叉搜索树中搜索的运行时为 O(n!),因为每个节点都必须与其他所有节点进行比较。
  • 搜索二叉搜索树的运行时通常是 O(h),其中 h 是树的高度。
  • 搜索二叉搜索树的运行时为 O(n),因为必须访问树中的每个节点。

39) 你会如何使用 mixin?

  • 您使用 mixin 来强制函数在运行时接受参数,即使该参数已从函数定义中省略。
  • 您使用 mixin 来允许装饰器接受关键字参数。
  • 您使用 mixin 来确保类的属性和方法不会与全局变量和函数发生冲突。
  • 如果您有许多类都需要具有相同的函数,您将使用 mixin 来定义该函数。

40) 向堆栈添加元素和从堆栈移除元素的运行时复杂度是多少?

  • 以 O(1) 时间向堆栈添加元素,以 O(n) 时间从堆栈移除元素。
  • 以 O(1) 时间向堆栈添加元素,以 O(1) 时间从堆栈移除元素。
  • 以 O(n) 时间向堆栈添加元素,以 O(1) 时间从堆栈移除元素。
  • 以 O(n) 时间向堆栈添加元素,以 O(n) 时间从堆栈移除元素。

41) 哪个陈述描述了元素如何被添加和移除堆栈?

  • 堆栈从一端添加元素,从另一端移除元素。
  • 堆栈从顶部添加元素,从顶部移除元素。
  • 堆栈从顶部添加元素,并从堆栈中的任意位置移除元素。
  • 堆栈在一端或两端添加元素,并在一端或两端移除元素。

42) 递归函数中的基本情况是什么?

  • 基本情况是允许计算停止递归的条件。通常问题足够小,可以直接解决。
  • 基本情况是对需要解决的总体问题的总结。
  • 基本情况作为参数传递给其主体使用递归的函数。
  • 基本情况类似于基类,因为它可能被另一个对象继承。

43) 为什么使用 'with' 关键字从 Python 脚本中打开文件是最佳实践?

  • 该关键字允许您选择用哪个应用程序打开文件。
  • 该关键字的行为类似于 for 循环,允许您逐行访问文件。
  • 在 Python 中使用该关键字打开文件没有好处。
  • 当您使用 Python 中的关键字打开文件时,Python 会确保文件被关闭,即使发生异常或错误。

44) 你会如何使用虚拟环境?

  • 虚拟环境在您的项目周围创建了一个“气泡”,因此您在该环境中安装的任何库或包都不会影响您的整个机器。
  • 与远程工作人员合作的团队使用虚拟环境来共享代码、进行代码审查和远程协作。
  • 虚拟环境在 Python 2 中很常见,因为它们弥补了语言中缺失的功能。由于语言的进步,虚拟环境在 Python 3 中已过时。
  • 虚拟环境已绑定到您的 GitHub 或 Bitbucket 帐户,允许您几乎从任何计算机访问您的任何存储库。

45) 从命令行运行给定文件中的所有 doctest 的正确方法是什么?

  • python3 - m doctest <_filename_>
  • python3 <_filename_>
  • python3 <_filename_> rundoctests
  • python3 doctest

46) 什么是 lambda 函数?

  • 任何使用数学或逻辑常量的函数,通常在学术写作中用希腊字母表示。
  • 使用装饰器时执行的函数。
  • 定义保存在五行或更少代码中的任何函数。
  • 一个小型、匿名的函数,可以接受任意数量的参数,但只有一个表达式可以评估。

47) list 和 tuple 的主要区别是什么?

  • 元组是不可变的,这意味着一旦创建了元组,就不能更改其中的数据。您可以按索引访问列表中的特定元素。但是,除非您迭代元组,否则您无法访问元组中的特定元素。
  • 列表是可变的,这意味着您可以随时更改其中的数据。
  • 列表是不可变的,这意味着一旦创建了列表,就不能更改其中的数据。元组是可变的,这意味着您可以随时更改其中的数据。
  • 列表可以同时包含多种数据类型,但如果存在其他元素,元组也可以包含相同的数据类型。

48) 关于静态方法哪个陈述是正确的?

  • 静态方法可以绑定到类或类的实例。
  • 静态方法可以访问和修改类或类的实例的状态。
  • 静态方法通常用作实用程序或辅助方法,因为它们无法访问或修改类状态。
  • 静态方法之所以称为静态,是因为它们总是返回 None。

49) 生成器返回什么?

  • 一个可迭代对象
  • 从非空列表中链接的数据结构。
  • 给定字典的所有键。

50) 类属性和实例属性之间有什么区别?

  • 实例属性可以被修改,但类属性不能被修改。
  • 类属性在类的所有实例之间共享。实例属性可能仅特定于该实例。
  • 类属性和实例属性之间没有区别。
  • 类属性仅属于类,不属于该类的实例。实例属性在类的所有实例之间共享。

51) 如果在 while 循环中忘记包含最终导致 while 循环停止的逻辑,会发生什么?

  • 什么都不会发生;您的计算机知道何时停止运行 while 循环中的代码。
  • 您将收到一个 KeyError。
  • 您的代码将陷入无限循环。
  • 您将收到一个 WhileLoopError。

52) 描述队列的功能。

  • 队列在一端添加元素,从另一端移除元素。
  • 队列从顶部添加元素,从顶部移除元素。
  • 队列从顶部添加元素,并从列表中的任意位置移除元素。
  • 队列从顶部添加元素,并从队列中的任意位置移除元素。

53) defaultdict 如何工作?

  • defaultdict 将自动为您创建一个字典,其中键是数字 0-10。
  • defaultdict 强制字典接受该类型(如字符串或整数)的键,这些类型在创建 defaultdict 时指定。
  • 如果您尝试使用不存在的键从 defaultdict 读取,将创建一个新的默认键值对,而不是引发 KeyError。
  • defaultdict 将字典的副本存储在内存中,当原始字典意外更改时,您可以将其作为默认值。

54) 您何时会使用 while 循环?

  • 当您想限制代码中使用字符串时。
  • 当您想在一个文件中运行代码,而另一个文件中的代码也在运行时。
  • 当您希望某些代码持续运行,只要某个条件为真。
  • 当您想在同一文件中同时运行至少两段代码时。

55) 何时会在代码中使用异常/try except 块?

  • 当您想运行一些代码,但您需要一种方法来执行其他代码,以防引发异常时,您会使用 except/try 块。
  • 您在单元测试中使用 except/try 块,以便单元测试始终通过。
  • 您使用 try/except 块来向您的代码审阅者表明您尝试了一种新方法。但是,如果新方法不是他们想要的,他们可以在 except 关键字下留下评论。
  • 您使用 except/try 块,以确保您的任何函数或方法都不会返回 None。

56) 在 Python 中,编译器如何识别 for 循环的内部块?

  • 由于循环后的缩进程度。
  • 由于循环末尾的 end 关键字。
  • 由于块被大括号 ({}) 包围。
  • 由于循环体末尾的明显缩进。

57) 创建绑定到 set 的变量的正确语法是什么?

  1. Myset1 = {0, 'apple1', 4.5}
  2. Myset1 = to_set(0, 'apple1', 4.5)
  3. Myset1 = (0, 'apple1', 4.5).to_set()
  4. Myset1 = (0, 'apple1', 4.5).set()

答案:选项 a


58) 定义一个 __init__() 方法,该方法在创建新类实例时设置特定于实例的属性的正确语法是什么?

选项 a

选项 b

选项 c(正确答案)

选项 d


59) 如果不带参数调用此递归函数,它将打印什么?

选项 a

选项 b

选项 c

选项 d(正确答案)

答案:D


60) 在 Python 中,使用 _ 来注册两个集合之间的交集,使用 _ 来查找并集。

  1. 交集-并集
  2. |; &
  3. &; |
  4. &&; ||

答案:c


61) if/else 语句的目的是什么?

  • 它告诉计算机在您编写的指令不正确时运行哪段代码。
  • 如果所有导入都成功,它将运行一段代码,如果导入失败,则运行另一段代码。
  • 如果条件为真,它将执行一段代码;如果条件为假,则执行另一段代码。
  • 它告诉计算机在有足够内存处理时运行哪段代码,以及在内存不足以处理时运行哪段代码。

62) “抽象”在面向对象的 Python 中的含义是什么?

  • 抽象意味着可以使用一种不同的代码风格,因为程序在后台知道了许多细节。
  • 抽象意味着实现对用户隐藏,并且只显示相关数据或信息。
  • 抽象意味着类的属性和功能被合并到一个实体中。
  • 抽象意味着一个类可以继承自多个父类。