首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
rogn
武汉大学 C++
发布于湖北
关注
已关注
取消关注
m
@宁宁天下第一:
日常实习C++面经汇总与教程
最近忙了大概一个月,终于找到实习了,这里把自己面试过程遇到的问题记录一下。ps:很多东西我之前都写过文章,所以重复的地方就直接贴上过去的文章的链接了。这里只放上有关C++的内容,其它的例如项目啊,编译链接工具的使用就因人而异了。C++中的多态以下是一个常见的多态的场景struct A { virtual void foo() = 0;};struct B : A { virtual void foo() { cout << "this is B\n"; }};struct C : A { virtual void foo() { cout << "this is C\n"; }};struct D : A { virtual void foo() { cout << "this is D\n"; }};int main() { vector<A*>v = { new B{},new C{},new D{} }; for (auto& it : v) { it->foo(); }}这里我们用到了虚函数严格鸽:C++虚函数表的位置——从内存的角度对于C++中对象的内存模型,我的建议是用C语言模拟一个严格鸽:C语言实现虚函数/继承/封装这里一个经常遇到的问题,为什么我们说虚函数慢?考虑到,函数在执行的时候,需要进行跳转(汇编的角度而言就是动cs:ip 而虚函数,需要先去虚函数表里面,然后在跳转到相应的函数上,也就是跳转的次数多了,对cache不友好。但是,最重要的是,虚函数不能进行内联优化。请记住,C++的编译器的优化水平很高,但是对于虚函数这种“运行期”确定的函数,是不能依靠编译器进行编译优化的。这里提到了,运行期,和编译期。这两个概念在后面也会提到。那么如何解决这个问题呢?我们可以使用编译期多态来CRTP来解决。严格鸽:现代C++学习—— CRTP 编译期多态(CRTP不是万能的,有些东西必须是运行期的智能指针智能指针的实现就是RAII现代C++如果非要说是C with xxx的话,那么就是 C with RAII严格鸽:现代C++学习—— 什么是RAII严格鸽:现代C++学习 —— 为什么需要std::move至于智能指针的具体实现,网上有很多,大家自己去看就可以了。谈及智能指针,最好也谈以下所有权的概念例如,我现在有个资源,然后我有个函数,我是选择把所有权给这个函数啊,还是把所有权留在原来的作用域。(这个内容在上面的文章就有提及。模板模板就是面向编译器的编程,我们通过编写模板相关的代码,让编译器帮我们根据提供的类型,生成对应的代码。另外,C++的类型系统是十分强大的,所以有关模板的内容希望大家好好学习。C++模板学习实践 (这是个专栏,内容可能比较多,看是看完肯定有收获的另外,有关模板的发展(可以我的文章里面的模板元都是const static 这种比较old的。首先是模板变量和模板类型,过去我们需要::value,::type 现在可以直接定义了。对于标准库,_v 就是 ::value , _t 就是::type ( 所以学一学old版本的很有帮忙的还有就是constexpr 函数,对于编译期计算,可以直接constexpr 函数解决。另外就是C++20的概念与约束了过去我们需要用 严格鸽:现代C++学习——模板SFINAE 来表示一个鸭子类型。鸭子类型:我希望一个类型具有这样的变量,这样的函数。。。 例如下面我们就约束了类型T是一个int或者一个具有size函数len成员变量的类型。template<typename T>concept is_int = is_same_v<T, int>;template<typename T>concept need = requires(T x) { x.size(); x.len;};template<typename T>requires(is_int<T> || need<T>)void foo(T x) {}int main() { foo(1); struct A {void size();int len;}; foo(A{}); struct B { void Size(); int Len; }; foo(B{});//编译失败,ide会报错}上面是几个经常被问道的内容,属于基础了,下面放上几个杂项。lambda严格鸽:c++函数进化史 (函数,函数指针,function,仿函数,lambda)lambda编译器帮我们生成的匿名的仿函数variantvariant是可以析构的union严格鸽:C/C++ union 使用教程 (常见操作与缺陷)严格鸽:现代C++学习——实现多类型存储std::variant类型擦除在问std::any的实现的时候问的。在C语言总,一般是用void* ,然后自己维护一个type严格鸽:现代C++学习——实现动态类型std::any模板元编程就让写了个斐波那契数列但是你可以归并排序!严格鸽:模板元 编译期 链表 归并排序多线程问了一些实现什么的原子类型是用cas (compare and swap) 实现的。其它的锁都是基于原子类型的操作std::call_once之前没有听说过std::call_once - cppreference.compimpl为了加快编译时间的,但是我没这么用过(编译时间不是用来摸鱼的吗有个面试官说过,可以用编译参数来控制。堆,栈空间堆是os帮我们维护的,栈空间编译器帮我们维护了。注意不要写出这样的代码int* foo() { int arr[100]; return arr;}异常安全没有怎么用过(最多几千行的代码,用啥异常啊)可以了解下std::optional 与 std::expectedEffective C++ 29:追求异常安全的代码关于noexcept,可以看下这个代码void foo1() noexcept;void foo1() noexcept(noexcept(foo1())) {}void foo2();void foo2() noexcept(noexcept(foo2())) {}int main() { constexpr bool x = noexcept(foo1()); constexpr bool y = noexcept(foo2());}有一些忘了
点赞 101
评论 16
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
04-22 16:12
已编辑
中山大学 Java
腾讯一面
自我介绍 未来的职业规划是什么?手撕 LRU手撕LRU中,如何解决一个线程安全的问题?c++和java最大的不同?面向对象的基本特征是什么?什么是多态?运行时多态是怎么支持的?C++支持多继承吗?什么是菱形继承的问题?什么是虚继承,什么是虚类?c++的构造函数中,使用列表初始化与在函数体中初始化有什么不同?了解go语言吗?什么是协程?协程间的切换是内核态还是用户态?进程和线程的区别?栈空间是共享的还是线程独占的?Mysql底层的数据结构?B+树与B树有什么区别?Mysql索引有哪些设计的原则?什么是最左匹配原则?联合索引的结构是怎样的?索引的顺序是怎样的?(没太理解问题,面试官也没解释直接下一...
腾讯一面1773人在聊
查看29道真题和解析
点赞
评论
收藏
分享
04-20 16:40
广东小天才科技有限公司_软件开发部_Java开发工程师(准入职员工)
小天才内推小天才内推
对于清澈的大学生来说,跨越大半个中国到一个完全陌生的地方工作,多少有点慌。幸好同部门小姐姐人都超级温暖。为了入职方便,我提前到公司,是星期天。本以为大家都休息,想着要“自力更生”时,同部门的姐姐主动联系我,在公司接我,陪我入住,拖行李,带我熟悉周边环境,吃了好吃的糖水。入职前,姐姐们就开始关心我,会问我“有没有去吃饭呀,食堂今天的排骨好吃。”感觉并不是完全上下属,前后辈的关系,更像朋友和家人一样。 园区环境更不用说了,免费单人宿舍,干净宽敞,独卫,空调,热水器还有小阳台一应俱全。食堂超好吃,作为一个没在南方生活过的东北人,口味完全可以适应。 工作方面,现在岗位是我的梦岗,但疫情实习机会少,没接...
小天才公司福利 499人发布
点赞
评论
收藏
分享
03-12 18:48
上海大学 FPGA工程师
大佬帮忙看看这个简历能不能在上海找个FPGA或者数字IC相关的实习
😣
大猪蹄子哥:
1-谁教你这么写教育经历的……咱都这个学历了,很多公司要看本科、硕士,Gap Year的,你啪就给一个上大26届硕士,没了。 2-那堆奖学金揉成一行放最后得了,放前面显得你没技术自信,还是那句话,对于咱这个学历直接上重点,你这上半段看起来像个大专(无恶意 3-专业技能最好点出来细化方向,你熟悉的以太网是UDP还是TCP,是千兆还是万兆等等,多种信号处理……那你倒是说两个啊,后面空着干嘛,会的干嘛不讲 4-项目经历废话太多,描述不专业(怎么还有我,我们这种词),没有数据支撑(是婴儿还是巨人看不出来)。最后如果这些是真的XX项目、比赛,最好点出来,不然更显得像自学着玩的,或者说抄的(经典复现等于我做过 5-个人总结在咱这个分段没用
点赞
评论
收藏
分享
04-06 11:24
已编辑
太原学院 C++
我嘞个豆啊我还以为是鼠鼠被某司hr一眼看中了😅
不戳的柠檬:
培训?
点赞
评论
收藏
分享
04-23 17:45
青岛经济技术开发区第六中学 Java
26届后端暑期实习总结
📚 个人背景学历:2本3硕实习经历:小红书引擎架构方向实习(6个月)求职方向:后端开发(Base上海,偏平台和基架)🌐 个人心中互联网公司梯队划分 • T0 字节跳动、腾讯、阿里(淘天/阿里云) • T0.5 拼多多、美团、蚂蚁集团、阿里(其他) • T1 快手、京东、携程、小红书、百度、滴滴、TME、哔哩哔哩 📝 面试汇总一共投递7家(base上海),5家给了面试,面了4家(阿里云base不合适)技术面高峰期在三月中旬,四月开始hr面和意向确认等除去hr面,面试通过率是11/15,oc率是3/7字节跳动豆包❌ 二面挂音视频中台❌ 一面挂火山...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
关于个人降aigc的一些经验分享
2.9W
2
...
专升本-三本的实习与校招之路
2.7W
拼多多信息确认
热聊中
3
...
小红书取消大小周后,压力给到了拼多多
2.1W
4
...
腾讯音乐 VS 美团 VS 淘天
1.5W
5
...
滴滴一面(秒挂版)
1.4W
6
...
万方查了下重复,发现学院根本不查ai率,也不怎么查重
1.1W
7
...
一个24岁农村清北女孩的自述
1.1W
8
...
双非初见白月光之腾讯云智oc!
9635
9
...
美团java后端暑期实习一面
5624
10
...
🔔【史诗级合作!牛客×新宿站不停】就在今晚!
5448
创作者周榜
更多
正在热议
更多
#
小红书取消大小周
#
16267次浏览
104人参与
#
找不到好工作选择GAP真的丢人吗
#
45751次浏览
429人参与
#
平安产险科技中心求职汇总
#
245435次浏览
2616人参与
#
实习进度记录
#
199903次浏览
2382人参与
#
秋招提前批启动你开冲了吗
#
112808次浏览
1865人参与
#
浅聊一下我实习的辛苦费
#
209314次浏览
1550人参与
#
我的求职精神状态
#
17655次浏览
336人参与
#
毕业论文怎么查AI率
#
11823次浏览
798人参与
#
五一出游找搭子
#
4440次浏览
58人参与
#
一觉醒来,我成论文导师了…
#
7724次浏览
171人参与
#
产品人求职现状
#
198886次浏览
1829人参与
#
机械人避雷的岗位/公司
#
11089次浏览
66人参与
#
Tplink求职进展汇总
#
121499次浏览
688人参与
#
哪些瞬间让你真切感受到了工作的乐趣
#
8112次浏览
52人参与
#
SHEIN求职进展汇总
#
8838次浏览
39人参与
#
哪个瞬间让你对大厂祛魅了?
#
293027次浏览
2162人参与
#
怎么防止在试用期被辞退
#
114962次浏览
865人参与
#
大城市找工作会更容易吗
#
20174次浏览
173人参与
#
机械人怎么评价今年的比亚迪
#
52128次浏览
179人参与
#
4399求职进展汇总
#
17812次浏览
143人参与
#
读研or工作,哪个性价比更高?
#
55159次浏览
672人参与
牛客网
牛客企业服务