Linux C/C++后台开发面试重点知识

内容分享12小时前发布
0 0 0

Linux C/C++后台开发面试重点知识

文章转载自: Linux C/C++后台开发面试重点知识

Linux C/C++后台开发面试重点知识

查看目录

一、C++ 面试重点

本篇主要是关于 C++ 语言本身,如果是整个后台技术栈的学习路线,可以看这篇文章: Linux C++ 后台开发学习路线

对于 C++ 后台开发面试来说,基本上语言层面考察候选人以下几个方面(其它算法、计算机基础暂时不在这里列出来):

  • 对于指针、内存的理解

  • 对于运行时 Runtime 的理解

  • 一些语法特性和关键字的掌握

  • C++11 及现代 C++ 的一些特性,列如智能指针

  • STL 部分容器的算法和内存分配原理

下面👇细化一下这些具体的知识:

三、基础语言特性(必备)

第一是语言的基础知识,一些关键字和实现原理等:

  • 指针、引用、数组、内存

  • 引用与指针区别

  • C 和 C++ 的一些区别,列如 new、delete 和 malloc、free 的区别

  • 虚机制:虚函数、虚函数表、纯虚函数

  • 继承、虚继承、菱形继承等

  • 多态: 动态绑定,静态多态

  • 重写、重载

  • 智能指针原理:引用计数、RAII(资源获取即初始化)思想

  • 智能指针使用:shared_ptr、weak_ptr、unique_ptr等

  • 一些关键字的作用:static、const、volatile、extern

  • 四种类型转换:static_cast, dynamic_cast, const_cast, reinterpret_cast

  • STL 部分容器的实现原理,如 vector、deque、map、hashmap

四、进阶语言特性(推荐)

  • 模板特化、偏特化,萃取 traits 技巧

  • 编译链接机制、内存布局(memory layout)、对象模型

  • C++11 部分新特性,列如右值引用、完美转发等

这里列出来的只是一些比较重大的部分,实际上可能只算 C++ 的冰山一角, 大家且学且珍惜吧,这不 C11 还没整透彻,C 20 又出来了,生命不息,学习不止。

五、怎么准备?

更新中,可以先看原文: Linux C/C++后台开发面试重点知识

作者: 编程指北
链接: https://csguide.cn/cpp/#%E4%B8%80%E3%80%81%E7%9B%AE%E5%BD%95
来源: https://csguide.cn
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

© 版权声明

相关文章

暂无评论

none
暂无评论...