cpp 选手秋招学习笔记 day21

一、cpp 八股

1.c 语言和 c++区别

c++提供了管理资源的 raii 方法,自动管理资源的分配和释放,c++提供了类型安全的保证,比如 static_cast 可以在编译期间确保类型转换安全。

c++增加了容器和算法,它们通过迭代器连接起来,算法可以通过迭代器操作不同的容器。

2.c++获得私有成员的方法

最普遍最好的方法就是使用 get 和 set 方法,缺点是增加了函数调用的开销,第二种方法是使用友元,友元函数和友元类比如测试需要了解对象的状态,有必要,第三种方法是使用指针,通过对象布局的了解,比如使用初始位置加偏移然后使用对应的类型解引用。

3.c++的类型转换和 c 的区别

c 的类型转换包括隐式转换和显式转换,显式转换是小括号加转换的类型,没有编译期间的类型检查。c++提供了比如 static_cast 相关类型转换,const__cast 是增加和去除常量属性,dynamiccast 是向下类型转换,最后是 reinterpret_cast。c++方便 debug 也适合编译期间检查。

4.const 和 static 的区别

const 提供了一种生命周期内不能被改变的保证,编译期间会检查是否违背了,如果程序员希望改变该值需要去除 const 属性。static 改变作用域和生命周期,如果是全局变量就变成文件私有,如果是局部变量就初始化一次,如果是类内成员则需要在类外初始化。

二、infra 相关知识了解

今天看的是概述知识:scaling law 是指大模型的能力和模型的参数,计算量以及数据规模有关,其中模型参数和数据规模最好并行去增加,涌现是指随着模型的增大,模型的外推能力,也就是在非训练过程中出现任务上表现的能力变得更好了。

三、算法

1.a*b+a+b

左右加 1 就变成了因式分解,这是一个数学问题

2.买卖股票问题

如果是可以买卖 k 次就增加第三个参数

如果是有冷冻期就把第二个维度变成 0、1、2 三个情况分别代表持有股票,进入冷冻期,可以买且身上没有股票

如果是有交易费在卖出的时候 dp 要减去

总结,算法有时候比较看运气的就是看能不能想到问题等价于什么,我想了很久二分查找。

相关推荐
Rain的Java大神之路12 分钟前
「设计一个在线文档协同编辑系统」:从 WebSocket、OT/CRDT 到快照回放,一篇讲透这道面试顶流题
java·后端·面试
weixin1997010801627 分钟前
官方授权通道和灰色爬虫,做数据服务该选哪条路(附 python 源码)
c++·爬虫·python
wuminyu32 分钟前
JVM执行引擎学习总结:热点字节码编译成本地机器码
java·linux·c语言·jvm·c++
Tairitsu_H42 分钟前
[C++高阶数据结构·图论上] 最小生成树:为什么“选边”和“选点”是两条路?
数据结构·c++·图论·最小生成树
秋饼1 小时前
Redis 全面解析:从数据结构到主从/哨兵/集群、分布式锁与面试高频考点,代码到原理一次讲透
数据库·redis·分布式·面试·后端开发
Bczheng11 小时前
VS2022 安装MFC和QT
c++·qt·mfc
dialect_2 小时前
CODEFORCES ROUND 1127 DIV2
开发语言·c++·算法
考研保研资料分享6 小时前
2022双非保研华科热能工程:三校考核、传热题与报名复盘
面试
悠仁さん10 小时前
【C++】AVL 树
c++
wuminyu10 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++