经纬恒润一面、笔试准备

一、面经准备:
1、static关键词:静态局部变量仅作用于代码段;静态全局变量仅作用于文件内部;静态成员函数仅通过类名调用;静态成员变量,类外初始化;静态线程局部变量;
2、虚析构函数:用于基类指针删除派生类对象时,正确调用派生类的析构,维持多态的正常运行;
3、动态绑定:晚绑定,运行绑定而不是编译绑定,虚函数的使用时,在基类指针或引用调用虚函数会发生动态绑定;编译器仅进行类型检查,然后创建虚函数表,在调用虚函数时动态绑定虚函数表;构造函数往往不是虚函数;
4、自定数据结构怎么传函数:函数指针、函数对象、仿函数、lambda表达式;
5、为什么函数传参要传引用/const引用:值传递会拷贝,效率低;引用传递为别名,可以修改原值;const则可以避免不必要的修改;
6、静态方法是否可以访问类成员变量:静态方法不能直接访问非静态成员变量,因为非静态成员变量与实例绑定;
7、指针常量与常量指针:指针常量不可变的是指针,指针的值是可变的;常量指针,不可变的是常量,指针的指向是可以变的;
8、vector有哪些插入元素的操作,具体操作复杂度和底层发生了什么:push_back(超过容量则自动分配更大的内存块然后全部复制过去)、emplace_back(末尾构建新元素,同样存在超容分配新的内存块)、insert(在制定迭代器位置插入)
9、vector一个元素一个元素放入的过程中会发生什么:首先会初始化,然后检查容量,容量不足会重新分配内存,然后会更新迭代器、指针和引用;
10、常用激活函数特点:sigmoid(01之间、平滑、梯度消失、不以0为中心、指数运算量大)、tanh(+-1之间、梯度消失、指数运算)、relu(没有梯度消失、稀疏、计算简单、dead relu)、leaky-relu(不会dead)、softmax(多分类输出)、swish(收敛比relu快、指数运算)、gelu(平衡、计算量大)
11、各种注意力机制介绍:聚焦式注意力、显著性注意力、多头注意力、硬注意力、软注意力、键值对注意力、结构化注意力;应用于NLP、CV、语言识别;比CNN具有动态性和适应性,提高模型性能,具有可扩展性和鲁棒性
12、函数重载:同名函数不同输入参数列表,编译时多态;
13、函数重写:继承关系的类之间,虚函数的重写,运行时多态;
14、C++结构体和联合体的区别:struct结构成员独占内存,union联合体共享一块内存;
15、ResNet网络特点:残差结构、恒等映射、超级深度、BN、
16、YOLO系列网络特点:滑动窗口、分类与回归、多尺度预测、
17、EfficientNet网络特点:深度可分离卷积
18、GPU之间的数据传输:pcie总线实现GPU数据传输,CUDA并行计算,NVLink互联技术、分布式技术
19、C++新特性:左值(通常变量、返回值都是可引用的左值)右值(&&,允许函数接收并操作的临时对象,配合移动语义使用),智能指针(unique_ptr独占指针:对象随指针销毁而销毁、shared_ptr共享指针:多实例共享对象,最后一个指针销毁时销毁、weak_ptr弱指针:共享指针在循环时的应用)
20、堆和栈的区别:数据结构上栈后入先出,堆则为完全二叉树;内存分配上,栈为操作系统自动分配,编译时确定,内存连续速度快,用于函数调用、局部变量,只能访问栈顶,堆为程序员手动申请或释放,用来存放实例化的内容,堆可以任意位置访问;
21、死锁原因和必要条件以及死锁的解除方式:死锁是多线程或进程的资源争夺;必要条件:资源被一个进程或线程锁定;解除方法:挂起、强制撤销、回退进程
22、unordered map和map的区别以及其实现原理:map是红黑树,自平衡的二叉查找树,插删查的时间复杂度为logn,unordered map是哈希表,时间复杂度为1-n
23、动态链接和静态链接的区别:静态链接:编译时嵌入,独立性强,执行速度快,体积大,内存浪费,更新困难;动态链接:运行时加载,节约内存,便于更新,扩展性强,依赖外部库,有一定性能开销
24、有大量数据要处理,如何加快处理速度(IO密集型和CPU密集型):IO密集:异步IO、多线程/多进程、缓存技术、批处理;CPU密集型:并行计算、算法与数据结构优化、指令集硬件加速、分布式计算、编译优化
25、git如何合并远程分支:git fetch获取远程分支、git switch切换分支、git merge合并分支、git push推送结果
26、两个旋转框的IOU计算方法:获取旋转框xywh和角度,计算旋转多边形顶点坐标,计算交集多边形,计算交并集面积,cv2提供了旋转框iou的计算方法:cv2.rotatedRectangleIntersection
27、怎么理解DETR中query的作用:模型输入输出的桥梁,每个输出位置分配一个query,用于匹配特征图与提取区域,实现无anchor和无nms
28、快速排序:将序列分治为大子序列和小子序列,然后递归排序两个子序列
29、手写nms:计算iou,去掉与最高置信度iou大的边界框
30、n个苹果放入m个篮子,要求随便取1-n个苹果,都能取出来,问最少用几个篮子:log2(n+1)向上取整
31、从模型和数据的角度分别说一下如何解决梯度爆炸的问题:模型:权重初始化、梯度裁剪、BN、使用残差网络、使用adam、sgd优化器、权重正则化;数据:标注化数据、特征旋转、数据预处理
32、yolo中是怎么解决正负样本不均衡问题的:iou比较正负样本、多种损失函数、数据增强、随机采样、类别权重、object置信度分数预测
33、BN层的作用是什么,有什么可学习参数:归一化,加速训练和收敛、防止梯度爆炸和消失、防止过拟合;可学习gamma和beta匹配均值和方差;
34、给定NCHW的输入,BN层的输出应该是什么:维度还是nchw,只是hw进行了归一化
35、在训模型的时候如果遇到显存占用了,但是后面的GPU利用率不高的情况,可能是因为什么:CPU跟不上、Batchsize太小、计算复杂性低、数据同步、io瓶颈、显存不足、优化器效率低、模型并行差
36、在训模型的时候如果loss报Nan了,可能是因为什么:学习率太高、参数初始化错误、梯度消失/爆炸、数据不稳定/有问题、模型结构问题、优化器或正则化问题、框架或库出错
37、Detr是怎么做到不用nms的,如何保证在一个目标附近只生成一个bbox:transformer机制下仅输出一个query;

