2024 某公司python 面试真题

embedded/2024/12/22 2:14:19/
  1. Q: Can the type of options or labels of switch-case be floating?
    在C语言中,switch-case语句的标签必须是整数类型,不能是浮点型。而在Python中,没有switch-case语句,但是可以使用字典来实现类似的功能,而字典的键可以是浮点型。

  2. Q: How many bits are in a byte? char, short, int, boolean?
    在C语言中,一个字节通常定义为8位。而在Python中,整数类型的大小是可变的,没有固定的位数,但是通常情况下:
    • char:在C语言中至少占8位,在Python中没有固定大小。
    • short:在C语言中至少占16位,在Python中没有固定大小。
    • int:在C语言中至少占16位,在Python中没有固定大小。
    • boolean:在C语言中没有boolean类型,在Python中通常作为整数处理,大小取决于实现

  3. Q: How many bytes a pointer of char (character) is allocated in memory?
    在C语言中,指针的大小通常与地址总线的大小相同,因此在32位系统中为4字节,在64位系统中为8字节。而在Python中,没有指针的概念,但是可以使用ctypes模块来操作原生内存

  4. Q: When the value of sizeof is determined? Compile-time or Run-time?
    在C语言中,sizeof操作符在编译时确定。而在Python中,没有sizeof操作符,但是可以使用sys.getsizeof()函数来获取对象的大小,该值在运行时确定

  5. Q: Which segment (or section) of memory is allocated by using malloc?
    在C语言中,使用malloc分配的内存位于堆中。而在Python中,内存管理是由解释器自动处理的,对象的内存分配是在堆上完成的

  6. Q: Static local variant in a C function is allocated on the stack?
    在C语言中,静态局部变量是在数据段中分配的,而不是在堆栈上。而在Python中,局部变量是在函数调用栈上分配的

  7. Q: For an integer variable 0x12345678 on a 32 bit big endian platform, what’s the byte on the lowest memory address of this integer variable?
    在C语言中,整数在内存中的存储顺序取决于系统的端序。在大端序系统中,最高有效字节存储在最低内存地址上,因此对于0x12345678,最低内存地址上的字节是0x12。而在Python中,不直接暴露底层内存表示,因此需要依赖C实现来确定

  8. Q: Unsigned integer a is 1, unsigned integer b is 3, what is the output of bit operation OR on a and b? And what is the output of bit operation AND on a and b?
    在C语言中,按位或运算符为|,按位与运算符为&。对于给定的值,无符号整数a为1,无符号整数b为3,则:
    a) 按位或运算:a | b 的结果为 3。
    b) 按位与运算:a & b 的结果为 1。
    在Python中,使用|和&进行按位运算,结果也是一样的

  9. Q: What is the time complexity of bubble sort?
    冒泡排序的时间复杂度是O(n^2),其中n是待排序数组的长度。这适用于C语言和Python中的冒泡排序实现

  10. Q: what is the allocated memory size for c string constant “abcde”?
    在C语言中,字符串常量包含一个额外的空字符’\0’,因此分配的内存大小为6字节。而在Python中,字符串对象的大小取决于其长度以及解释器在内部所需的额外空间,通常情况下不会直接暴露给用户

  11. 如何获得一个数组a的成员个数?
    在C语言中,可以通过sizeof(a) / sizeof(a[0])来获得数组a的成员个数。在Python中,可以使用len(a)来获取列表a的长度

  12. Difference between strlen( ) and sizeof( ) for string in C
    strlen()是一个函数,用于计算字符串的长度,其结果是字符串中字符的个数,不包括空字符’\0’。sizeof()是一个操作符,用于计算数据类型或变量的大小,包括空字符在内。

  13. 如果a是一个指向int类型变量的指针( int *a),那么a+1和a的值差多少?
    在C语言中,指针的算术运算会根据指针类型进行调整,因此a+1将使得指针a增加一个int类型的大小,即sizeof(int)字节。因此,a+1和a的值之间的差为sizeof(int)。在Python中,指针概念不像C语言那样直接存在,但是可以使用列表来模拟指针操作

  14. 有char ch = -1 ,那么 ch >> 1 和 ch << 1分别是多少?
    在Python中,按位操作符(如>>和<<)会在整数上执行移位操作,即使是对于负数也是如此。因此,ch >> 1将右移一位,结果为 -1 >> 1 = -1;ch << 1将左移一位,结果为 -1 << 1 = -2

