首页 / c++面试
#

c++面试

#
23752次浏览 417人互动
此刻你想和大家分享什么
热门 最新
2024-09-27 22:33
东南大学 C++
oppo底软一面面经,泡了一个月泡不出来
base深圳,8.16一面,8.21二面,8.27hr面,到现在还是hr面已完成,估计泡不出来了。一面cpp八股盛宴:1、long占几个字节,在32位上几个字节,64是几个字节2、一个结构体A,一个char 一个int 一个short,这个结构体占几个字节3、这个结构体指针占几个字节4、两个变量做一个值的交换有哪些方式,不经过第三个变量5、函数指针的定义,写一个函数指针的样子6、Stl有几大组件7、说一个最熟悉的容器的结构,vector的存储结构8、说一下线性表的结构9、怎么获取victor的元素个数和存储空间10、说一下map和unordered_map的区别,各用在哪些场景11、哈希表的结构是什么12、哈希表键冲突了怎么办13、什么变量不可以取地址14、讲一下冒泡排序15、怎么优化冒泡排序16、Linux文件权限是654是什么意思17、Linux有哪些文件类型18、有什么进程间通信方式19、那种进程间通信方式效率最高20、fork()返回值,父进程和子进程的返回值是什么全程30分组二面纯问项目,一些常规水题,比如项目难点是什么对你有什么帮助,说完估计面试官也不懂所以没有反馈就下一个题。HR面也是常规,我问熟不熟悉oppo,我说很熟悉本人手机数码爱好者,平常也喜欢看测评啥的,直接拿出我的一加12给他看(初中的时候用的一加1)还尬吹了一通Color OS。本以为会是第一个offer,现在看来是进了鱼塘了,遥遥无期捏。#oppo##嵌入式##c++面试#
转码羊羊不怕困难:主要看学历,我实验室双9基本上都拿到了底软
点赞 评论 收藏
分享
C++ 每日阶梯挑战
投票
#c++后端##c++面试##c++工程师##C++#一、基础级别(初级)1.C++中声明变量的基本语法是什么?    答案:类型 变量名; 或 类型 变量名 = 初始值;2.什么是构造函数?    答案:构造函数是在对象创建时自动调用的特殊成员函数,用于初始化对象的状态。3.什么是析构函数?    答案:析构函数是在对象生命周期结束时自动调用的特殊成员函数,用于释放对象占用的资源。4.C++中如何声明一个指向函数的指针?    答案:例如,声明一个指向返回int并接受两个int参数的函数指针:    int (*func_ptr)(int, int);5.解释一下const关键字在C++中的用途。    答案:const关键字用来指定变量或对象的值不能被修改。6.C++中的引用是什么?    答案:引用是一个别名,指向已存在的变量。7.C++中的动态内存分配函数有哪些?    答案:new 和 delete 用于动态内存分配与释放。8.如何定义一个纯虚函数?    答案:使用= 0来定义一个纯虚函数,如:    virtual void func() = 0;9.C++中的三种访问修饰符是什么?    答案:public, protected, private10.解释一下拷贝构造函数的作用。    答案:拷贝构造函数用于根据已存在的对象创建新对象。二、中级难度1.解释一下this指针的作用。    答案:this指针是指向当前对象的一个隐式指针,可以在成员函数内部使用它来引用对象的成员。2.什么是多态性?    答案:多态性允许子类对象以父类的形式出现,实现方法重写。3.如何在C++中实现接口?    答案:通过定义包含纯虚函数的抽象基类来实现。4.C++中有哪些类型转换操作符?    答案:static_cast, dynamic_cast, const_cast, reinterpret_cast.5.解释一下std::unique_ptr和std::shared_ptr的区别。    答案:std::unique_ptr独占其管理的对象所有权,而std::shared_ptr允许多个指针共享同一对象的所有权。6.C++中如何处理异常?    答案:使用try、catch和throw语句来抛出和捕获异常。7.解释一下RAII(Resource Acquisition Is Initialization)的概念。    答案:RAII是一种编程模式,确保资源在对象生命周期开始时获取,在对象生命周期结束时释放。8.模板是什么?    答案:模板是C++中的泛型编程机制,允许编写可应用于多种数据类型的代码。9.解释一下模板特化。    答案:模板特化是为特定类型或一组类型提供不同的实现方式。10.C++中的命名空间有什么作用?    答案:命名空间用于组织和隔离代码,避免名称冲突。三、高级难度1.解释一下类型推断和auto关键字。    答案:auto关键字允许编译器根据初始化表达式的类型自动推断变量类型。2.什么是SFINAE(Substitution Failure Is Not An Error)?    答案:SFINAE是模板元编程中的一种机制,当模板参数替换失败时,该模板实例不会成为有效候选。3.C++11中的右值引用有什么用途?    答案:右值引用支持移动语义和完美转发,可以提高性能并减少不必要的复制。4.解释一下std::move的功能。    答案:std::move将左值转换为右值引用,以便调用移动构造函数或移动赋值运算符。5.什么是C++中的类型别名?    答案:类型别名使用using关键字为现有类型定义一个新的名称。6.C++中如何实现类型安全的枚举?    答案:使用enum class代替传统的enum,它可以防止不同枚举之间的值混淆。7.解释一下C++中的类型特质(Type Traits)。    答案:类型特质是C++标准库的一部分,提供了一种查询类型信息的方式,如std::is_same、std::is_pointer等。8.C++中的条件编译是什么?    答案:条件编译允许基于预处理器宏的条件选择性地包含或排除代码段。9.如何在C++中实现CRTP(Curiously Recurring Template Pattern)?    答案:CRTP是一种设计模式,其中基类依赖于派生类模板参数。10.C++中的友元函数和友元类是什么?    答案:友元函数或友元类可以访问另一个类的私有和保护成员。四、专家级别1.解释一下C++中的完美转发。    答案:完美转发是一种技术,它能够保留传入参数的属性(如左值或右值),并原封不动地传递给其他函数。2.如何实现一个类型安全的工厂模式?    答案:通过使用模板和继承结构,可以创建一个类型安全的工厂模式,确保只创建有效的对象类型。3.C++中的迭代器失效是什么意思?    答案:当容器的底层数据结构发生变化时,原有的迭代器可能变得无效,无法再安全地访问元素。4.解释一下C++中的尾递归优化。    答案:尾递归优化是编译器对某些递归函数进行的一种优化,使得递归调用不消耗额外的栈空间。5.C++中如何实现函数重载解析?    答案:函数重载解析是基于参数类型、个数以及转换规则的,C++编译器会根据这些信息选择最合适的函数版本。6.解释一下C++中的ADL(Argument-Dependent Lookup)。    答案:ADL是一种查找机制,编译器会在函数参数类型所在的命名空间内查找函数或运算符。7.C++中的概念检查(Concepts Checking)是什么?    答案:概念检查是C++20引入的新特性,允许在编译时检查模板参数是否满足一定的约束。8.解释一下C++中的模板模板参数。    答案:模板模板参数允许将模板作为函数或类模板的参数。9.C++中的虚继承是什么?    答案:虚继承用于解决多继承中的钻石问题,确保派生类只继承基类的一个实例。10.解释一下C++中的异常安全性和RAII的关系。    答案:RAII是实现异常安全性的一种常用方法,通过在对象生命周期内自动管理资源,确保即使在异常情况下资源也能正确释放。
点赞 评论 收藏
分享
2024-07-13 11:53
已编辑
西安电子科技大学 C++
有必要c++转Java吗
牛客583549203号:没必要转Java,这个赛道卷的程度未必比C++小,而且多而杂,对应届生要求越来越离谱,想要避免35岁危机更是难上加难。C++的话秋招如果学历好未必一定要实习,到时候也可以投投Golang的岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客企业服务