![](https://img-blog.csdnimg.cn/direct/50847eaa1aa843829e5e4f7bd9d92b9a.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++面试宝典
文章平均质量分 85
全网最全的C/C++八股文面试专栏。
发狂的小花
公众号:极空AI
AR行业经验、算法部署优化、图像处理算法、slam、SGBM、相机标定、TOF
CPU、DSP、GPU、算子针对硬件优化
展开
-
AI+HPC 部署优化面试范围分享
C/C++、多态、模板、引用、智能指针、STL、内存管理等,会持续深入,甚至会让实现一些比如:解决循环引用、智能指针的实现。AI的基础知识,整体的训练的流程、算子的计算对比、深度学习的基本知识,pytorch等框架,网络结构,目前流行的网络结构、transformer、YoLo系列、LLMs、BEV、GPTs、BERTs等。原创 2024-07-20 22:33:39 · 585 阅读 · 0 评论 -
高性能计算工程师面试经验
高性能计算面试原创 2024-03-11 16:48:16 · 1104 阅读 · 2 评论 -
算法部署优化工程师面试题整理
算法部署优化面试,AI算子优化原创 2024-03-11 16:27:01 · 2065 阅读 · 0 评论 -
C/C++常见面试题(五)
移动语义(Move Semantics)是一种C++中的特性,用于在对象之间转移资源所有权而不进行深拷贝。传统的拷贝构造函数和赋值运算符会对数据进行深拷贝,即将源对象的数据复制一份到目标对象中。这种操作对于大型对象或资源密集型操作来说可能会很昂贵,造成性能下降。移动语义通过使用移动构造函数和移动赋值运算符来实现资源的转移,而非复制。它可以将源对象内部指针或资源的所有权直接转移到目标对象,避免了不必要的数据复制和内存分配。原创 2023-12-24 00:26:49 · 1212 阅读 · 0 评论 -
C/C++常见面试题(四)
在C++中,类是一种用户自定义的数据类型,用于封装数据和相关操作。它可以看作是一个模板或蓝图,描述了对象的属性(成员变量)和行为(成员函数)。要定义一个类,可以使用class关键字后跟类名,并在大括号中定义类的成员变量和成员函数。private:// 成员变量public:// 成员函数上述代码定义了一个名为 MyClass 的类,包含一个私有的整型成员变量 myVariable 和一个公有的成员函数 myFunction()。要实例化一个类,需要创建该类的对象。原创 2023-12-23 18:53:34 · 1263 阅读 · 0 评论 -
C语言面试题-C语言详解字节对齐原则
(1)在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。(2)为了使CPU能够对变量进行快速的访问,变量的起始地址应该具有某些特性,即所谓的”对齐”.比如4字节的int型,其起始地址应该位于4字节的边界上,即起始地址能够被4整除.(3)对于32位机来说,4字节对齐能够使cpu访问速度提高,比如说一个long类型的变量,如果跨越了4字节边界存储,那么cpu要读取两次,这样效率就低了。原创 2023-11-03 16:30:08 · 126 阅读 · 0 评论 -
C语言面试题-C语言编码详解动态链接与静态链接的区别
链接主要负责将生成的*.o和含有主函数的源文件,以及一些库文件,链接成可执行文件;链接分为动态链接和静态链接,一般默认使用动态链接,使用静态链接,需要加-static 来告知编译器。 静态链接需要静态库,静态库在Linux下格式是*.a,在Windows下是*.lib。 动态链接需要动态库,动态库在Linux下格式是*.so,在Windows下是*.dll。原创 2023-10-21 15:58:36 · 116 阅读 · 0 评论 -
C语言面试题-C语言实现并详解大端序和小端序
大端存储方式:数据的低位存储到内存的高地址中,数据的高位存储到内存的低地址中小端存储方式:数据的低位存储到内存的低地址中,数据的高位存储到内存的高地址中。原创 2023-10-26 11:25:01 · 122 阅读 · 0 评论 -
C语言面试题-C语言中的多线程机制
(3)线程的分离状态(分离线程:主动结束 和 可汇合线程:等待原有创建线程结束 才结束,即pthread_ioin()调用后,该子线程结束),pthread_join(thread_id,void * (ret));2 创建线程 pthread_create(&thread_id,NULL,fibonacci_com_func,&in);1 申请线程对象,需要包含#include ,pthread_t thread_id;(2)调度的优先级,原创 2023-11-09 14:41:00 · 131 阅读 · 0 评论 -
C语言面试题-C语言头节点法实现对两个升序链表的合并
本文主要使用C语言实现对两个升序列表的合并,涉及到链表的创建、链表的插入、链表排序、链表的合并等。这是常考的一道面试题,比较经典,既可以考察对于链表的理解也可以考察对于排序算法。这里使用带有头结点的链表来实现。原创 2023-10-27 17:10:37 · 107 阅读 · 0 评论 -
C语言面试-C语言实现字符串翻转
字符串翻转是c语言面试基本题中常见的,c语言翻转的实现思路一般是取出来重排,或者前后字符串中的字符对调,那么一般前后字符的对调效率比较高。这里实现前后对调的方法。对字符串翻转的实现一般第一步需要知道字符串的长度(strlen(str),然后对字符串进行前后遍历。原创 2023-10-26 18:01:46 · 397 阅读 · 0 评论 -
C语言面试题-C语言实现bit位的翻转
bit位的翻转,一般只对无符号数进行,对于有符号数,由于符号位的存在,需要对其进行特殊处理,这里使用c来实现对一个无符号整数实现bit位的翻转,假使32位,[0,31],即bit0bit31,bit1bit30,bit2bit29...。原创 2023-10-26 17:30:37 · 765 阅读 · 0 评论 -
C语言面试题-C99中的restrict关键字详解
restrict是一个用于限定指针的关键字,一般定义int * restrict a,用来告知编译器,对于该指针指向的内容的修改,只能通过该指针实现,这样做的一个好处是,可以让编译器来更好的优化代码,生成效率更高的汇编代码。gcc编译时需要 加-std=c99 来实现对c99的支持。原创 2023-10-26 11:03:17 · 558 阅读 · 0 评论 -
C语言面试题-C语言实现对一个二维数组中目标值的查找
本文主要介绍用C语言实现对一个二维数组中目标值的查找,这是一道面试题。基本有两个方法,利用二维数组的本质是一维的或者分别对行列的遍历,本质上是一样的。对于这种查找很容易想到利用二分法实现。时间复杂度大概。原创 2023-10-29 13:00:46 · 211 阅读 · 0 评论 -
C语言面试题-快速理解并用C实现求一个数组中的众数
c语言标准输入输出流,求一个数组中的众数和出现的次数原创 2023-11-21 00:33:20 · 285 阅读 · 0 评论 -
C/C++常见面试题(三)
宏定义中的两个##符号是连接运算符,在预处理阶段用于将两个标识符(identifier)连接在一起形成一个新的标识符。这种操作称为标识符的拼接(token concatenation)。// 将a和b拼接成abreturn 0;在上述代码中,CONCAT宏定义使用了##连接运算符,将传入的参数a和b进行拼接。在printf()语句中,我们通过将a和b拼接成了ab,最终输出结果为10。原创 2023-12-20 19:04:05 · 1156 阅读 · 0 评论 -
C/C++常见面试题(二)
return 0;如上的一个宏定义:切记宏定义的本质只是简单的替换,因此对于宏定义的操作,一般要求加括号,比如上述的宏定义,要计算x的三次方的话,应该写成 VHU(x) (x)*(x)*(x)原创 2023-12-10 15:29:47 · 969 阅读 · 0 评论 -
C/C++常见面试题(一)
C/C++最全面试题,最全基础,学会这些可以应对市场上几乎所有的面试题原创 2023-11-28 19:04:23 · 1313 阅读 · 0 评论