个人建议了解一下即可,不需要深挖


http://www.ppmy.cn/embedded/93399.html

相关文章

leetcode:1822. 数组元素积的符号(python3解法)

难度&#xff1a;简单 已知函数 signFunc(x) 将会根据 x 的正负返回特定值&#xff1a; 如果 x 是正数&#xff0c;返回 1 。如果 x 是负数&#xff0c;返回 -1 。如果 x 是等于 0 &#xff0c;返回 0 。 给你一个整数数组 nums 。令 product 为数组 nums 中所有元素值的乘积。…

通过数组中元素或者key将数组拆分归类成新的二维数组

处理前的数组: 处理后的数组: 你希望根据 riqi 字段将这个数组拆分成多个二维数组,每个二维数组包含相同日期的项。在ThinkPHP中,你可以使用PHP的数组操作来实现这一拆分操作。以下是如何按照 riqi 字段拆分成新的二维数组的示例代码: $splitArrays = [];foreach ($list…

第十一届MathorCup高校数学建模挑战赛-C题:基于有限差分法的散热机理建模与海底数据中心优化设计

目录 摘 要 1 问题重述 1.1 问题背景 1.2 问题重述 2 问题分析 3 模型假设 4 符号说明 5 我们的工作 6 模型的建立与求解 6.1 建模前的准备 6.2 问题一的建模与求解 6.3 问题二的建模与求解 6.4 问题三的建模与求解 6.5 问题四的建模与解决 7 结果检验及误差分析 8 模型评价 9 …

VS Code中使用MSVC编译C++程序

前置条件 1. VS Code配置C开发环境 2. CMake安装 3. VS安装&#xff08;MSVC编译器&#xff09; 4. 环境变量配置&#xff08;重要&#xff01;&#xff01;&#xff01;&#xff09; ​​​​使用msvc的cl工具编译程序&#xff0c;以及 “fatal error C1034: iostream: 不包括…

进阶学习-----进程与线程

进程是什么&#xff1f; 在计算机科学中&#xff0c;进程&#xff08;Process&#xff09;是操作系统进行资源分配和调度的基本单位。它是一个具有一定独立功能的程序关于某个数据集合的一次运行活动&#xff0c;是系统进行资源分配和调度的一个独立单位。每个进程都有自己独立…

linker command failed with exit code 1

报错内容&#xff08;80年不写C&#xff0c;连虚函数是啥都忘了hhhh&#xff09; Undefined symbols for architecture arm64:"IDPairAccum::run()", referenced from:_main in main.o"IDPairAccum::~IDPairAccum()", referenced from:_main in main.o_ma…

WPF篇(13)-ScrollViewer控件+ScrollBar滚动条+Slider滑动条

ScrollViewer控件 如果某个控件的尺寸太大&#xff0c;当前界面无法全部显示&#xff0c;则可以将这个控件包含在ScrollViewer中&#xff0c;因为ScrollViewer控件封装了一个水平滚动条ScrollBar和一个垂直滚动条ScrollBar&#xff0c;所以&#xff0c;ScrollViewer就是一个包…

使用 Vue3 生成二维码和条形码

目录 前言 一、前期准备 1.1. 使用Vite创建工程化项目 1.2 安装所需的依赖 二、环境检查 三、生成二维码 3.1 创建二维码组件 3.2 在App.vue中使用二维码组件 四、生成条形码 4.1 创建条形码组件 4.2.在App.vue中使用条形码组件 五、启动测试与效果演示 5.1 启动de…