首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
mistluo
北京交通大学 C++
发布于北京
关注
已关注
取消关注
@VoladorLi:
柠檬微趣一面凉经
秋招的第一个面试,被狠狠拷打了。菜鸡哭泣[牛泪]笔试题是四道编程1.求解格雷码2.单链表两两交换3.二叉树闭合空间数量4.protocol buffer序列化与反序列化a了三道半面试先拷问没a出来的第四题的思路与细节。(一定要复盘笔试尤其是没做出来的情况下1.补码的作用避免零在二进制中的歧义。另一个好处就是方便运算,所有运算都能用加法运算器来实现,不再需要减法运算器。2.逻辑位移和算数位移逻辑位移是无脑移位空出来补0,算术移位 就需要分有符号型值和无符号型值,对于无符号型值,算术移位等同于逻辑移位。而对于有符号型值 ,算术左移等同于逻辑左移,算术右移补的是符号位,正数补0,负数补1。3.浮点数表示形式对于定点整数而言由于小数点固定,那么在字长一定的情况下就限制了可以表示数的范围和精度,所以就引出了浮点数据表示。浮点数表示法是指以适当的形式将比例因子表示在数据中,让小数点的位置根据需要而浮动。这样,在位数有限的情况下,既扩大了数的表示范围,又保持了数的有效精度。参考:https://zhuanlan.zhihu.com/p/4000067355. const static inline三个关键字的作用https://www.cnblogs.com/cpsmile/p/9032397.html6.C++面向对象的多态性是如何实现的多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作.多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单一句话:允许将子类类型的指针赋值给父类类型的指针实现多态有二种方式:覆盖(override),重载(overload)。**覆盖:**是指子类重新定义父类的虚函数的做法。**重载:**是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)多态的优点消除类型之间的耦合关系可替换性可扩充性接口性灵活性简化性多态存在的三个必要条件1.继承2.重写3.父类引用指向子类对象当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。OO开发范式大致为:划分对象→抽象类→将类组织成为层次化结构(继承和合成) →用类与实例进行设计和实现几个阶段。7.构造函数、析构函数、static成员函数能否被设置为虚函数构造函数不能为虚函数,而析构函数可以是虚函数并且在实现多态特性是应该被设置为虚函数。static成员函数不能是虚函数。虚函数:那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用: 用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离; 用形象的语言来解释就是实现以共同的方法,但因个体差异,而采用不同的策略。构造函数为什么不能是虚函数?具有构造函数的类对象被创建时,编译系统为该对象分配内存空间,并自动调用该构造函:即由构造函数完成数据成员的初始化工作。从存储空间角度来看 虚函数的调用需要,而该指针存放在对象的内存空间中,在构造函数中进行初始化工作,即初始化vptr,让它指向正确的虚函数表。所以需要调用构造函数才可以创建或初始化它的值,否则即使开辟了空间,该指针也为随机值;若构造函数声明为虚函数,那么由于对象还未创建,还没有内存空间,更没有虚函数表地址用来调用虚函数——构造函数了。从多态角度来看 构造一个对象的时候,必须知道对象的实际类型;而虚函数主要是实现多态,在运行时才可以明确调用对象,根据传入的对象类型来调用函数,例如通过父类的指针或者引用来调用它的时候可以变成调用子类的那个成员函数。而 在调用构造函数时,由于对象还未构造成功。编译器无法知道对象的实际类型,是该类本身,还是该类的一个派生类,或是更深层次的派生类。构造函数不能是虚函数,因为虚函数是基于对象的,构造函数是用来产生对象的,若构造函数是虚函数,则需要对象来调用,但是此时构造函数没有执行,就没有对象存在,产生矛盾,所以构造函数不能是虚函数。析构函数函数为什么最好是虚函数? 析构函数可以为虚函数,而且当要使用基类指针或引用调用子类时,最好将基类的析构函数声明为虚函数,否则会存在内存泄露的问题。【内存泄漏:析构函数是虚函数,因为若有父类指针指向子类对象存在,需要析构的是子类对象,但父类析构函数不是虚函数,则只析构了父类,造成子类对象没有及时释放,引起内存泄漏。】静态成员函数为什么不能是虚函数?静态成员函数不属于类中的任何一个对象和实例,属于类共有的一个函数。也就是说,它不能用this指针来访问,因为this指针指向的是每一个对象和实例。对于virtual虚函数,它的调用恰恰使用this指针。在有虚函数的类实例中,this指针调用vptr指针,指向的是vtable(虚函数列表),通过虚函数列表找到需要调用的虚函数的地址。总体来说虚函数的调用关系是:this指针->vptr(4字节)->vtable ->virtual虚函数。所以说,static静态函数没有this指针,也就无法找到虚函数了。所以静态成员函数不能是虚函数。他们的关键区别就是this指针。构造函数不能为const函数,构造函数的目的就是为了给成员变量赋初值,不能为const函数8.简单描述一下快排快速排序是对冒泡排序算法的一种改进,同冒泡排序一样,快速排序也属于,通过元素之间的比较和交换位置来达到排序的目的。不同的是,冒泡排序在每一轮只把一个元素冒泡到数列的一端,而快速排序,这种思路就叫做分治法。快速排序是基于“分治法”原理实现,所谓分治法就是不断的将原数组序列按照一定规律进行拆分,拆分后各自实现排序直到拆分到序列只剩下一个关键字为止。快速排序首先选取一个关键字为标志位(关键字的选取影响排序效率),然后将序列中小于标志位的关键字移动至标志位左侧,大于标志位的关键字移动至右侧。一趟比较完成后,整个序列以选取的标志位为界,左侧均小于标志位,右侧均大于关键字。但左右两侧内部并不是有序的(左右两侧关键字个数也不一定相同)。进而继续将左右两侧分别再以这种方式进行排序,直到将序列拆分的剩余一个关键字为止,整个序列即变成有序。9.快排为什么是不稳定排序,什么时候必须要用稳定排序?快排是一种不稳定排序,比如基准值的前后都存在与基准值相同的元素,那么相同值就会被放在一边,这样就打乱了之前的相对顺序比如在排成绩的时候除了按总成绩排序还要要求成绩相同姓名首字母排序。10.简单说一下你了解的容器的底层实现说了下vector和unordered_map。追问了map的底层实现以及红黑树。11.现场写一个取二叉树的叶子节点放到一个容器里面层序遍历。
点赞 41
评论 22
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
不愿透露姓名的神秘牛友
07-30 11:29
打工人问一下休息时间有错吗
真的很糟糕:
都不当人了
点赞
评论
收藏
分享
07-29 12:03
门头沟学院 Java
秋招第一面是虾皮给的
虾皮信息一面364人在聊
点赞
评论
收藏
分享
07-03 13:32
门头沟学院 产品经理
这简历居然拿了wxg
突然看到一年半前的简历,当时的我做梦都不敢想自己会拿到wxg offer吧,虽然因为职业规划不符拒了,但还是很开心被认可。
siestaaaaa...:
哥们这么帅直接干直播吧,别走弯路了
投递腾讯等公司10个岗位
点赞
评论
收藏
分享
07-31 22:17
华南师范大学 Java
百度提前批,三面被推迟一周,喜提秋招第一凉
前情提要:百度提前批Java岗总结:感觉我的实习经历和技术栈都和该组不太匹配,感谢百度给的面试机会吧,就当练练手了。百度7.30三面(原定于 7.23,但是被发邮件通知推迟了一周)0、面试官准时上线,但是说在开会,所以等了10分钟(没开摄像头)1、拷打项目经历,大概9分钟(一个点,问的很深,追问了很多内容。比如说C++运行内核需要哪些库?JDK17对比JDK8在GC方面有哪些提升?这我真不知道...,总体答的非常差)2、手撕,链表,给一个参数x,把小于x的节点放到前面。没有反问环节,直接结束面试了。面试结束后不到半小时官网简历就被共享了(等于被挂),喜提秋招第一凉。百度7.15二面1、实习经历...
牛客创作赏金赛
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
百度提前批,三面被推迟一周,喜提秋招第一凉
4918
2
...
虾皮秋招一面
3888
3
...
QQ提前批一面凉经
2959
4
...
百度提前批 三面
2952
5
...
7.30滴滴提前批一面凉经
2858
6
...
干活最少的实习生因为长得漂亮转正了
2821
7
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
2599
8
...
7.30百度提前批一面
2143
9
...
上班一周,工资还没拿,先欠公司两千
1863
10
...
百度7.30二面
1613
创作者周榜
更多
正在热议
更多
#
简历上的经历如何包装
#
26271次浏览
756人参与
#
秋招被确诊为……
#
162357次浏览
728人参与
#
中兴秋招
#
204497次浏览
2285人参与
#
工作中哪个瞬间让你想离职
#
61710次浏览
555人参与
#
你最近一次加班是什么时候?
#
70925次浏览
350人参与
#
和同事相处最忌讳的是__
#
22482次浏览
232人参与
#
你最希望上岸的公司是?
#
134496次浏览
700人参与
#
26届的你,投了哪些公司?
#
39890次浏览
449人参与
#
你遇到最难的面试题目是_
#
15896次浏览
195人参与
#
我对___祛魅了
#
45113次浏览
417人参与
#
研究所VS国企,该如何选
#
194690次浏览
1819人参与
#
地平线求职进展汇总
#
52561次浏览
369人参与
#
如果校招重来我最想改变的是
#
271626次浏览
2849人参与
#
你跟室友的关系怎么样?
#
6506次浏览
101人参与
#
你最讨厌面试问你什么?
#
26749次浏览
301人参与
#
如果可以选,你最想从事什么工作
#
565634次浏览
4699人参与
#
什么样的背景能拿SSP?
#
33936次浏览
209人参与
#
秋招前后对offer的期望对比
#
302926次浏览
2229人参与
#
柠檬微趣工作体验
#
6594次浏览
40人参与
#
如何快速融入团队?
#
15597次浏览
193人参与
#
字节跳动工作体验
#
462543次浏览
4650人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务