太初元基面经
一面(7后天过):
1、自我介绍
2、介绍一下推理框架这个项目
3、说一下推理项目中的项目难点
4、说说maxpool、conv的算子定义
5、C++11/14/17的新特性
6、说说左值与右值
- 左值(lvalue):
1. 可寻址、有持久状态
2. 有名称的变量
3. 可出现在赋值左侧
- 右值(rvalue):
1. 临时对象或字面量
2. 即将销毁的对象
3. 只能出现在赋值右侧
- C++11扩展:
1. 右值引用(&&)
2. 移动语义(std::move)
3. 完美转发(std::forward)
- 应用场景:
1. 移动构造函数
2. 避免不必要的拷贝
7、讲讲C++中封装、继承、多态
- 封装:
1. 数据与操作绑定
2. 访问控制(private/protected/public)
3. 隐藏实现细节
- 继承:
1. 代码复用机制
2. 类型:单继承/多继承
3. 继承方式:public/protected/private
- 多态:
1. 同一接口不同实现
2. 实现方式:
- 编译时:函数重载、模板
- 运行时:虚函数(virtual)
3. 虚函数表机制
8、C++中继承中析构函数、构造函数顺序
- 构造函数顺序:
1. 基类构造函数(从最顶层开始)
2. 成员对象构造函数(按声明顺序)
3. 派生类构造函数
- 析构函数顺序(完全相反):
1. 派生类析构函数
2. 成员对象析构函数(逆序)
3. 基类析构函数(从最底层开始)
- 重要注意:
1. 基类析构函数应声明为virtual
2. 多继承时按继承列表顺序构造/逆序析构
9、TensorFLow深度学习介绍一下
- 基本概念:
1. Google开发的开源深度学习框架
2. 基于数据流图(Data Flow Graphs)
3. 节点为操作,边为张量(tensor)
- 核心特性:
1. 跨平台支持(CPU/GPU/TPU)
2. 自动微分机制
3. 高级API(Keras/Estimator)
- 主要组件:
1. TensorFlow Core
2. TensorFlow Lite(移动端)
3. TensorFlow.js(浏览器)
4. TFX(端到端平台)
- 应用领域:
1. 计算机视觉
2. 自然语言处理
3. 语音识别
4. 推荐系统
10、gdb调试的一些基本命令
11、使用Cmake多一点还是makefile多一点
12、OpenMP与CUDA中多线程的区别
- OpenMP:
1. CPU多核并行
2. 共享内存模型
3. 指令式并行(#pragma)
4. 适合粗粒度任务
- CUDA:
1. GPU并行计算
2. 异构架构(CPU+GPU)
3. 显式内存管理
4. 适合细粒度数据并行
- 主要区别:
1. 硬件平台(CPU vs GPU)
2. 内存模型(共享 vs 分离)
3. 并行粒度(数十 vs 数千线程)
4. 编程复杂度(简单 vs 复杂)
13、讲讲gtest
14、线程与进程的区别
进程:
1. 资源分配单位
2. 独立地址空间
3. 创建/销毁开销大
4. 通信复杂(IPC)
- 线程:
1. CPU调度单位
2. 共享进程资源
3. 创建/销毁开销小
4. 通信简单(共享变量)
- 主要区别:
1. 资源占用(多 vs 少)
2. 切换开销(大 vs 小)
3. 安全性(高 vs 低)
4. 独立性(高 vs 低)
15、推理框架中如何使用cuda的构建算子的。
16、终端文件浏览器中如何使用ffmpeg进行图片解码的
17、知不知道github上有一个终端的框架。
18、知道gdb中调试时产生的cored文件。
- 是程序崩溃时生成的内存转储文件
- 包含了程序崩溃时的内存状态、寄存器值、堆栈信息等
- 文件名通常为core或core.<pid>
19、如何进行算子上的性能的测试的。
20、一些关于公司业务的问题,实习的位置、时间。
21、关于比赛的一些好处
22、C++中程序的内存的分布
- 五大内存分区:
1. 栈区:局部变量、函数参数(自动管理)
2. 堆区:动态分配内存(手动管理)
3. 全局/静态区:全局/静态变量
4. 常量区:字符串常量等(只读)
5. 代码区:程序指令(只读)
- 内存布局特点:
1. 栈向低地址增长,堆向高地址增长
2. 全局/静态变量在程序启动时初始化
3. 常量区和代码区为只读区域
23、C++中可以将内联函数设置为虚函数吗
- 语法上可以,但实际不会内联
- 原因:
1. 虚函数需要运行时动态绑定
2. 内联需要在编译期确定具体实现
- 结果:
1. 编译器会忽略inline关键字
2. 仍通过虚函数表调用
- 建议:
1. 避免这种写法(没有优化效果)
2. 只有final类的虚函数可能被内联
24、Linux使用的是什么发行版
25、笔记本的显卡配置
#面试问题记录##牛客创作赏金赛#