首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 23:56
图森未来_人力资源_HR
26届实习可以开始准备了
4月份左右大部分互联网企业就会收完大家的简历(开学就可以做一份简历初版了),然后确定暑期实习,且实习会有相当一部分能直接转正,搞到一个实习名额就很nice 最差转正失败秋招也加分很多腾讯25春招,26日常实习生/26届暑期实习生招聘启动 | 所有专业类型均有岗位❗️目前正式开启的是腾讯的实习 预计再过一两周 美团 阿里 字节的实习就会开启 腾讯实习岗位【在招岗位】(具体可点击下方内推链接查看)1. 技术类:软件开发、技术运营、安quan技术、测试与质量管理、技术研究、解jue方案与服务、硬件开发2. 产品类:游戏产品、内容制作、通用产品、金融产品、项目管理3. 设计类:游戏美术、平面交互4....
投递美团等公司10个岗位 >
点赞
评论
收藏
分享
04-10 17:27
牛客运营
面试一定不能太老实
最近牛牛参加了几场面试,发现大家面试真的都太!老!实!了!明明过往经历很亮点,可以靠包装“出道”,偏偏在面试中已读乱回……一手好牌乱打的结果就是——和offer擦边。尤其是现在处于校招面试阶段,牛牛强烈建议大家「面试一定不能太老实」!能包装就包装,能精简就精简,能用专业术语就不用大白话。今天我就总结整理了6个面试Tips,希望能助力大家通过面试关~1⃣️切忌自曝缺点🔴 踩雷点:面试官一般会问“你有什么缺点”,切忌回答会影响到工作的缺点,或者回答很难改变的缺点。🔴 案例:“我有重度拖延症,经常做事会很拖延”、“我有玻璃心,抗压能力很低”🟢 正确回答公式:不影响工作的缺陷+改进方案🟢 案例...
面试时最害怕被问到的问题
面试题刺客退退退
点赞
评论
收藏
分享
04-14 19:18
门头沟学院 化工工程师
投票
offer比较,延毕了一年,能收到这两个offer已经谢天谢地了,但还是要选一个,求建议
不愿意透露姓名的牛油:
9-10大小周是人呆的吗
点赞
评论
收藏
分享
03-18 17:53
已编辑
上海建桥学院 嵌入式工程师
大三的小菜鸡,这简历能找到工作嘛,民办本
点赞
评论
收藏
分享
04-10 20:30
已编辑
字节跳动_飞书_后台开发(实习员工)
历时46天,0实习选手从0开发基础到两个大厂后台暑期offer
时间线:2.23上午 根据投票结果下定0基础决心转JAVA开发2.23 中午 购买白袜哥项目,收到白袜哥私聊,于是加微信开学(这个时候腾讯提前批都快结束了,但我还是一点基础都没有,看着金三马上就要到来,焦虑得每天睡不好觉,白袜哥私聊我就直接死马当活马医了)2.23~3.9 白袜哥八股+牛客网面经+第一遍HOT100(期间被腾讯提前批捞了几次,但都是客户端开发,而且准备不足,最远一次就走到二面,好像连挂了四五次)3.9~3.19 看白袜哥项目源码和话术+0.6个第二遍HOT100(是的,到最后我都没刷完第二遍HOT100)3.19~3.20 连投26家中大厂,纯填各种官网的简历信息整整填了两天3...
恶龙战士:
一看就是引流的,不包真
牛客创作赏金赛
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
25届秋招复盘:我为什么选择携程?
5898
2
...
是的,我就是一个眼高手低的废物
5707
3
...
推荐一个0门槛上车AI的机会!!!
5707
4
...
面试感想:聊透业务拿 Offer
5707
华为实习进展
热聊中
5
...
挑战全网最早暑期实习!
4160
6
...
从实习生到参与核心项目:记录我在Keep的2年
3401
7
...
理想Java实习一面
3352
8
...
腾讯云智三面暖经90min
3230
9
...
高德Java一面分享
2802
10
...
简历泡池子怎么办?
2693
创作者周榜
更多
正在热议
更多
#
实习进度记录
#
68084次浏览
615人参与
#
第一份工作应该选高薪还是热爱?
#
42929次浏览
404人参与
#
Keep实习校招
#
25880次浏览
181人参与
#
春招进度记录
#
62526次浏览
461人参与
#
你知道哪些职场黑话?
#
27097次浏览
214人参与
#
招银网络求职进展汇总
#
98981次浏览
628人参与
#
风评不好的公司,你会去吗?
#
32282次浏览
157人参与
#
毕业后不工作的日子里我在做什么
#
156525次浏览
1366人参与
#
软开人,说说你的烦心事
#
38619次浏览
252人参与
#
24届营销人拿到了几个offer
#
13616次浏览
116人参与
#
你想吐槽公司的哪些规定
#
13100次浏览
43人参与
#
投格力的你,拿到offer了吗?
#
75029次浏览
550人参与
#
我的第一份实习怎么找的
#
69179次浏览
689人参与
#
机械人值得去的医疗器械企业
#
14063次浏览
38人参与
#
去哪儿求职进展汇总
#
122122次浏览
933人参与
#
如何用一句话描述你的职业
#
17714次浏览
161人参与
#
诺瓦星云求职进展汇总
#
190179次浏览
1630人参与
#
我在牛爱网找对象
#
168459次浏览
1249人参与
#
总结:哪家公司最喜欢泡池子
#
120242次浏览
440人参与
#
你的实习什么时候入职
#
162922次浏览
1448人参与
#
一觉醒来,秋招难度下降一万倍……
#
62775次浏览
545人参与
牛客网
牛客企业服务