首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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());}有一些忘了
点赞 102
评论 16
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
04-01 12:35
门头沟学院 运营
27届找运营实习,求指导
第一次找实习,双非一本,简历比较单薄,只有校园经历,想找中小厂的日常实习求大佬提一下修改意见,非常感谢
点赞
评论
收藏
分享
03-31 18:30
拼多多集团-PDD_服务端研发工程师(准入职员工)
复盘会上,导师说:"这个问题,他最早发现的"
那是一个普通的工作日下午,大促备战进入最后阶段。 我坐在工位上,盯着监控大盘做例行巡检。那时候我入职才三周,说实话,很多指标看了也不知道好坏,只知道"别出红"。 然后我看到了一个有点奇怪的地方。 不是报警,颜色也是正常的绿色,但某个依赖服务的响应趋势和其他几条线走势不太一样——别人都是平的,它在缓慢地往上爬。 我截了个图,发到自己的备忘录里,想了一会儿,没吭声。 毕竟我才来没多久。说不定是正常波动,说不定我理解错了,说不定问题根本不在这里。 又过了半小时,那条线还在涨。 我鼓起勇气,在工作群里 at 了导师:「这个服务的响应时间是不是在慢慢上涨?还是我看错了?」 导师回了两...
点赞
评论
收藏
分享
04-01 12:11
西南大学 Java
避雷用友实习!!!
周一入职培训,下午按照部门经理发的文档学习了一下午。第二天去部门上,客开得去部门上,按mentor的要求读文档看学习资料。第三天,因为通勤时间很长,休息一天,然后hr直接说不合适,走离职流程。工资也不准备发,后面还是争取到了,总之避雷。合同上说是一周至少三天。
码客明:
一周最少3-5天是要求5天,一个月工资要是3000-5000那就是3000
面试吐槽bot
点赞
评论
收藏
分享
04-03 11:24
门头沟学院 Java
腾子暑期实习oc了
从一月中到现在,最大的感悟是累、其次是不要怀疑自己
点赞
评论
收藏
分享
04-02 18:04
北京科技大学 前端工程师
四个开源Vibe Coding项目推荐
让你从变成小白到高手1.Easy-Vibe 适合零基础小白https://github.com/datawhalechina/easy-vibe这个项目专为小白准备,由Datawhale出品的开源教程,使你从“我有一个想法”到“产品真正上线”,给你完整的学习路径,为你的开发保驾护航。并且它是三段式设计:第一阶段:基础工具的使用,首先体验AI编程;第二阶段:前后端交互、数据库等稍微复杂、专业一点的东西;第三阶段:带你做完整的产品,直到上线。每个阶段都有具体的项目供你练手,不会是纸上谈兵。2.AI CODE GUIDE 学习路线图https://github.com/automata/aicode...
你都用vibe codi...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
春招面了四十多场,焚绝在此
2.7W
2
...
AIcoding上线了!你确定不来刷刷?
1.5W
3
...
双非春秋招3月总结与收获
4561
4
...
4.2字节后端一面
3688
5
...
恒生电子笔试已燃尽
3340
6
...
美团暑期二面,横向挂
3238
7
...
26年最值得冲的产品项目是什么?一个过来人的大实话
2602
8
...
面试连挂3家后,我终于学会了"不会"的正确说法
2586
9
...
2026 产品岗春招|这种「稀缺管培生」该怎么准备?
2396
10
...
银行老学长带来点春招信息差
2383
创作者周榜
更多
正在热议
更多
#
面试被问到不会的问题,你怎么应对?
#
20937次浏览
514人参与
#
学历VS实习,哪个更重要?
#
819次浏览
30人参与
#
招商银行数字金融训练营
#
106100次浏览
916人参与
#
你见过哪些招聘隐形歧视?
#
21617次浏览
186人参与
#
设计人的面试记录
#
204972次浏览
1630人参与
#
你觉得大几开始实习最合适?
#
24360次浏览
245人参与
#
厦门银行科技岗值不值得投
#
15215次浏览
352人参与
#
uu们,春招你还来吗?
#
59643次浏览
634人参与
#
面试中,你被问过哪些奇葩问题?
#
94601次浏览
1173人参与
#
哔哩哔哩笔试
#
34672次浏览
140人参与
#
影石Insta360求职进展汇总
#
183966次浏览
1377人参与
#
国企/银行/研究所公司爆料
#
203359次浏览
913人参与
#
你都用vibe coding做过什么?
#
18027次浏览
717人参与
#
供应链/物流校招攻略
#
12394次浏览
218人参与
#
虹软科技求职进展汇总
#
16620次浏览
138人参与
#
AI Coding实战技巧
#
12882次浏览
276人参与
#
机械人还在等华为开奖吗?
#
325167次浏览
1599人参与
#
做完笔试后你收到面试了吗?
#
23762次浏览
210人参与
#
恒生电子笔试
#
19897次浏览
155人参与
#
你现在一天AI几次?
#
10895次浏览
118人参与
#
Vibe Coding 会干掉初级岗位吗?
#
19827次浏览
211人参与
#
如果人生可以debug你会改哪一行?
#
9474次浏览
140人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务