C语言与C++常见面试题
C语言与CPP编程
共 3455字,需浏览 7分钟
· 2020-08-05
本篇根据各个公司的面试问的常见问题进行总结。
公众号回复“面试”,获取pdf答案
-
1 变量的声明和定义有什么区别 -
2 简述 #ifdef、#else、#endif
和#ifndef
的作用 -
3 写出 int 、bool、 float
、指针变量与 “零值”比较的if
语句 -
4 结构体可以直接赋值吗 -
5 sizeof
和strlen
的区别 -
6 C 语言的关键字 static
和 C++ 的关键字static
有什么区别 -
7 C 语言的 malloc
和 C++ 中的new
有什么区别 -
8 写一个 “标准”宏MIN -
9 ++i
和i++
的区别 -
10 volatile
有什么作用 -
11 一个参数可以既是 const
又是volatile
吗 -
12 a
和&a
有什么区别 -
13 用 C 编写一个死循环程序 -
14 结构体内存对齐问题 -
15 全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的? -
16 简述 C、C++ 程序编译的内存分配情况 -
17 简述 strcpy、sprintf
与memcpy
的区别 -
18 请解析 (*(void (*)( ) )0)( )
的含义 -
19 C语言的指针和引用和c++的有什么区别? -
20 typedef
和define
有什么区别 -
21 指针常量与常量指针区别 -
22 简述队列和栈的异同 -
23 设置地址为 0x67a9
的整型变量的值为0xaa66
-
24 编码实现字符串转化为数字 -
25 C 语言的结构体和 C++ 的有什么区别 -
26 简述指针常量与常量指针的区别 -
27 如何避免“野指针” -
28 句柄和指针的区别和联系是什么? -
29 new/delete
与malloc/free
的区别是什么 -
30 说一说 extern“C”
-
31 请你来说一下 C++ 中 struct
和class
的区别 -
32 C++ 类内可以定义引用数据成员吗? -
33 C++ 中类成员的访问权限 -
34 什么是右值引用,跟左值又有什么区别? -
35 面向对象的三大特征 -
36 说一说 c++ 中四种 cast
转换 -
37 C++ 的空类有哪些成员函数 -
38 对 c++ 中的 smart pointer
四个智能指针:shared_ptr,unique_ptr,weak_ptr,auto_ptr
的理解 -
39 说说强制类型转换运算符 -
40 谈谈你对拷贝构造函数和赋值运算符的认识 -
41 在 C++ 中,使用 malloc
申请的内存能否通过delete
释放?使用new
申请的内存能否用free
? -
42 用 C++ 设计一个不能被继承的类 -
43 C++ 自己实现一个 String
类 -
44 访问基类的私有虚函数 -
45 对虚函数和多态的理解 -
46 简述类成员函数的重写、重载和隐藏的区别 -
47 链表和数组有什么区别 -
48 用两个栈实现一个队列的功能 -
49 vector
的底层原理 -
50 vector
中的reserve
和resize
的区别 -
51 ``vector 中的
size和
capacity`的区别 -
52 vector 中
erase方法与
algorithn中的
remove`方法区别 -
53 vector
迭代器失效的情况 -
54 正确释放 vector
的内存(clear(), swap(), shrink_to_fit())
-
55 list
的底层原理 -
56 什么情况下用 vector
,什么情况下用list
,什么情况下用 deque` -
57 priority_queue
的底层原理 -
58 map 、set、multiset、multimap
的底层原理 -
59 为何 map
和set
的插入删除效率比其他序列容器高 -
60 为何 map
和set
每次Insert
之后,以前保存的iterator
不会失效? -
61 当数据元素增多时(从 10000 到 20000), map
的set
的查找速度会怎样变化? -
62 map 、set、multiset、multimap
的特点 -
63 为何 map
和set
的插入删除效率比其他序列容器高,而且每次insert
之后,以前保存的iter
-
64 为何 map
和set
不能像vector
一样有个reserve
函数来预分配数据? -
65 set
的底层实现实现为什么不用哈希表而使用红黑树? -
66 hash_map
与map
的区别?什么时候用hash_map
,什么时候用map
? -
67 迭代器失效的问题 -
68 STL
线程不安全的情况
公众号回复“面试”,获取pdf答案
点【在看】是最大的支持
评论
【送书福利】《Java面试八股文:高频面试题与求职攻略一本通》
先来唠唠最近粉丝面试回来跟我聊天,基本上都提到一个点,在面试过程中八股文占比很高(八股文70%、项目20%、10%算法)除了一些搞算法突出的厂除外。其实现在很多厂八股都是逐渐深入的方式来问,所以大家在学习的过程中,针对一些重点的内容,最好深入去学习,不然还是比较难应对这种追问式的问题。最近刚好从一位
Java后端技术
0
PyPy为什么能让Python比C还快?一文了解内在机制
我的小册:(小白零基础用Python量化股票分析小册) ,原价299,限时特价2杯咖啡,满100人涨10元。来源:机器之心「如果想让代码运行得更快,您应该使用 PyPy。」—— Python 之父 Guido van Rossum对于研究人员来说,迅速把想法代码化并查看其是否行得通至关重要。Pyth
菜鸟学Python
0
屏论丨“重温经典”频道走红背后的危与机
屏论今年2月1日,“重温经典”频道正式开播,作为免费向观众提供应看爱看、脍炙人口的经典内容的公益性频道,“重温经典”频道对于“双治理”背景下正在进行电视公共服务属性与商业属性新一轮沉淀的电视大屏而言,意义重要而特殊。从频道开播以来的实际表现来看,的确亮眼。比如春节期间,“重温经典”频道在21个地区收
流媒体网
0
面试官:限流的常见算法有哪些?
限流的实现算法有很多,但常见的限流算法有三种:计数器算法、漏桶算法和令牌桶算法。1.计数器算法计数器算法是在一定的时间间隔里,记录请求次数,当请求次数超过该时间限制时,就把计数器清零,然后重新计算。当请求次数超过间隔内的最大次数时,拒绝访问。计数器算法的实现比较简单,但存在“突刺现象”。突刺现象是指
Stephen
0
轻松学习C#:百度行驶证C++离线SDK接入详解
效果 先看最终效果SDK 拿到完整包如图,687M解压后看看内容发现有个readme.txt,那就先看看内容1:用vs2015打开sln工程,最好用vs2015 comunity版本,可微软官网下载。2:sdk的doc目录有pdf接口文档。3:工程总入口main.cpp、请参考示例实现您的功能。4:
DotNet NB
9
Java版【数据结构与算法】的天花板,收藏好,慢慢看
Java 版数据结构与算法来了,堪称 java 版数据结构与算法的天花板,需要学数据结构与算法的,刷这套就可以了,目录如下,文末附教程地址。基础数据结构-001-二分查找-算法描述基础数据结构-002-二分查找-算法实现基础数据结构-003-二分查找-问题1-循环条件基础数据结构-004-二分查找-
路人甲Java
0
42岁日本童颜女神二度离婚后,被曝与年下11岁帅哥演员热恋中!
女優の安達祐実の熱愛報道が話題だ。お相手は、俳優の鈴木勝大。09年、『JUNONスーパーボーイコンテスト』準グランプリで芸能界入りした鈴木は、12年にスーパー戦隊シリーズ『特命戦隊ゴーバスターズ』(テレビ朝日系)で主演を務め、その後はドラマや映画などで活躍する若手の人気俳優だ。安達と鈴木は昨年夏の舞
python教程
0
常见 Cilium 使用案例
常见20个 Cilium 使用案例(2)本文翻译来源于 Isovalent 网站的Top 20 Cilium Use Cases(https://isovalent.com/blog/post/top-20-cilium-use-cases/)。由于平台限制,原文中的一些超链接被移除。Cilium是
k8s技术圈
2