会员中心     
首页 > 欧亿·体育(中国)有限公司专栏 > HRM > 人力资源 > 面试甄选 > 大华2021嵌入式(带答案)-大厂面试真题及答案DOCX

大华2021嵌入式(带答案)-大厂面试真题及答案DOCX

yangjia***
V 实名认证
内容提供者
欧亿·体育(中国)有限公司大小:18KB(压缩后)
文档格式:DOCX(5页)
欧亿·体育(中国)有限公司语言:中文版/英文版/日文版
解压密码:m448
更新时间:2024/11/15(发布于吉林)

类型:积分欧亿·体育(中国)有限公司
积分:10分 (VIP无积分限制)
推荐:升级会员

   点此下载 ==>> 点击下载文档


“大华2021嵌入式(带答案)-大厂面试真题及答案DOCX”第1页图片 图片预览结束,如需查阅完整内容,请下载文档!
文本描述
C++ 什么情况下必须用初始化列表
参考答案
成员类型是没有默认构造函数的类。若没有提供显示初始化式,则编译器隐式使用成员类型的默认构造函数,若类没有默认构造函数,则编译器尝试使用默认构造函数将会失败。
const 成员或引用类型的成员。因为 const 对象或引用类型只能初始化,不能对他们赋值。
对于普通数据成员而言,其值的设定可以放在 初始化阶段或者普通计算阶段完成。对于 const类型和&引用类型数据成员,其初始化必须在初始化阶段完成。若通过普通计算阶段来初始化该值,编译器会报错:该变量未初始化。
面向对象的三大特点
参考答案
C++为了更好的实现面向对象的编程思想,于是引入了新的数据类型——类。由此衍生出三大特性:(1)封装。(2)继承。(3)多态。
C++ 多态的种类和表现形式?
参考答案
静态多态(编译器多态):重载
动态多态(运行时多态):多态
你了解的STL算法和容器?
参考答案
容器:list、vector、map
list和vector的应用场景?
参考答案
数组插入和删除操作的时间复杂度是O(n)。而数组是有序的,可以直接通过下标访问元素,十分高效,访问时间复杂度是O(1)(常数时间复杂度)。
如果某些场景需要频繁插入和删除元素时,这时候不宜选用数组作为数据结构。
频繁访问的场景下,可以使用数组。
反之,频繁插入或删除的场景用链表
构造函数可以为虚函数吗?父类的析构函数为什么是虚函数?
参考答案
构构造函数不能为虚函数,当申明一个函数为虚函数时,会创建虚函数表,那么这个函数的调用方式是通过虚函数表来调用。若构造函数为虚函数,说明调用方式是通过虚函数表调用,需要借助虚表指针,但是没构造对象,哪里来的虚表指针?但是没有虚表指针,怎么访问虚函数表从而调用构造函数呢?这就成了一个先有鸡还是先有蛋的问题。
若存在继承关系时,析构函数必须申明为虚函数,这样父类指针指向子类对象,释放基类指针时才会调用子类的析构函数释放资源,否则内存泄漏。
若存在继承关系时,析构函数必须申明为虚函数,这样父类指针指向子类对象,释放基类指针时才会调用子类的析构函数释放资源,否则内存泄漏。
结构体对齐相关
参考答案
自身对齐值 数据成员本身的对齐值,如:char类型占1个字节,即自身对齐值为1,short类型占2个字节,自身对齐值为2,int类型占4个字节,自身对齐值为4,double类型占8个字节,自身对齐值为8;
指定对齐值 1、由编译器指定:32位机是个4字节,即指定对齐值为4,64位机是个8字节,即指定对齐值为8; 2、由程序员指定: 使用#pragma pack(n)来指定,n为2的幂次方,如1,2,4,8,16等;
有效对齐值 自身对齐值和指定对齐值中较小的那个 ,如:32位机,char类型,则此成员有效对齐值为1;double类型,则此成员有效对齐值为4;如:程序员指定#pragma pack(2),char类型,则此成员有效对齐值为1;double类型,则此成员有效对齐值为2;
如何取消fork的文件描述符的共享?
参考答案
因为现代fork采用共享文件描述符来实现写时复制,所以就是要进程正常复制。
fork调用了do_fork这个内核函数,这个函数比较大,主干程序是copy_process,这里有一系列的copy_xxx系列产品,这个系列产品会根据传进来的标志位,来决定那些资源子进程需要copy一份,那些不用拷贝了,直接用父进程的就可以了。 我们关注的copy_mm这个函数,如果用户标志位中的CLONE_VM置了0,意味着取消共享,需要copy一份
你了解的锁机制?
(1)互斥锁:mutex,保证在任何时刻,都只有一个线程访问该资源,当获取锁操作失败时,线程进入阻塞,等待锁释放。
(2)读写锁:rwlock,分

版权所有: 欧亿·体育(中国)有限公司©2025 客服电话: 0411-88895936 18842816135

欧亿·体育(中国)有限公司