华为C++工程师面试最新题库,赶紧收藏!
Posted AI 修炼之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为C++工程师面试最新题库,赶紧收藏!相关的知识,希望对你有一定的参考价值。
废话不多说,下面直接上内容。大家可以根据下面的问题测试下自己,从而针对性地查缺补漏!
一、C++语言基础
c 和 c++ 的区别
什么是多态
什么是虚函数
什么是纯虚函数
纯虚函数作用和实现方式
构造函数可以是虚函数吗
析构函数可以是虚函数吗
有哪几种强制类型转换,使用场景
虚函数表存放的内容
多继承的优缺点
全局变量和静态变量区别
volatile 关键字的使用
泛型的概念
C++ 内存分区
C++11新特性
左值和右值的概念
指针常量和常量指针
单例和观察者模式
MVC 模式
如何保证代码的可靠性
什么是智能指针,智能指针的作用,有哪些以及实现原理
模板偏特化是什么
堆和栈的区别
malloc、free 和 new、delete 的区别
protect 变量继承后派生类访问权限
预编译阶段主要做什么
静态编译和动态编译
函数重载的作用
重载、重写和覆盖的区别
const 关键字的使用
空类编译器会自动生成哪些函数
OSI 七层网络模型
三次握手和四次挥手
可以两次握手吗
tcp 和 udp 区别
tcp 如何保证可靠传输
如何使用 udp 实现可靠传输
close_wait 状态的作用
滑动窗口的作用
超市重传机制
拥塞控制和流量控制的区别
如何解决粘包问题
https 和 http 区别
socket编程流程,状态转换流程,编程函数和状态的对应节点
IO 模型
get 和 post 的区别
NAT 的原理
ping 的过程
DNS 的原理
三、数据结构
vector 和 list 区别
vector 扩容原理
迭代器失效问题
map 的底层实现
map 和 unordered_map 的区别
使用 map 的使用不是基础数据类型需要重载什么运算符
list 和 map 的区别
set 的底层实现
红黑树的性质
二叉搜索树、平衡二叉树和红黑树的区别
四、操作系统
进程和线程的区别
进程间通信的方式
线程间通信的方式
进程间的状态转换
进程上下文切换的细节
线程上下文切换的细节
多进程和多线程的区别
多线程如何实现同步与互斥
中断实现的原理
自旋锁与互斥锁区别
什么是死锁,发生的条件
Linux中du,df两个命令的区别
Linux 如何修改文件权限
什么是僵尸进程、孤儿进程
什么是守护进程,如何创建
如何判断大端和小端
线程池技术
乐观锁和悲观锁
虚拟内存的原理和优点
系统调用和函数调用的区别
用户态和内核态
-
内核的作用
Dijkstra单源最短路径算法
从尾到头打印链表
快速排序的思想,时间复杂度,是不是稳定的
堆排序的思想,时间复杂度,是不是稳定的
二叉树的最大深度
两个栈实现队列
最长公共前缀
链表的倒数第k个数
合并两个排序的链表
存在重复元素 III
翻转二叉树
最长连续递增序列
有效的括号
最长有效括号
三数之和
数组的相对排序
二叉树的遍历方式
用队列实现栈
二分查找
接雨水
扫描下方二维码,关注我!每日学习一道经典算法题,往期内容戳戳这里:
以上是关于华为C++工程师面试最新题库,赶紧收藏!的主要内容,如果未能解决你的问题,请参考以下文章
网络工程师的敲门砖,2022最新HCIA-Datacom题库H12-811首发分享
华为OD机试2023年最新题库(JAVAPythonC++)