饥饿的勇士在吃瓜 level
获赞
77
粉丝
43
关注
3
看过 TA
474
中南大学
2025
自动驾驶系统工程师
IP属地:湖南
暂未填写个人简介
私信
关注
工程机械行情不好,中联重科捞的是工程起重机的智能控制所,面的都是算法岗位,需求很小--------------------一面二面中联重科:线上面试,两个技术面我一个,一个声音年轻的大概是做深度学习的,一个年长的应该是机器学习转过来的,时间大概40分钟--------------------更新再次二面一面已挂,有可能是kpi,内部熟人反应今年大概率是不招多少研发人员。转到中联高空机械液压岗位去了,已拒绝继续流程,中联再见!-----------------更新再再次二面又一次捞起,到中联高空创新产品研究所,聊了20分钟,面试官一边下班开车一边面试1、学校的内容做完了吗?2、有工作经历,为什么读研?3、项目有做实车部署吗?4、数据集用的什么?原始公开数据集量有多大?5、小目标检测的优化方法,具体描述?6、单一目标检测拓展到多目标检测,会不会导致模型速度的下降,怎么实现,数据层面的考虑?7、各个目标的尺寸差别很大如何处理?8、部署在边缘设备上的推理速度,板子的算力水平?9、实习项目的开发板的算力水平?10、量化和剪枝的经验?11、检测+跟踪如何做量化和剪枝?反问:1、岗位需求:感知算法、数据层面复杂2、算法应用:安全性提高、高空作业机器人3、中联总部和事业部的差异:偏向基础研究或产品落地--------------------更新offer二面后直接第二天offer群了,谈薪远低于预期,报了个价以后,谁也不理谁了,ok,完结了吧--------------------盈峰环境:现场面试,时间都要下班了,面试官都想下班了,十分钟完事,纯纯kpi,打听了一下,只收一个人,非科班表示走远了,没有任何ai相关问题,可能也是不对口,没有反问;面的问题:编程语言、为什么工作后读研、为什么做算法不去读科班、为什么实习单位不签约(这个问题问过好多次了,目前想到的标准答案,这个单位只招实习生,不招正式员工)、描述一下yolo算法的原理--------------------c++八股:1、什么时候会发生内存泄漏:动态分配的内存没有释放(new在堆上没有delete)、某个资源到生命周期没有被正常关闭或者释放、容器使用不当、第三方库使用不当、循环引用智能指针;2、new和malloc的区别:new是操作符,malloc是函数;new类型安全、malloc返回的是void*类型不安全;new调用构造和析构、malloc只分配内存;new错误会抛出异常,malloc返回nullptr;new允许重载,malloc不支持;new在自由存储区上分配内存,malloc在堆上分配内存;简述yolo和detr的差异:1、yolo将图像划分格子,并通过cnn网络进行分类和回归的预测,并通过nms优化结果,yolo速度快2、detr基于transformer,特征提取用cnn,搭配编码器和解码器,利用自注意力机制捕捉上下文,直接预测类别和位置,收敛慢,灵活可扩展swim transformer:基于滑动窗口的transformer架构用过哪些激活函数:sigmoid、tanh、relu、Lrelu、swish、hard-swish、softmax用过哪些损失函数:均方误差MSE、l1损失、交叉熵、kl散度、焦点损失focal loss、iou相关的deepsort算法中的卡尔曼滤波:前帧预测后帧、卡尔曼增益更新矩阵、检测与预测的结果进行匈牙利匹配,得到准确平稳的预测如何实现yolo的小目标检测的增强:浅层特征利用dcn可变形卷积的偏移值是浮点型,如何转为整型:双线性插值后加权求和cv算法中做边缘检测的算法:sobel算子、canny算子、prewitt算子、laplacian算子、scharr算子反问工作方向:检测:环境感知、异常控制;跟踪;分割;点云分析;
0 点赞 评论 收藏
分享
自己的笔试系统,无时间限制,无摄像头,无屏幕共享,30道单选,10道判断,题目比较简单---更新---没有去线下参加宣讲,所以一直没消息,11月了打电话问我还考虑不,已签约,拒绝了----1、什么情况下神经网络模型成为深度学习模型:加入更多层,使神经网络深度加深;2、非线性的引入:relu3、bn的好处:每一层输入的范围大致相同4、处理过拟合的手段:dropout、bn、正则化5、初始化权重:赋予一个初值,然后检查与标签的差值,不断迭代6、ABC三个稠密矩阵,A7、池化可以保留变换的不变形8、数据量大无法在RAM中同时处理,用SGD9、选取神经网络深度时需要考虑:神经网络类型、输入数据、计算能力、学习率、映射的输出函数10、在imagenet上训练一个网络,输入全白图片,那么输出的结果不是所有类别的可能性都一样11、权重全部初始化为0,可以训练网络,但所有神经元都会识别同样的东西12、图像识别用卷积神经网络13、增加神经网络层数不是一定增加训练集/测试集的分类错误率14、线性的激活函数无法实现同或函数15、预测下一个单次用循环神经网络16、语义分割:输入-卷积-反卷积-输出17、rnn用梯度裁剪处理梯度爆炸18、非连续目标用SGD优化19、反向传播计算预测和标签之间的误差20、batchsize选用2的次方,便于内存最优进行并行计算21、Xavier初始化:一开始很小,最后也会很小;不是高斯提出的,是Xavier提出的;可以帮助减少梯度弥散的问题22、GAN的生成器用的局部跨距卷积,鉴别器用的跨距卷积,替换池化23、通用的逼近器包括:神经网络、多项式、模糊逻辑、支持向量机、径向基函数、核方法、决策树、随机森林24、深度学习可以解决:蛋白质结构预测、化学反应预测、外来粒子检测25、1*1卷积可以降低维度;用于特征池;减少过拟合26、权重不能全部初始为0,偏差可以27、mlp中输入8个神经元,隐藏层5个神经元,输出1个神经元,那么隐藏输出层和输入隐藏层的权重矩阵分别为1*5和5*828、多分类任务用softmax29、分类激活函数:sigmoid、tanh、relu30、bn:防止过拟合、防止激活值过高或过低、加速训练31、增加多层感知机隐藏层层数不一定会使分类误差减小32、深度学习之前无需完成特征提取33、提升卷积核大小,不一定提升神经网络性能34、relu激活函数永远不会饱和35、循环神经网络不能理解为完全连接、无限长度的普通神经网络36、一个网络共用一个学习率37、GRU没有防止RNN梯度消失的作用38、最大池化不能减少参数39、sigmoid换relu可以克服梯度消失
查看78道真题和解析
0 点赞 评论 收藏
分享
单选10个、多选5个、编程2个原题多1、enum color {red, yellow=2, blue, white, black)r=white;printf(“%d" ,r);输出的结果是4;2、const int size = 6;int a[size]={ 3,8,2,8,6,7 };multiset b(a,a + size);set c(a, a + size);int n1 = b.count(8);int n2 = c.count(8);n1=2,n2=1;3、#include     #define MAX(a, b) ((a) >= (b) ? (a) : (b))    int main() {      int a = 5, b = 0;      int c = MAX(++a, b);      int d = MAX(++a, b + 10);      printf("%d %d %d %d\n", a, b, c, d);      return 0;  }abcd分别是7、0、7、104、设指针变量p指向单链表的某中间结点,则删除该结点的后续结点需要的操作为t=p->next; p->next=t->next; free(t)5、冒泡排序,选择排序,插入排序:空间复杂度相同、平均时间复杂度相同、最坏时间复杂度相同、选择排序不是稳定的6、素引提高查询SQL的执行效率是通过减少数据访问量、提高数据检索速度、优化查询计划、支持快速排序和分组、减少网络传输数据量,主要是通过减少需要扫描的数据页数目实现的;7、OS1参考模型与TCP/IP模型的主要区别是OSI是七层结构,TCP/IP是四层结构、OSI是理论模型,TCP/IP是实际使用的模型、OSI支持多种协议但未普及,TCP/IP支持多种协议、OSI先有模型后有协议,TCP/IP先有协议后有模型8、关于Linux进程的虚拟内存与物理内存:用户态进程申请的虚拟内存空间在物理内存中不一定连续,且虚拟内存到物理内存的映射是动态按需建立的、在堆上分配虚拟内存同样不一定连续、连续两次堆上分配的变量也不一定是相同的物理内存、进程分配内存时无法指定物理内存的地址;9、Linux下,显示一个文件最后几行的命令是tail10、在IPv6和IPv4的主要区别中,IPv6地址比IPv4地址更长、IPV4使用NAT来支持地址不足、IPv6支持更大的地址空间、IPv6引入了新的头部格式11、new是创建一个对象(先分配空间,再调构造函数初始化),malloc分配的是一块内存12、new在堆上动态分配内存、并调用构造函数,对应的delete释放new分配的内存并调用析构函数,malloc仅仅分配内存,fee仅仅回收内存13、new和malloc都可用于申请动态内存,new是一个操作符,malloc是一个函数14、malloc在申请失败之后会抛异常,new则返回一个空指针15、const c5[5] = "hello”错误,应该是const char c5[6] = "hello";16、int *pa[3];正确17、int array[3] = {1,2,3};int &refa[3] = array;错误,int array[3] = {1,2,3};  int (*ptr)[3] = &array;18、int array[3] = {1,2,3};int (&refa)[3] = array;正确19、int array[] = {1,2,3};int array2[]= array;错误,第二句错误不能直接赋值,只能逐个赋值或者memcpy20、在Linux系统中,系统调用可以用来进行套接口收包:socket、bind、listen、accept、recv、recvfrom、recvmsg、select、poll、epoll21、面向对象测试中,测试类型通常用于测试类的方法有:单元测试、基于服务的测试、面向对象单元测试、基于状态的测试、基于响应状态的测试22、在TCP/IP协议中,数据包从一个网络传输到另一个网络中不会改变的是IP地址、目的IP地址、协议类型。TTL生存时间会随着跳转减1;23、力扣68824、力扣170-----正式笔试1、nn.sequential用来定义一个简单的神经网络2、强化学习中贝尔曼方程是一种用来描述值函数的方程3、鞍点的hessian矩阵既不是正定也不是负定也不是半正定,属于不定矩阵4、力扣原题,连续子数组的最大值5、模式串长m,主串长n,kmp算法的时间复杂度为O(m+n)6、管道数据是顺序传递,读出和写入顺序相同;传递方向是确定的,一端入,一端出;实质上是内核维护的缓冲区,容量有限;进程读取空管道时,管道fd设置为非阻塞,那么进程会被阻塞,直到管道中写入数据;7、arm64架构下用来传递函数参数的寄存器是r0....r78、TCP三次握手的第一次握手客户端发送的标志位是SYN=1,ACK=0;9、两个事务T1和T2分别执行读取a=100,a=a*2,读a=200,rollback恢复a=100是在读脏数据;10、配置dhcp服务时,地址租期对确保网络安全至关重要;11、gpt预训练的特点:自回归语言模型、双向transformer、预测下一个单词、大规模无监督预训练;12、大模型训练时预训练语料:大规模、无标注、多样性,并非精心设计和标注的指令数据;预训练语料主要来源于网络爬取的海量未标注文本数据;通常是自监督任务,例如编码语音模型任务或因果语句模型任务;指令精调语料:精心设计的指令和对应的输出示例;目标是为了使模型在特定任务或场景下能够更好地理解和执行明确的指令。13、外链接:左外链接、右外链接、全外链接14、配置DHCP服务器以动态分配的方式,那么获取了ip地址不会永久使用,到期前可以续租ip地址,到期后不大可能重新获取相同的ip地址,管理员可以手动分配内存池中任一ip给客户15、sql可以触发触发器的是update、insert、delete16、17编程题非常规题,难度较小;--中兴二面其实是一面算法挂了,二面是开发捞起来面了一下,几乎没有面技术,都是问的偏人力的问题。基本上没戏了,再见了中兴。--中兴终面不知道是啥流程,一面算法捞,二面开发捞,居然通知了终面,唠唠家常,工资构成,问了最低薪资期待,国庆后等最终通知,工作岗位大概率是内部gpt工具开发的算法岗位。岗位不怎么对口,面试官暗示了今年的岗位会比较少,感觉报价报高了,等结果吧。ps:听说中兴签三方,次年5月统一毁约,签约需谨慎啊。
查看40道真题和解析 投递中兴通讯等公司10个岗位
0 点赞 评论 收藏
分享
15个题,6个选择,3个填空,4个问答,2道编程,非常基础,但题量比较大,60min时间,答题系统比较烂1、logistic逻辑回归的损失函数是对数损失或者交叉熵损失;2、SVM支持向量机的核函数:线性核、多项式核、径向基函数核、Sigmoid核、 余弦相似度核、拉普拉斯核3、cnn中激活函数的作用是引入非线性4、数据增强cutout随机裁剪、cutmix随机裁剪后粘贴、mixup两个图叠加、mosaic四宫格5、GAN中鉴别器的作用是区分正负样本6、BN是作用在HWN平面,也就是单一C;LN是HWC平面,也就是单一N;IN是HW平面,单一C和单一N;GN是HW平面,单一N多个C;7、224*224*3的输入,通道数为5的7*7,p=0,s=1的卷积,输出是218*218*5,公式是((H+2*p-k)/s)+18、sigmoid一阶导的最大值是0.259、dropout随机失活:随机将神经网络中部分节点的权重或输出置零10、python的深浅拷贝和赋值的区别:赋值是赋予的引用,相当于取别名,所以会跟着改;浅拷贝同样是赋予引用,可变元素可改;深拷贝就是完全独立的了11、训练时出现过拟合的现象是在训练样本上表现得过于优越,导致在验证数据集以及测试数据集中表现不佳;可能的原因:训练集数量级与模型复杂度不匹配、训练集和测试集特征分布不一致、权值学习迭代次数过多、样本噪音干扰过大、模型假设不合理;解决方案:调小模型复杂度、增加训练数据量、正则化、早停策略、随机丢弃、集成学习、异常检测、迁移学习;12、nn.modulelist和nn.sequential的连接方式与反向传播的差异:nn.ModuleList是一个简单的模块列表,本身不是一个模块,需要自己写代码来迭代nn.ModuleList中的模块,并按需将它们连接起来,本身不定义前向传播;nn.Sequential是一个按顺序包含模块的容器,不需要显式地编写前向传播代码,每个模块也会自动参与反向传播过程;13、L1和L2损失的定义、优点、异常值时的使用:L1损失,也称为平均绝对误差;L2损失,也称为均方误差;L1损失的优点梯度值稳定、鲁棒性强、可能产生稀疏解;L2损失的优点:数学性质良好、对噪声的鲁棒性、避免过拟合;L1损失更适合于异常值处理;14、力扣626换座位;15、力扣239滑动窗口的最大值;
查看13道真题和解析
0 点赞 评论 收藏
分享
一、准备工作1、模型训练的优化器、梯度占多少显存:模型的大小、优化器的类型、训练数据的批量大小(batch size)以及是否采用混合精度训练,例如,对于Adam优化器,显存占用大约为模型参数数量的两倍;通常梯度与模型参数的显存占用相同;混合精度训练;梯度累积;模型并行和数据并行;优化器状态分片;2、假如说有个200B的模型,如何设计在16张卡上分布式训练比较合理:评估计算资源、显存需求、数据模型流水线并行3、加速ai算法推理:算法优化(批处理、剪枝、量化、压缩、改进)、硬件优化(GPGPU、FPGA、分布式)、其他(预处理、超参调整)4、kvcache优化:共用kvcache(MQA、GQA)、量化、稀疏化、窗口优化、推理框架优化、预处理优化5、算子融合:conv+bn、conv+pool、fc+fc、conv+activation、rnn6、虚函数:基类virtual、派生类override、多态、动态绑定、抽象类、纯虚函数、虚函数表、基类指针指向派生类对象7、进程和线程:进程-操作系统的最基本执行单元,并发独立;线程:更小的基本单位,共享,并发;8、网络七层模型:物理-链路-网络-传输-会话-表示-应用9、程序崩溃的原因与排查方法:资源不足、系统错误、第三方库或插件错误、内存泄露、不确定的变量、设备兼容、逻辑错误、病毒、驱动;方法:调试工具、日志信息、环境测试、版本回退、内存检查、性能分析、代码审查10、多线程加锁:多个线程可能会同时访问和修改同一资源(如全局变量、共享内存等),这可能导致数据不一致或线程安全问题,synchronized关键字11、死锁:两个或多个线程在执行过程中,因争夺资源而造成的一种相互等待的现象,避免一个线程同时申请多个锁,保持加锁顺序一致,锁超时机制12、Python的变量类型有数值、字符串、列表、元祖、集合、字典、数组13、python中set集合的特点:无序、唯一、可变、数学操作(交并差)、关系测试、不可哈希、自动去重14、linux常见操作:ls、cd、pwd显示完整路径、mkdir、rm、cp、mv、touch、cat、more翻页、less翻页、head翻页、tail翻页、find、grep、df显示磁盘信息、du显示目录信息、top进程情况、ps当前进程、ping、ifconfig、wget下载、curl下载、useradd用户操作、userdel、groupadd用户组操作、groupdel、passwd密码、tar打包盒和解压、gzip、gunzip打包和解压gz文件、zip、unzip打包和解压zip文件、info信息、sudo管理员、chmod更改权限、kill、reboot重启、shutdown关机、ss查看端口、su用户切换、15、python的列表生成器:[expression for item in iterable]16、shell的指定文本查找:grep、find、awk、sed、vim17、python异常处理:try、except、finally、else18、深拷贝与浅拷贝:浅拷贝在类上拷贝的是地址,深拷贝就是完全独立的拷贝19、python的迭代器:__iter__和__next__;生成器:yield,每次调用执行下一个yield20、时间局部性和空间局部性是计算机程序在执行过程中表现出的两种重要特性。它们分别描述了数据项在时间和空间上的访问模式21、静态变量存放在内存的全局存储区(c++和python)方法区(java)22、面向对象:对象、类、封装、继承、多态23、怎么从一百万个数里面找第k大的:排序后访问、快排24、快排的具体思路:选基准、分区、递归排序、合并25、priority_queue默认是最大堆,也就是队列顶部是最大值,priority_queue, greater> qmax;相反less就是最小堆;二、正式一面-岗位是NLP的,和我的经历CV不对口1、自我介绍:读简历就完事了,7分钟;技术面试官说很详细,估计是因为nlp和cv不是很互通,全程三个人开摄像头;2、人力面:本科成绩、为什么没保研、工作的公司名称、工作与现在的工作有没有关系、研究生专业、专业研究方向、研究生成绩、论文发表了吗、投递了哪个期刊、奖学金情况、成绩好为什么没有国奖、专利、python的代码量、代码行数、社团活动。3、技术面:模型的基础调优用过哪些,遇到过什么困难和解决方案;超参调整如何手动设置初始值(lr、warmup、batchsize、正则、dropout、激活函数、基于经验);收敛慢怎么办(lr、初始化权重、数据质量、模型结构、优化器、梯度、正则、训练时间);各种优化器介绍(SGD随机梯度下降、momentum动量法、RMSprop指数加权平均、Adam);transformer结构的了解(多头注意力、编码器解码器、前馈神经网络、kvq键值查询);yolo和detr的优缺点和适用场景(yolo实时、detr复杂高精度);算法量化PTQ和QAT的介绍;激活值溢出(合适的scale和zero_point、Q/DQ、INT32中间值);什么时候可以用更复杂的量化方法;对大模型有多少了解;大模型RAG(检索增强生成)或者其他大模型demo;NLP哪些前沿算法有了解;项目介绍(搜索方向、igpt应用(图像分类、补全、特征提取));是否接受转型;4、反问:长沙有岗位吗;有5、结论:给钱就签三、笔试准备1、单选10个、多选5个、编程2个原题多
中兴一面87人在聊 查看24道真题和解析
0 点赞 评论 收藏
分享
难度挺大的,做完不能回头看一、单选:1、float==double:float会被转成double,即便如此,仍有可能返回false2、AdaBoost算法确实会加大此前决策树(或其他弱分类器)分类错误的权重,使下一个模型尽可能正确,所以依赖之前的模型;3、GBDT(Gradient Boosting Decision Tree,梯度提升决策树)是一种集成学习方法,它通过迭代地构建决策树来优化损失函数,从而组合成一个强学习器。其核心思想是通过计算损失函数在当前模型上的梯度(或近似梯度),来定位模型的不足之处,并基于这些梯度信息来构建新的决策树模型,以逐步减少损失函数的值。4、AdaBoost和GBDT都属于决策树模型boosting方法5、生成式预训练(Generative Pre-Training)是一种在自然语言处理(NLP)和计算机视觉等领域广泛使用的技术,其核心思想是通过在大规模无标签数据上进行预训练,使模型学习到数据的内在规律和表示,从而能够更好地适应下游任务,生成式预训练本身并不直接与目标函数绑定,有助于缓解过拟合问题,不一定直接保证有助于鉴别的精细化;6、鉴别性预训练通常指的是那些直接针对特定任务(如分类或回归)进行优化的预训练方法,分类准则可以用交叉熵,回归准则可以用最小均方误差7、鉴别性训练通常应用在机器学习,特别是语音识别和自然语言处理等领域中,是一种通过最小化目标函数来优化模型性能的训练方法。在最小化目标函数的过程中,可能会导致底层权重向最终目标过多调整,从而忽略了隐藏层的重要性;8、DNN(深度神经网络)参数确实可以使用鉴别性预训练(Discriminative Pre-Training,简称DPT)来进行鉴别初始化。9、状态模式实际上很好地体现了封装性;10、状态模式通过将状态逻辑分散到多个状态类中来解决复杂的逻辑问题,但这确实可能导致类的数量增加;11、状态模式非常适合处理包含大量分支判断语句的代码12、在状态模式中,通常会有一个抽象状态角色(State interface或抽象类),它定义了所有状态类共有的接口。这个接口包括了一些方法,这些方法对应于环境类在不同状态下可能需要执行的行为13、Adam结合了动量法和RMSProp算法的思想,使得Adam能够适应不同参数的更新需求,加快收敛速度;14、SGD容易受到数据噪声的影响,导致训练过程不稳定,可能更容易达到全局最优解;15、处理大规模数据集和复杂模型时,Adam通常是一个不错的选择;而在处理小规模数据集或需要精细调整模型时,SGD或RMSProp可能更加合适16、稀疏数据是指数据集中包含大量零值或缺失值的数据。对于这类数据,使用学习率自适应的优化算法确实是一种有效的策略。学习率自适应算法能够根据数据的特性和训练过程中的梯度变化动态调整学习率,从而在稀疏数据上获得更好的训练效果17、2个长度为N的vector进行swap操作时间复杂度是O(1)18、5g的磁盘,2kb一个的簇,共有2621440个簇,使用位图法,2kb有2048字节,也就是16384位,一位标识一个簇,那么需要2621440 / 16384= 160个簇19、贝叶斯是先验推后验二、编程题:1道栈,2道图论,对应难度:简单、中等、困难,各15分
查看5道真题和解析 投递科大讯飞等公司10个岗位
0 点赞 评论 收藏
分享
选择题30个*2分:1、三个事件ABC,非AB∩非BC∩非CA代表:ABC不多于2个发生2、随机变量分布函数有什么要求:非负性、单调不减、右连续、积分为1、左右极限为0;3、强化学习的损失函数:最大化累计奖励;4、提高模型泛化能力:加数据、加正则化、选简单模型、数据增强、加入对抗样本训练;5、SLAM需要考虑的问题,1、地图表示问题;2、信息感知问题;3、数据关联问题;4、定位与构图问题;6、保护继承的子类对象不能访问父类私有成员变量,也不能访问父类保护成员变量,仅在子类的成员函数与友元函数中可见,同时也不能访问父类公有成员函数;公有继承就可以访问父类的公有成员函数和成员变量;7、静态成员的访问方法:类名访问、直接使用指向静态成员的指针访问、类对象的指针访问静态成员8、Hive中用于组织和管理的基本单元是表-分区-桶-数据库9、腐蚀使像素点减少10、参数主动轮廓模型分割图像实现速度慢、能够与模型直接交互、难以处理模型拓扑结构的变化、初始图像置于目标区域附近,并通过最小化能量函数自主调节曲线形状;11、在MLP(多层感知机)中,backpropagation(反向传播)主要用于优化和调整网络中的权重和偏置,以便最小化损失函数12、c语言中使用%06.2f保证2位小数的浮点数,总位数6位,前面补充0;13、霍夫空间中两条线的交点在图像空间代表共线的两点构成的直线;14、检测反光材料上的印刷缺陷问题时照明光线应选择低角度照明;15、在linux系统中查看c程序中指定语句并输出对应的行号的指令是grep -n;16、略17、编译原理中编译程序分为若个个遍(pass),使程序结构更清晰、编译程序大部分时间花在出错处理上、构造编译程序要掌握源程序、目标语言、编译方法、编译原理中并不直接要求变量既有左值,又有右值;18、UDP协议报头长度固定为8字节;TCP基本长度是20字节,可变;19、python传入固定int,string类型进行,进行值拷贝,不会修改;传入可变参数,如数组,就会修改;return回来接收也会修改;20、2023个节点的左撇子树的高度:没查到答案;21、无向赋权图有1024个顶点,有2023条边,则最小生成树的边数为1023;22、1024\512\256\64分别用折半查找法和顺序查找法找256,需要查找的次数是2/3次;23、略24、线程之间并发进行、进程中多个线程、同一进程的线程中可以共用地址空间和文件资源、线程是cpu调度的最小单位25、HMM中隐藏状态和观测序列之间的关系是由观测概率密度、状态转移概率、初始状态概率、发射概率决定;26、略27、递归法与动态规划求斐波那契数列,递归法效率更低、空间更大,动态规划无重复计算、耗时更长28、n=1时T(n)的时间复杂度是O(1),n>1时T(n)=2*T(n/2)+O(n)的时间复杂度是nLog2n;29、prim和dijkstra算法都是贪心;
查看20道真题和解析 投递百度等公司10个岗位
0 点赞 评论 收藏
分享
一面:---------------------------------------------------一、首先自我介绍,稍微有点没准备好,工作和项目经历太多,稍微有点杂二、然后应该是直属leader的技术面:非常侧重问部署1、问了ISP的问题,提问了usb摄像头抓下来的raw图为什么不能直接用:没有可展示性,RGGB格式的图片没法直接到模型中去,还是需要ISP转RGB,但mipi摄像头的速度慢,USB摄像头的速度稍微快点,专用芯片FPGA价格太高,AIISP是一条思路;2、组织校准数据集:验证集的子集;校准集的数据量:1000张;3、前后处理是逐帧做还是会批量做:答逐帧;问逐帧做是否有视频流丢失;答板卡算力非常高,模型量化后的推理速度远高于视频采集的速度;4、科研项目数据集类别与数据量;5、有没有边缘板卡上的算子优化经验:没有写过plugin,或者接触过底层架构的融图代码,但在模型训练层,有过算子优化经历,也就是pt和onnx上;6、科研项目上算法魔改的内容都能做量化吗:有的不能,同上一个问题,不会plugin;7、跟踪算法deepsort的匈牙利匹配阈值是多少,单位是多少:0.2,无量纲;8、科研项目最后的效果是多少;实习项目最后的效果怎么样,能实测吗;9、跟踪算法速度怎么样:deepsort和yolo差不多,10ms,但机器学习部分没法加速,只能cpu干,siam孪生网络就不需要逐帧检测了;10、cuda c有没有用过;11、工作地点北京行不行,工资需求多少,之前工作的工资水平;三、最后是另一个技术的面试:相对侧重基础;1、简述DCN和普通卷积的区别:卷积核尺寸可变;2、简述卡尔曼滤波原理:预测(通过前一帧预测后一帧的状态和协方差矩阵)、更新(通过观测数据与预测数据的差,用最小方差估计更新协方差矩阵)、卡尔曼增益(融合系统的状态预测值和测量值,用来动态调整状态估计值);3、C++中vector和list的区别:vector是动态数组,连续内存存储,通过索引访问任意位置,当超过容量时需要开辟更大内存,再复制过去;list是双向链表,存储指针和值,不连续,快速插删,但不能快速访问,需要用迭代器进行遍历;4、之前有没有电机电控方面的工作经验;四、反问环节:1、可能从事什么样的工作方向:国产芯片自动驾驶算法部署,面试官强调了算法训练-量化-部署的全流程都要会;2、端到端自动驾驶:是大方向,但是仅仅是demo级别,还是要传统的感知-规控-决策来兜底;笔试:算法类----------------------------------非常基础,提交了就不能改了一、单选:1、空间复杂度:希尔排序:希尔排序是原地排序算法,它主要通过引入间隔序列来允许交换距离较远的元素。除了几个用于控制排序过程的变量外,它不需要额外的存储空间快速排序:快速排序是一个分而治之的算法,它递归地将数组分成较小的数组进行排序。递归调用栈的深度决定了其空间复杂度。在平均情况下,递归深度接近log n;但在最坏情况下(如数组已经是有序的),递归深度可以达到n,导致O(n)的空间复杂度。归并排序:归并排序也是分而治之的算法,但它在排序过程中需要额外的存储空间来合并子数组。具体来说,它需要与原数组大小相同的额外空间来存放临时数组。因此,其空间复杂度为O(n)。计数排序:计数排序通过创建一个额外的数组C,其中C[i]存储待排序数组A中小于等于i的元素的个数,来工作。因此,其空间复杂度取决于输入数据的范围k,而不是输入数据的个数n。如果k与n相比不是太大,那么计数排序在空间上是非常有效的。2、f(n)=2*f(n-1)+3n,其中n>1,递归出口应该是f(0)=0;3、在100个数里面二分查找特定的数,最小的次数是log2(100)4、冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换的元素为止,这意味着数列已经排序完成。最好情况O(n),最坏情况O(n^2);5、表达式多种括号混用,检查类型用到栈;6、负反馈系统的开环传递函数为K/S(S+1)(S+5),那么K的取值范围为07、N点FFT所需的复数乘法次数是(N/2)log2N;8、连续线性时不变系统LTI的冲击响应形式取决于系统的特征根和零点;9、矩阵A[9][10],每个元素占3个单元,那么A[6][3]的起始地址从156单元开始;10、无监督学习没有标签、核心是分类、所有数据相互独立分布、分类原因不透明;​二、多选:1、CNN中起到降低维度和降低参数量作用的是卷积、池化;2、递归算法包括递归、结束;3、AX=B有两个解m1和m2,那么m1-m2是AX=0的解,(m1+m2)/2是AX=B的解;4、深度为5的完全二叉树结点范围为[16,31];5、特征降维的方法有主成分分析、线性判别分析、自编码器、矩阵奇异值分析;​6、连续周期函数、离散周期函数的频谱是连续周期函数;连续非周期函数、离散非周期函数的频谱不是连续周期函数;三、填空:1、模糊控制器在控制过程中不需要精确的数学模型;2、多传感器融合的软件同步包括时间同步、空间同步;3、模型评估结果主要分为两种类型:内部评估和外部评估;离线评估和在线评估、欠拟合和过拟合;4、horse变ros的最快步骤是3次;力扣原题;四、编程:1、核心模式:杨辉三角;2、ACM模式:最长连续子序列都是力扣原题排序总结:二面:要做ppt,面试官人很好,改了两次时间都秒同意,一对一,自己讲了20分钟,随便问了两三个问题,感觉在走流程,中途还有其他人喊他去吃饭,几乎没怎么问技术问题,问了一下技术学习路线和薪资期望,结束,坐等人力谈薪了。
查看16道真题和解析
0 点赞 评论 收藏
分享
一、面经准备: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-n23、动态链接和静态链接的区别:静态链接:编译时嵌入,独立性强,执行速度快,体积大,内存浪费,更新困难;动态链接:运行时加载,节约内存,便于更新,扩展性强,依赖外部库,有一定性能开销24、有大量数据要处理,如何加快处理速度(IO密集型和CPU密集型):IO密集:异步IO、多线程/多进程、缓存技术、批处理;CPU密集型:并行计算、算法与数据结构优化、指令集硬件加速、分布式计算、编译优化25、git如何合并远程分支:git fetch获取远程分支、git switch切换分支、git merge合并分支、git push推送结果26、两个旋转框的IOU计算方法:获取旋转框xywh和角度,计算旋转多边形顶点坐标,计算交集多边形,计算交并集面积,cv2提供了旋转框iou的计算方法:cv2.rotatedRectangleIntersection27、怎么理解DETR中query的作用:模型输入输出的桥梁,每个输出位置分配一个query,用于匹配特征图与提取区域,实现无anchor和无nms28、快速排序:将序列分治为大子序列和小子序列,然后递归排序两个子序列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、运算符:算术、关系、逻辑、赋值、位操作:位与 (&)位或 (|)位异或 (^)位非 (~)左移 (>)、成员访问: (.)(->)、条件运算符(三元运算符)、逗号运算符、作用域解析运算符 (::)、强制类型转换运算符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 关键字用于抛出一个用户自定义的异常或重新抛出捕获的异常;
经纬恒润一面401人在聊 查看62道真题和解析
0 点赞 评论 收藏
分享
一、单选:1、CLIP模型的主要创新点:图像和文本两种不同模态数据之间的深度融合、对比学习、自监督学习2、一个3*3,stride=1,dilation=1的卷积加上一个步长为2的2*2池化,再加上一个3*3 ,stride=3,dilation=1的卷积对应的等效步长是多少:6(第一步不改变步长,第二步步长为2,第三步步长为2*3)3、a=np.random.randn(3,3) b=np.random.randn(3,1) ,那么c=a*b的维度应该是:*是元素乘法或者torch.mul,@才是矩阵乘法或者torch.matmul,不会触发广播机制;4、3D高斯:3D高斯无需迭代,而Nerf需要MLP计算点属性;3D高斯经过旋转、平移、缩放后仍是一个高斯函数;3D高斯不是隐式表达;通常3D高斯变2D不需要雅可比近似,某些情况下需要5、物理空间已知的杆,能够约束相机和激光雷达多少个自由度:答案不确定,应该是3,4;6、Pointformer不是点云的特征提取方法7、使用KLT求解二维单应矩阵和一维单应矩阵的最少匹配点数是4,28、将分辨率降低一半时,精标定内参(fx、fy、cx、cy、k1、k2、k3)焦距、光心、畸变系数将分别变成(fx、fy、cx/2、cy/2、k1、k2、k3),只能搜到光心变成一半,畸变系数不变9、神经网络的channel扩大2倍,算力扩大2倍,带宽扩大2倍二、多选:1、减少模型层数据和缩小输入尺寸可以降低深度学习推理的带宽需求2、解决样本不均衡的方法有Focal Loss、数据增强、多样本欠采样3、Dice损失常用于图像分割、目标检测、自然语言处理4、在默认流中,所有的CUDA操作(包括kernel执行和内存拷贝)都是顺序执行的;cudaMemcpyAsync函数是异步执行;如果你没有显式地使用锁页内存,CUDA 运行时可能会选择将数据先复制到锁页内存缓冲区,然后再将数据从锁页内存传输到设备内存;任务被分配到各个Stream(流)后,这些任务确实是互不干扰、独立进行的5、如果某个矩阵的某个特征值为0,则为奇异矩阵;不满秩;至少一个奇异值为0,是方阵6、不是任意矩阵都能特征分解;并不是所有方阵的特征值都是实数;奇异矩阵至少有一个特征值为0;矩阵B可以分解为A和A转置,若A为行满秩,则B的特征向量一定正交7、同一台电脑两次运算一个浮点运算的值可能不同;浮点数不满足结合律;浮点数不能批量填充0比特;正常浮点数乘除法仍是正常浮点数8、组合导航算法中ESEKF可以最小参数化状态变量;可以有效避免奇异问题;大幅降低计算复杂性;可以提升状态估计算法精度9、提高重复纹理环境定位感知能力的方法有调整SGBM参数,增大平滑项权重、加robust norm、高斯滤波、时域滤波10、在DFT中频谱的分辨率和信号长度成反比;Laplacian滤波器可以用于边缘检测;非局部均值滤波器可以用于去噪并保留图像结构信息;梯度幅值和方向都重要11、增加训练量、使用正则化、使用dropout都可以防止模型过拟合12、KLT算法在频闪光源、重复纹理、高速机动、环境照度低的情况下效果显著下降三、判断:1、dropout不直接提高训练速度2、深度可分离卷积计算量比普通卷积小3、1*1卷积不改变空间特征,仅改变通道数4、ICP算法局部最优是因为位姿初值不准5、匈牙利算法能够在多目标跟踪时准确跟踪每个目标6、物理世界的三条平行线在成像平面相交在一个点7、cuda中H2D、kernel、D2H可以重叠执行8、使用triplet loss训练时不一定全部使用hard triplet9、两个随机变量独立,那么他们一定不相关
牛客668122193号:报成图像处理岗位了,笔试题都不会😭
查看6道真题和解析 投递大疆等公司10个岗位
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务