编程面试题

静态绑定和动态绑定的介绍?

静态绑定和动态绑定是C++多态性的一种特性。 对象的静态类型和动态类型: 静态类型:对象在声明时采用的类型,在编译时确定。 动态类型:当前对象所指的类型,在运行期决定,对象的动态类…

什么是内存泄漏?防止内存泄露的方法?

什么是内存泄漏? 动态分配内存所开辟的空间,在使用完毕后未手动释放,导致一直占据该内存,即为内存泄漏。 内存泄漏的分类 1.堆内存泄漏 堆内存泄漏指的是程序运行中根据需要通过mal…

栈溢出的原因以及解决方法

栈溢出是指函数中的局部变量造成的溢出(注:函数中形参和函数中的局部变量存放在栈上)栈的大小通常是1M-2M,所以栈溢出包含两种情况,一是分配的的大小超过栈的最大值,二是分配的大小没…

智能指针?

为啥要使用智能指针? 首先我们知道C++对内存的动态管理都是有程序编写者进行申请和释放,那有时候就忘记释放了,这个时候会造成内存泄露,内存泄露浪费了系统的内存,程序也很容易崩溃,为…

什么是事务?

事务:数据库的一系列操作作为一个逻辑执行单元,要么都成功执行,要么失败恢复原来的状态。 事务的特性:一致性,原子性,隔离性,持久性,简称事务的ACID特性。

wait和 sleep 的区别?

wait是Object的方法,wait是对象锁,锁定方法不让继续执行,当执行notify方法后就会继续执行,sleep 是Thread的方法,sleep 是使线程睡眠,让出cpu,…

const和readonly有什么区别?

相同点: 都是用来修饰常量。 不同点: 1.初始化位置不同,const在声明的时候必须赋值,readonly在初始化的过程中也可以赋值。 2.readonly是实例成员,不同的实例…

深拷贝和浅拷贝?

浅拷贝:仅拷贝被拷贝对象的成员变量的值,也就是基本数据类型变量的值,和引用数据类型变量的地址值,而对于引用类型变量指向的堆中的对象不会拷贝。 深拷贝:完全拷贝一个对象,拷贝被拷贝对…

== 和 equals 的区别?

在 Java 中,== 操作符和 equals() 方法用于比较两个对象: ==:用于比较两个对象的引用,即它们是否指向同一个对象实例。 如果两个变量…

hashCode 与 equals?

这道题也是面试常问得——“你重写过 hashcode 和 equals 么,为什么重写 equals 时必须重写 hashCode ⽅法?” 什么是 hashCode 方法? ha…

加载更多