回顾2024年秋招一些面试常见的问题,主要涉及软件开发和嵌入式部分内容。
1. 浅拷贝深拷贝
深拷贝和浅拷贝是两种不同的拷贝方式,用于复制对象。它们主要区别在于对嵌套对象的处理方式。
-
浅拷贝:只复制对象的顶层,嵌套对象仍然是共享引用。
-
深拷贝:递归复制所有对象及其嵌套对象,二者完全独立。
浅拷贝是对一个对象的顶层进行拷贝。也就是说,拷贝后的新对象会拥有原对象中的引用,但对于嵌套对象(例如列表、字典等容器中的其他对象),浅拷贝只会复制它们的引用,而不会复制它们本身。
-
优点:操作速度快,开销小。
-
缺点:因为嵌套对象共享引用,修改一个对象的嵌套部分会影响另一个对象。
深拷贝会递归地复制对象及其所有嵌套的对象。这样,拷贝出来的新对象和原对象完全独立,修改其中一个对象不会影响另一个。</