首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
贪吃的小熊猫面向对象
C++
发布于浙江
关注
已关注
取消关注
@蒋豆芽:
先临三维C++ 一面凉经之解答
1.你怎么学习的C++略2.这个问题忘了是啥了 反正是内存分配相关的我懵了没回答上(题目都没咋听明白)略3.堆和栈的区别堆栈空间分配不同。栈由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等,栈有着很高的效率;堆一般由程序员分配释放,堆的效率比栈要低的多。堆栈缓存方式不同。栈使用的是一级缓存, 它们通常都是被调用时处于存储空间中,调用完毕立即释放;堆则是存放在二级缓存中,速度要慢些。空间大小: 栈的空间大小并不大,一般最多为2M,超过之后会报Overflow错误。堆的空间非常大,理论上可以接近3G。(针对32位程序来说,可以看到内存分布,1G用于内核空间,用户空间中栈、BSS、data又要占一部分,所以堆理论上可以接近3G,实际上在2G-3G之间)。能否产生碎片: 栈的操作与数据结构中的栈用法是类似的。‘后进先出’的原则,以至于不可能有一个空的内存块从栈被弹出。因为在它弹出之前,在它上面的后进栈的数据已经被弹出。它是严格按照栈的规则来执行。但是堆是通过new/malloc随机申请的空间,频繁的调用它们,则会产生大量的内存碎片。这是不可避免地。4.32位整型在大小端的区别小端模式:低的有效字节存储在低的存储器地址。常用的X86结构是小端模式。大端模式:高的有效字节存储在低的存储器地址。KEIL C51则为大端模式。5.int char 的大小int 4字节,char 1字节6.struct vs classstruct 一般用于描述一个数据结构集合,而 class 是对一个对象数据的封装;struct 中默认的访问控制权限是 public 的,而 class 中默认的访问控制权限是 private 的,例如:struct A{ int iNum; // 默认访问控制权限是 public}class B{ int iNum; // 默认访问控制权限是 private}在继承关系中,struct 默认是公有继承,而 class 是私有继承;class 关键字可以用于定义模板参数,就像 typename,而 struct 不能用于定义模板参数,例如:template<typename T, typename Y> // 可以把typename 换成 class int Func(const T& t, const Y& y) { //TODO }7.静态成员变量特点在c++中,static关键字可以用于定义类中的静态成员变量:使用静态数据成员,它既可以被当成全局变量那样去存储,但又被隐藏在类的内部。类中的static静态数据成员拥有一块单独的存储区,而不管创建了多少个该类的对象。所有这些对象的静态数据成员都共享这一块静态存储空间。8.什么是虚函数和纯虚函数函数前面修饰类型为virtual的为虚函数包含纯虚函数的类称为抽象类(Abstract Class)。之所以说它抽象,是因为它无法实例化,也就是无法创建对象。原因很明显,纯虚函数没有函数体,不是完整的函数,无法调用,也无法为其分配内存空间。抽象类通常是作为基类,让派生类去实现纯虚函数。派生类必须实现纯虚函数才能被实例化。9.数组 vs 链表数组内存连续、有序;链表内存可以不连续数组可以直接访问下标,访问时间复杂度O(1);链表需要通过下一级指针层层递进访问,访问时间复杂度O(n)数组插入或删除元素时需要移动后面的元素,时间复杂度O(n);而链表插入或删除元素时,时间复杂度O(1)频繁访问元素的场景用数组;频繁插入或删除的场景用链表单向队列用什么实现可以用链表,也可以用数组线程如何同步数据?线程同步主要包括四种方式:互斥量pthread_mutex_读写锁pthread_rwlock_条件变量pthread_cond_信号量sem_12.多线程问题略13.指针 vs 引用(1)指针是实体,占用内存空间;引用是别名,与变量共享内存空间。(2)指针不用初始化或初始化为NULL;引用定义时必须初始化。(3)指针中途可以修改指向;引用不可以。(4)指针可以为NULL;引用不能为空。(5)sizeof(指针)计算的是指针本身的大小;而sizeof(引用)计算的是它引用的对象的大小。(6)如果返回的是动态分配的内存或对象,必须使用指针,使用引用会产生内存泄漏。(7)指针使用时需要解引用;引用使用时不需要解引用‘*’。(8)有二级指针;没有二级引用。单例类如何创建单例实现原理是,将能够创建对象的函数都设置为private,通过静态成员返回一个实例。有两种方式,一个是懒汉式,一个是饿汉式。懒汉式需要考虑加锁。实现代码如下:#include <iostream>#include <pthread.h>using namespace std;class singleInstance{public: static singleInstance* GetsingleInstance(){ if (instance == NULL){ pthread_mutex_lock(&mutex);//mlock.lock(); if (instance == NULL){ instance = new singleInstance(); } pthread_mutex_unlock(&mutex);//mlock.unlock(); } return instance; }; ~singleInstance(){}; static pthread_mutex_t mutex;//mutex mlock; 加锁互斥private:// 涉及创建对象的函数都设置为private singleInstance(){}; singleInstance(const singleInstance& other){}; singleInstance& operator=(const singleInstance& other){ return *this; }; static singleInstance* instance;};//懒汉式,静态变量需要定义singleInstance* singleInstance::instance = nullptr;pthread_mutex_t singleInstance::mutex;int main(){ // 因为没有办法创建对象,就得采用静态成员函数的方法返回静态成员变量 singleInstance *s = singleInstance::GetsingleInstance(); //singleInstance *s1 = new singleInstance(); // 报错 cout << "Hello World"; delete s; // 防止内存泄露 return 0;}下面是饿汉式:#include <iostream>#include <pthread.h>using namespace std;class singleInstance{public: static singleInstance* GetsingleInstance(){ // 饿汉式,直接创建一个对象,不需要加锁 static singleInstance instance; return &instance; }; ~singleInstance(){};private:// 涉及创建对象的函数都设置为private singleInstance(){}; singleInstance(const singleInstance& other){}; singleInstance& operator=(const singleInstance& other){ return *this; };};int main(){ // 因为没有办法创建对象,就得采用静态成员函数的方法返回 singleInstance *s = singleInstance::GetsingleInstance(); //singleInstance *s1 = new singleInstance(); // 报错 cout << "Hello World"; return 0;}15.类中默认函数有几个类的6个默认的成员函数包括: 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数、取地址操作符重载、const 修饰的取地址操作符重载。16.对公司了解多少?略以上答案均来自本人专栏:机器学习面试题汇总与解析(蒋豆芽面试题总结)欢迎大家围观:https://blog.nowcoder.net/jiangwenbo
点赞 25
评论 1
全部评论
推荐
最新
楼层
联易融
校招火热招聘中
官网直投
相关推荐
他说你很帅
04-24 16:56
海康威视_硬件_硬件产品研发中心(实习员工)
海康日常实习和暑期实习
在海康日常实习中,但是部门没有转正hc,想投海康暑期实习可以吗?另外,简历里能加海康这段实习经历吗?就怕面试官问我为什么要离职引流。。华为,小米,字节,腾讯,阿里,百度,特斯拉
牛客帮帮团来啦!有问必答
点赞
评论
收藏
转发
鲸鱼很迷茫
04-23 14:31
阿里云_云计算算法工程师(准入职员工)
阿里云内推
阿里云2025届可转正实习招聘正式开启,楼主是2024届毕业生,刚刚入职,很快又到了校招季,楼主深知校招(秋招-春招的不容易)每天高强度的笔试,面试以及毕业相关事宜的堆积,很不容易的一年!各位弟弟妹妹们在这里你可以得到最贴心最及时的回复哦并且可以得到最贴心的服务与指导哦!米哈游【公司介绍】阿里云创立于2009年,是全球领先的云计算及人工智能科技公司。【岗位方向】技术类、运营类、设计类、营销类、TCL、产品类、销售类、米哈游、内容类、职能类、风险管理类、数据类等【工作地点】杭州、北京、上海、深圳等城市【内推链接】 https://careers.aliyun.com/campus/qrcode/...
投递阿里云等公司10个岗位 >
点赞
评论
收藏
转发
19190
04-22 14:20
已编辑
河南大学 土木类
是的,学土木的,是的找不到工作实习。。
有没有改简历的神给评价一下目前0OFFER请问大神们我可以用这个投市场营销,公关之类的岗位吗,还是再搞个简历呢 #最后再改一次简历# #你的简历改到第几版了# #24应届#
最后再改一次简历
你的简历改到第几版了
点赞
评论
收藏
转发
chenxi同学
04-02 12:18
西安邮电大学 计算机类
面试最难绷的一集
今天面试到最后的时候,面试官说,来写道算法题吧。哥们打开链接一开,环形链表?狠狠拿下😋结果因为力扣上有以前写过的代码,面试官说你以前做过了吗,那我们换一道吧。整了一道字符串相关的,一点思路没有😇大伙一定要记得清空力扣的做题记录😭
点赞
评论
收藏
转发
牛客374553228号
04-24 14:47
门头沟学院 计算机类
实习时间线
快手终于oc了,讲一下找实习的时间线吧。职位都是游戏客户端开发相关。我三月份才发现实习已经开了,所以准备的时间很短,虽然没准备好但担心没坑位于是海投:(回应时间是指收到笔试/简历过筛邮件的时间)腾讯一共被面了四次,不说时间了,都是一面挂(对不起我太菜了),前三次都是八股优先,具体内容没有记下来,但都挺常规的,然后会结合一些操作系统的常规知识,面试官还是挺看你有没有深入的(但也不用太深入),比如有次问我内存对齐,为什么要内存对齐,我回答了常见原因为了不取两次,他就会问为什么不能按照偏移量查找,这样也不用取两次。大概就是这些,其实也不难但是真的八股的每一个点都发散一下吃透一点比较好。最后一次很多场...
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
中科大软件工程研二,字节实习一年多,是时候了...
1.1W
2
...
一个CS人在字节升级打怪(实习转正版)
1.1W
3
...
📢【有奖征集】非技术岗位薪资爆料💰💰💰
8481
4
...
0offerのloser记录2024所有面试(全挂)
6434
5
...
4.25校招&实习招聘信息汇总
5245
6
...
配不上自己的野心,也辜负了所受的苦难
4957
7
...
【爆薪资有奖】软件开发2024薪资爆料活动!火热开启!
4854
8
...
阿里国际 1个小时40分钟
4809
9
...
盲审
4159
10
...
菜鸟本科毕业答辩指南
3993
正在热议
#
牛客帮帮团来啦!有问必答
#
327009次浏览
6912人参与
#
机械制造薪资爆料
#
249259次浏览
3005人参与
#
非技术岗薪资爆料
#
3633次浏览
91人参与
#
第一次面试
#
12323次浏览
187人参与
#
华为求职进展汇总
#
428956次浏览
4297人参与
#
如果校招重来我最想改变的是
#
69039次浏览
1372人参与
#
找工作,你会甘心进小厂还是猛冲大厂
#
21518次浏览
208人参与
#
晒一晒我的offer
#
2738932次浏览
49301人参与
#
除了offer,现在你还缺点啥?
#
1641次浏览
37人参与
#
应届生应该先就业还是先择业
#
10239次浏览
102人参与
#
来聊聊机械薪资天花板是哪家
#
16221次浏览
124人参与
#
面试被问第一学历差时该怎么回答
#
13253次浏览
148人参与
#
机械人的薪资开到多少,才适合去?
#
40575次浏览
243人参与
#
通信硬件人笔面经互助
#
55118次浏览
1257人参与
#
毕业租房也有小确幸
#
18897次浏览
1210人参与
#
为什么那么多公司毁约
#
31715次浏览
267人参与
#
美的求职进展汇总
#
30549次浏览
370人参与
#
通信硬件2024笔试面试经验
#
76776次浏览
859人参与
#
百度工作体验
#
18774次浏览
204人参与
#
实习工作,你找得还顺利吗?
#
4535次浏览
67人参与
牛客网
牛客企业服务