CVTE 软件开发工程师-C++ 一面

1. 自我介绍

如果不会, 可以看看我这篇文章 : 记住这几个回答,起码面试不减分

2. 针对之前的实习进行提问

3. vector 的 push_back 和 emplace_back 有什么区别

  • push_back:先创建临时对象,再拷贝/移动到容器,存在额外开销;
  • emplace_back:直接在容器内存原地构造,无临时对象,效率更高;
  • C++11 后优先使用 emplace_back。

代码示例

#include <vector>
#include <string>
using namespace std;

int main() {
    vector<string> v;

    // push_back:创建临时对象 + 移动
    v.push_back("hello");

    // emplace_back:原地构造,无临时对象
    v.emplace_back("world");
}

4. vector 的扩容原理

vector 是连续内存的动态数组,容量不足时会自动扩容:

  1. 扩容倍数:通常 1.5倍 或 2倍;
  2. 步骤:开辟新内存 → 拷贝/移动旧数据 → 释放旧内存;
  3. 扩容会导致迭代器、指针全部失效;
  4. 可使用 reserve 预先分配空间,减少扩容。

扩容触发代码

vector<int> v;
for (int i=0; i<10; i++) {
    v.push_back(i);
    // 容量不足时自动扩容
}

5. 实习项目中使用到的设计模式

6. 介绍一下单例模式两种设计思路

(1)饿汉模式

程序启动时就创建实例。

class Singleton {
private:
    static Singleton instance;
    Singleton() {}
public:
    static Singleton& getInstance() {
        return instance;
    }
};
Singleton Singleton::instance;

(2)懒汉模式

第一次使用时才创建。

class Singleton {
private:
    static Singleton* instance;
    Singleton() {}
public:
    static Singleton* getInstance() {
        if (instance == nullptr) {
            instance = new Singleton();
        }
        return instance;
    }
};
Singleton* Singleton::instance = nullptr;

7. 哪种单例模式是线程安全的

  1. 饿汉模式:天然线程安全;
  2. C++11 magic static 懒汉:线程安全(最推荐);
  3. 双检查锁(DCL)懒汉:线程安全。

线程安全最优写法(C++11)

class Singleton {
private:
    Singleton() {}
public:
    static Singleton& getInstance() {
        static Singleton instance;
        return instance;
    }
};

8. 饿汉模式的单例模式是否线程安全

是线程安全的。饿汉模式在程序进入 main 函数前就完成初始化,不存在多线程竞争问题,可安全使用。

9. 函数重载和函数重写的区别

函数重载(同一类)

  • 函数名相同,参数不同;
  • 无 virtual,编译期确定。
class A {
public:
    void f(int x) {}
    void f(double x) {}
};

函数重写(继承关系)

  • 函数名、参数、返回值完全相同;
  • 必须带 virtual,运行期多态。
clas

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

C++ 常考面试题总结 文章被收录于专栏

本专栏系统梳理C++方向, 大中厂高频高频面试考点 , 内容皆来自真实面试经历,从基础语法、内存管理、STL与设计模式,到操作系统与项目实战,结合真实面试题深度解析,帮助开发者高效查漏补缺,提升技术理解与面试通过率,打造扎实的C++工程能力.

全部评论

相关推荐

本人双九(一般的985)现在🐻厂实习字节hr两次电联同一个职位的实习,问我考不考虑,第二次说的很恳切🐻厂给的测开,字节给的后端本人还没确定,秋招走大厂还是走央国企,目前暂时偏向稳定,更倾向于在江浙一带工作犹豫的点:1.目前组内氛围好,mt也好,组长也好2.如果再面试,我需要重跑我的项目,再准备+八股+手撕,会很累3.如果准备不充分,怕脏面评过来人告诉你&nbsp;字节hr&nbsp;就是这德行面试前对每个候选人特别舔&nbsp;面完找他问进度就查无此人了哈哈哈哈哈,这几天在xhs上略有了解海捞吧hhh前期很热情,突然很冷淡😁双九这么不自信的吗?我这个实习的准备时间短,感觉在接其他面试被拷打了,项目和技术栈不熟,就没什么自信稳定也挺好呀在面字节前面几家其它的后端面试会好一些哈哈哈哈我同门面字节,一面二面就没有低于1h的,哈人🐻厂留用率?哥们儿你不知道字节是一线大厂里面发面最多的吗,发面试又不是oc,hr再恳切有作用吗现在知道了哈哈哈为啥要犹豫,字节不还是正常面试吗,又不是已经拿到oc了不想脏面评,不过现在也无所谓了,也不准备去大厂现在这么卷,0实习能进的,都是有真本事的测开转后端也不错吧,不过HR虽然舔,面试要求不会放松的🐻厂留用率?听说转正会比较容易?不是特别了解还以为是到hr面了让你去呢,就约个面试能有多诚恳那就赶紧准备啊,看看别人面经,刷八股啥的暂时没有特别想换的准备,大概率all&nbsp;in央国企了字节hr都很热情吧,最近27届暑期开了,也收到几个电话&nbsp;但是考虑不想脏面评就不面了已经略有了解了,感觉很海捞建议不要脏面评,年后投随便约面666又遇到兄弟了hr是说约年后试一下咯暂时不考虑了hhh双***历都到顶了不是很厉害的9,曾经被嘲过要不等年后吧,不差这一次吧??字节那不是投了就能面吗?一定要面这个岗?打电话也是准备说年后了,年前肯定不行哈哈哈我投的少,我也不知道是不是投了就能面主要怕我面得不好,唉双9干什么测开哈哈哈哈哈,准备实习的时间很短很仓促,收到的后端面试不多,想着先有个实习就走了测开熊是什么厂百度大胆去面吧&nbsp;我就是不自信加上没后端实习&nbsp;秋招大厂只投了测开&nbsp;现在有点后悔,不自信加上项目不熟,我感觉会被拷打所以害怕没事&nbsp;不会损失啥&nbsp;等你真的拿了测开就会像我一样从激动欣喜到焦虑前景还有一个就是怕字节脏面评,所以如果接面试肯定也会努力准备一下的如果秋招不满意的话,还能搏一搏春招吧,我身边就有在春招找到不错的岗位的还有就是,emmmm,周围也有面字节的,普遍表示有难度,我觉得我菜
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务