C++面试基本知识点(1)
static、类型转换、指针和引用、智能指针
C++面试宝典——编译与底层
</i>编译与底层1 一个C++源文件从文本到可执行文件经历的过程?对于C++源文件,从文本到可执行文件一般需要四个过程:
预处理阶段:对源代码文件中文件包含关系(头文件)、预编译语句(宏定义)进行分析和替换,生成预编译文件🔻。
编译阶段:将经过预处理后的预编译文件转换成特定汇编代码,生成汇编文件🔻。
汇编阶段:将编译阶段生成的汇编文件转化成机器码,生成可重定位目标文件🔻。
链接阶段:将多个目标文件及所需要的库连接成最终的可执行目标文件
2 include头文件的顺序以及双引号””和尖括号<>的区别?Include头文件的顺序:对于include的头文件来说,如果在文件a.h中声明一个在文件b.h中定义的变量,而不引用b.h。那么要在a.c文件中引用b.h文件,并且要先引用b.h,后引用a.h,否则汇报变量类型未声明错误。
双引号和尖括号的区别:编译器预处理阶段查找头文件的路径不一样。
对于使用双引号包含的头文件,查找头文件路径的顺序为:
当前头文件目录
编译器设置的头文件路径(编译器可使用-I显式指定搜索路径)
系统变量CPLUS_INCLUDE_P ...
面向对象和泛型编程
左值与右值
C++面试知识点(牛客)
C++面试宝典📖
转载自:牛客网C++面试技巧
博客仅用于记录面试经验与技巧~~给自己加油
需要注意的是:此图不绝对,因为实际面试中面试官会根据你的简历去问,比如你的项目多可能就问的项目多一些,或者你说哪里精通可能面试官就多去问你这些。而且此图是根据题库数据整理出来,并不是根据实际单场面试整理,比如基础部分不会考那么多,会从中抽着考
但是面试中必考的点且占比非常大的有c基础和**算法**。
决定你是否能拿sp offer(高薪offer)以及是否进名企的是项目和**算法**。
面试技巧面试一般分为==技术面==和==hr面==,形式的话很少有群面,少部分企业可能会有一个交叉面,不过总的来说,技术面基本就是考察你的专业技术水平的,hr面的话主要是看这个人的综合素质以及家庭情况符不符合公司要求,一般来讲,技术的话只要通过了技术面hr面基本上是没有问题(也有少数企业hr面会刷很多人)
那我们主要来说技术面,技术面的话主要是考察专业技术知识和水平,我们是可以有一定的技巧的,但是一定是基于有一定的能力水平的。
所以也慎重的告诉大家,技巧不是投机取巧,是起到辅助效果的,技术面最主要的还 ...
C++面试经典题目
整理了几个学习平台的面试题目仅供学习参考!!!
算法——查找算法
哈希、红黑树、B+树、二叉树、平衡算法
搜索算法
二分查找二分查找一定是有序的:target ? (left+right)/2
如果说二分查找转换成数据结构展示——>==二叉树—->二叉查找树、二叉搜索树==
二叉搜索树1. 时间复杂度:二分:log(n)
AVL树:平衡二叉树红黑树(特殊的二叉查找树)这篇文章还在编辑中······
本文结束!
Manacher算法
Manacher算法
求最长子回文串
转载声明:@刘毅 (Ethson Liu)
算法过程分析由于回文分为偶回文(比如 bccb)和奇回文(比如 bcacb),而在处理奇偶问题上会比较繁琐,所以这里我们使用一个技巧,具体做法是:
在字符串首尾及每个字符间都插入一个 “#”,这样可以使得原先的奇偶回文都变为奇回文;
接着再在首尾两端各插入 “$” 和 “^”,这样中心扩展寻找回文的时候会自动退出循环,不需每次判断是否越界,可参见下面代码。
上述新插入的三个字符,即 “#”、 “$” 和 “^”,必须各异,且不可以与原字符串中的字符相同。
举个例子:s="abbahopxpo",转换为 s_new="$#a#b#b#a#h#o#p#x#p#o#^"。如此,s 里起初有一个偶回文 abba 和一个奇回文 opxpo,被转换为 #a#b#b#a# 和 #o#p#x#p#o#,长度都转换成了奇数。
定义一个辅助数组 int p[],其中 p[i] 表示以 i 为中心的最长回文的半径,例如:
i
0
1
2
3
4
5
6
7
8
9
10 ...
排序算法小记
冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序