经纬恒润一面、笔试准备

一、面经准备:
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 安徽

相关推荐

05-24 21:19
门头沟学院 C++
投递美团等公司6个岗位
点赞 评论 收藏
分享
05-08 18:25
已编辑
河南科技学院 golang
鼠鼠去年暑期实习面试过360,前天应该是一面的负责人说,就不再给我技术初试了,直接复试。(噩梦开始了)面试总共23分钟结束1.&nbsp;自我介绍&nbsp;(自我介绍不真诚&nbsp;,&nbsp;像对着念,要像和他聊天一样去介绍自己。不是像背书一样)2.&nbsp;什么学校的?一本还是二本?3.&nbsp;为什么不考研4.&nbsp;你认为目前哪个行业发展最好?&nbsp;你再看什么行业?&nbsp;(鼠鼠回答:&nbsp;AI&nbsp;发展好,&nbsp;我再看的行业:&nbsp;安全研发,游戏,AI)5.&nbsp;你了解AI吗?6.&nbsp;看你说的更多是对AI的使用(然后中间说了一堆乱七八糟的)&nbsp;最后来了一句,如果让你自己做一个deepseek,你服务端会怎么做?(OK&nbsp;,&nbsp;大的要来了)鼠鼠第6个问题完全不会,只能把自己知道的为数不多的一点关于AI开发的东西说出来&nbsp;(说的最多的就是我了解到的一些如何在一个会话中让AI回答的问题上下文关联的知识)。&nbsp;还没说完,面试官说了一句:“你感觉今天还有必要面试下去吗?”&nbsp;&nbsp;鼠鼠以为是回答的太烂了,想着,寄就寄了吧,确实不会。&nbsp;紧接着一句话,我想直接退出:&nbsp;“你用AI面试”。鼠鼠懵了,不知道为什么能让面试官说出来这句话。&nbsp;跟面试官说了半天,共享屏幕开了,说:“我不看你屏幕,不要把面试官当傻子&nbsp;,&nbsp;面试官面试了很多人,是会有一些应届生用AI辅助面试&nbsp;,&nbsp;这样不好”。&nbsp;鼠鼠是真的要红温了,非常想退出。但是想着是个大公司,直接退不是很礼貌(现在想想有点后悔,面试官也丝毫没有尊重我的意思)我也不知道说什么了,相顾无言。&nbsp;然后面试官说那出道思考题吧,我说可以。题目很简单(面试的网站上牛客网),鼠鼠就直接在代码考核那一栏去模拟过程了,正在思考过程中&nbsp;,&nbsp;面试官突然打断,说:“你在干什么呢?”&nbsp;(牛客的代码考核,我写什么东西,面试官应该可以看到吧?我不确定&nbsp;,&nbsp;我不知道怎么回答面试官这个问题),直接跟面试官说了一个还没检验的答案,没有一丝意外,是错误的。&nbsp;给出错误答案之后,面试官说:“不用AI不会了吧,&nbsp;那你还用刚才的AI去写一次看看”。(鼠鼠一直在忍着没有退出去,我非常希望能够给出这个思考题的正确答案)。&nbsp;就接着重新去尝试了,然而在这次尝试过程中,又一次被面试官打断。(这次确实已经乱了,不想写了&nbsp;,&nbsp;也思考不进去了)。7.再次相顾无言一会儿,&nbsp;面试官说没什么想问的,问我有什么问题没有?(鼠鼠已经红温,热的不行,就直接跟面试官说没有问题,结束吧)出去狠狠吃一个蜜雪冰城的冰淇淋降降温。这次是我从去年三月份开始投简历为止到现在,最红温的一场面试。其它也有面试红温的,但是原因是因为问的问题连着很多鼠鼠回答不上来,心态崩了。两者红温状态不一样,第二种,面试结束之后的复盘总结,也可以对自己技术,项目场景,基础知识有一定的提升。但是这次的面试,更多的是感受到了,被轻视,没有得到应该有的尊重,回答问题被打断,思考题被打断。很无奈啊,两次错过360。&nbsp;鼠鼠下次再也不说AI行业了。
点赞 评论 收藏
分享
评论
8
97
分享

创作者周榜

更多
牛客网
牛客企业服务