2024 某公司python 面试真题

  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

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

相关推荐
HackKong21 分钟前
高校网络安全_网络安全之道
java·网络·c++·python·学习·web安全·黑客技术
半夏知半秋34 分钟前
lua debug相关方法详解
开发语言·学习·单元测试·lua
Andy01_38 分钟前
Java八股汇总【MySQL】
java·开发语言·mysql
yangjiwei02071 小时前
数据结构-排序
数据结构·python
坊钰1 小时前
【Java 数据结构】合并两个有序链表
java·开发语言·数据结构·学习·链表
秋天下着雨1 小时前
apifox调用jar程序
java·python·jar
bs_1011 小时前
【保姆式】python调用api通过机器人发送文件到飞书指定群聊
python·机器人·飞书
Redamancy_Xun2 小时前
软件老化分析
python·程序人生·安全威胁分析·可信计算技术·安全架构
geovindu2 小时前
python: Oracle Stored Procedure query table
数据库·python·mysql·postgresql·oracle·sqlserver·mssql
工业甲酰苯胺2 小时前
聊一聊 C#线程池 的线程动态注入
java·开发语言·c#