二、笔试准备
1、构造函数:自动执行、初始化对象、面向对象、名称与类名相同、没有返回类型、自动调用、可以有多个,参数列表不同(重载)、可以显式调用
2、析构函数:结束时调用、清理操作、名称特殊~、无参数、无返回类型、自动调用、只能有一个
3、运算符:算术、关系、逻辑、赋值、位操作:位与 (&amp;)位或 (|)位异或 (^)位非 (~)左移 (<<)右移 (>>)、成员访问: (.)(->)、条件运算符(三元运算符)、逗号运算符、作用域解析运算符 (::)、强制类型转换运算符
4、C++包含的关键字:控制语句关键字、数据类型关键字、存储类型关键字、类和对象相关关键字、异常处理关键字以及其他关键字
5、位运算:位与(AND)、位或(OR)、位异或(XOR)、位非(NOT,通常称为按位取反)、左移(Left Shift)和右移(Right Shift)
6、类的定义:面向对象,代码的模块化和重用性,创建具有相似属性和方法的不同对象
7、子类访问:公有可以访问、保护只能基类与派生类访问、私有不能访问;公有继承不变属性,保护继承全变保护,私有继承全变私有;
8、类成员访问修饰符之间的区别和应用:public全部可以访问、protected类外不可访问、private仅类内和友元;
9、白盒测试:通过检查软件系统内部的代码结构和逻辑来评估系统可靠性和效率的软件测试方法
10、支持RTT:实时测试工具
11、异常处理指令throw、catch、try:try 语句块用于包裹可能引发异常的代码;catch 语句块紧跟在 try 块之后,用于捕获并处理 try 块中抛出的异常;throw 关键字用于抛出一个用户自定义的异常或重新抛出捕获的异常;
全部评论
佬 一面问了这么多吗
1 回复 分享
发布于 2024-08-22 09:50 江苏
佬,方便透露下你做的这是什么项目嘛?
点赞 回复 分享
发布于 2024-09-01 15:42 安徽

