美团一面凉经
面试部门:到店事业群-SaaS事业部
ps:面试官很温和,会适当提示答案
1,数组和列表的区别是什么?
数据类型:列表和数组可以存储任何类型的数据,包括数字、字符串、布尔值等,但在某些编程语言中,数组必须存储相同类型的值。c语言中数组必须存储同一种数据类型,而python中的列表可以存储任何类型的数据,也可以组合不同类型的数据。
大小:数组在创建时必须指定其大小,而列表的大小可以动态增加或减少。这是因为列表在内存中是动态分配的,而数组则是在创建时分配固定的内存空间。如果需要存储可变数量的元素,应该使用列表。
内存管理:数组在创建时需要分配固定大小的内存空间,而这个空间在整个程序的生命周期中都会被保留。即使数组中只有几个元素,也会占用同样大小的内存空间。而列表可以根据需要动态分配和释放内存,更加灵活和有效。
访问元素:在数组中,元素可以通过索引值进行访问。由于数组中的元素都是相同的类型,因此可以使用简单的算术运算来计算要访问的元素的地址。这使得数组元素的访问速度非常快。而在列表中,元素也是通过索引值进行访问,但是由于列表中的元素可以是任何类型,因此访问元素的速度可能会慢一些。
功能:列表通常具有更多的功能,例如添加、删除、排序和搜索元素。这些操作在数组中也是可行的,但通常需要更多的编程工作。此外,列表还可以包含其他列表或数组,从而为程序员提供更多的灵活性和控制力。
适用场景:由于列表和数组在许多方面都有不同的特点,因此它们在不同的场景中可能更适合使用。数组通常用于需要快速访问和处理大量相同类型的数据的情况。例如,在图像处理或科学计算中,数组可能是更好的选择。而列表则适用于需要灵活地管理和操作不同类型的数据的场景,例如在Web应用程序或数据库应用程序中。
2,面向对象的语言的特点?
3,循环链表元素后移k位(代码题)
4,sql查询语句,子查询(代码题)
5,项目内容
6,近期是否有了解新的技术,什么途径
7,学习新事物的方式
8,实习经历