关于c++:C面试题收集自程序喵大人

7次阅读

共计 2048 个字符,预计需要花费 6 分钟才能阅读完成。

C 语言

  • const 的作用有哪些,谈一谈你对 const 的了解?
  • 形容 char、const char、char const、const char const 的区别?
  • 指针常量和常量指针有什么区别?
  • static 的作用是什么,什么状况下用到 static?
  • 全局变量与局部变量的区别?
  • 宏定义的作用是什么?
  • 内存对齐的概念?为什么会有内存对齐?
  • inline 内联函数的特点有哪些?它的优缺点是什么?
  • 如何用 C 实现 C++ 的面向对象个性(封装、继承、多态)
  • memcpy 怎么实现让它效率更高?
  • typedef 和 define 有什么区别?
  • extern 有什么作用,extern C 有什么作用?
  • 如何防止野指针?
  • 如何计算构造体长度?
  • sizeof 和 strlen 有什么区别?
  • 晓得条件变量吗?条件变量为什么要和锁配合应用?

C++ 根底

C 语言和 C ++ 有什么区别?
struct 和 class 有什么区别?
extern “C” 的作用?
函数重载和笼罩有什么区别?
谈一谈你对多态的了解,运行时多态的实现原理是什么?
对虚函数机制的了解,单继承、多继承、虚继承条件下虚函数表的构造
如果虚函数是无效的,那为什么不把所有函数设为虚函数?
构造函数能够是虚函数吗?析构函数能够是虚函数吗?
面试系列之 C ++ 的对象布局【倡议珍藏】
什么场景须要用到纯虚函数?纯虚函数的作用是什么?
理解 RAII 吗?介绍一下?
RAII 妙用之计算函数耗时
RAII 妙用之 ScopeExit
类的大小怎么计算?
volatile 关键字的作用?什么时候须要应用 volatile 关键字
如何实现一个线程池?C++ 线程池的实现之格局修订版
理解各种强制类型转换的原理及应用?
指针和援用有什么区别?什么状况下用指针,什么状况下用援用?
个别什么状况下会呈现内存透露?怎么用 C ++ 在编码层面尽量避免内存透露。
unique_ptr 如何转换所有权?
谈一谈你对面向对象的了解
什么场景下应用继承形式,什么场景下应用组合?

new 和 malloc 有什么区别?
malloc 的内存能够用 delete 开释吗?

malloc 进去 20 字节内存,为什么 free 不须要传入 20 呢,不会产生内存透露吗?

new[]和 delete[]肯定要配对应用吗?new[]和 delete[]为何要配对应用?

  1. C++11 新个性你都理解多少?

理解 auto 和 decltype 吗?一文吃透 C ++11 中 auto 和 decltype 知识点

谈一谈你对左值和右值的理解,理解左值援用和右值援用吗?

理解挪动语义和完满转发吗?左值援用、右值援用、挪动语义、完满转发,你晓得的不晓得的都在这里

理解列表初始化吗?学会 C ++11 列表初始化

平时会用到 function、bind、lambda 吗,都什么场景下会用到?搞定 c ++11 新个性 std::function 和 lambda 表达式

对 C ++11 的 mutex 和 RAII lock 有过理解吗?c++11 新个性之线程相干所有知识点

对 C ++11 的智能指针理解多少,能够本人实现一个智能指针吗?c++11 新个性之智能指针 源码剖析 shared_ptr 实现之修订版

enum 和 enum class 有什么区别?

  1. STL
    C++ 间接应用数组好还是应用 std::array 好?std::array 是怎么实现的?

std::vector 最大的特点是什么?它的外部是怎么实现的?resize 和 reserve 的区别是什么?clear 是怎么实现的?

deque 的底层数据结构是什么?它的外部是怎么实现的?

map 和 unordered_map 有什么区别?别离在什么场景下应用?

list 的应用场景?std::find 能够传入 list 对应的迭代器吗?

string 的罕用函数

设计模式

别离写出饿汉和懒汉线程平安的单例模式
说出观察者模式类关系和长处
说出代理模式类关系和长处
说出工厂模式概念和长处
说出结构者模式概念
说出适配器模式概念

操作系统

过程和线程的区别?深度好文 | 面试官:过程和线程,我只问这 19 个问题
操作系统是怎么进行过程治理的?
操作系统是如何做到过程阻塞的?
过程之间的通信形式有哪些?
什么是上下文切换,操作系统是怎么做的上下文切换?
线程是如何实现的?
线程之间公有和共享的资源有哪些?
个别应用程序内存空间的堆和栈的区别是什么?
过程虚拟空间是怎么布局的?10 张图 22 段代码,万字长文带你搞懂虚拟内存模型和 malloc 外部原理
虚拟内存是如何映射到物理内存的?理解分页内存治理吗?操作系统内存治理,你能答复这 8 个问题吗?
产生死锁的必要条件有哪些?如何防止死锁?
什么是大端字节,什么是小端字节?如何转换字节序?
信号和信号量的区别是什么?
锁的性能开销,锁的实现原理?
理解 CPU 的 Cache 吗?如何写一个高效的多维矩阵乘法?如何利用 CPU Cache 写出高性能代码,看这些图就够了!

编译原理

gcc hello.c 这行命令具体的执行过程,外部到底做了什么?gcc a.c 到底经验了什么?
程序肯定会从 main 函数开始运行吗?
如何确定某个函数有被编译输入?
动态链接库和动态链接库的区别是什么?Linux 为什么要动静链接?与动态链接的区别是什么?

正文完
 0