相关推荐

1.&nbsp;根据本科学校&nbsp;先问我是哪里人2.&nbsp;先跟我介绍分三个部分去聊,第一部分是目前的背景,大概是什么情况,第二部分是聊一下我的期望,对业务,对工作内容方面的期待,第三部分聊一些技术3.&nbsp;本科软工,硕士电子信息,为什么选择前端这个方向4.&nbsp;为什么选择程序员这个行业(答了本硕都是计算机专业,不满意继续追问,答不想考公考编,也不满意,还说还有很多可以选择的职业,还有啥职业能选?难道去干销售吗?...)5.&nbsp;问学长学姐大概都从事什么方向6.&nbsp;跟我说职业选择是很慎重的事情7.&nbsp;对实习城市的工作地点有什么要求8.&nbsp;对实习的期望9.&nbsp;对团队和leader有什么期望10.&nbsp;项目部署了吗11.&nbsp;请求token是拿什么做的?后端是什么做的(回答了用了提供好的api接口,被调侃现在教学项目都这么成熟了)12.&nbsp;除了对框架的学习,对JS和CSS有什么学习吗13.&nbsp;项目中布局是用的什么(flex,relative,absolute)14.&nbsp;没用过grid吗(没有)15.&nbsp;用的是js还是ts16.&nbsp;ts学习过吗?为什么会出现ts?(说ts的优势)17.&nbsp;说了类型的限制,在写代码过程中就会报类型错误,而不是在编译后才发现错误,type和interface,继续问ts不也是解析成js去运行的,提供这些特点有什么用呢18.&nbsp;css用过sass,sass有什么优势?(你这项目挺老的,得是五年之前的了...)19.&nbsp;前端一共学了多久,是一直持续学习还是断断续续的20.&nbsp;每天学习5h以上的时间大概有几个月21.&nbsp;web的存储大概有哪些?22.&nbsp;localStorage,sessionStorage的get和set,与indexDB的区别有哪些23.&nbsp;localStorage的读取是同步的还是异步的24.&nbsp;问我哪门专业课学的比较好?(本科学的基本忘的差不多了)25.&nbsp;非要让我说一门课然后针对提问(只能回答计网了)26.&nbsp;ip寻址&nbsp;,他在公司的网络中,与我在学校的网络中进行网络通信,如何找到对方的地址?具体步骤说一下()27.&nbsp;聊个老生常谈的RPC,熟悉吗(根本没听过,硬着头皮瞎说)28.&nbsp;说点我了解的(我再了解也经不住问,已经快绷不住了)29.&nbsp;继续问我熟悉的,了解的比较深的(没有了解深的,总不能说我最近只看八股吧)30.&nbsp;随便说了八股的几个知识点,问父子组件通信的原理(答了基于发布-订阅)31.&nbsp;父子组件属性传递原理(答了单向数据流,v-bind,不对,答了响应式原理)32.&nbsp;还有哪块比较了解(真的不了解)33.&nbsp;DOM树怎么渲染出来的(说了Render的一些线程)34.&nbsp;这些线程做了什么事35.&nbsp;继续问渲染是怎么渲染的(布局&nbsp;分层)36.&nbsp;绘制的细节知道吗(不会)37.&nbsp;反问阶段,问了技术栈,部门主要做什么(技术栈很杂,部门项目方向很多)38.&nbsp;被问学校就业率如何,去北上广的多一些,还是去省会城市的多一些(...根据实验室毕业去向回答了)39.&nbsp;被说现在学生不如他们那一批的卷了(只想赶紧结束)最后反问阶段问了部门,面试官还说给我3-5分钟继续问,但是我真的没什么想问的了,被硬控3分钟
点赞 评论 收藏
分享
评论
8
97
分享

创作者周榜

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