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 要减去

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

相关推荐
黄敬峰1 小时前
一文搞懂宝塔面板部署前后端分离项目(React + Node.js + MySQL)
面试
Interview Aid1121 小时前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
怕浪猫10 小时前
FDE 最大的浪费不是写出有 bug 的代码,而是漂亮地解决了一个错误的问题
面试·架构·github
「QT(C++)开发工程师」12 小时前
C++ auto 用法详解
开发语言·c++
OPEN-F12 小时前
C++STL教程:容器适配器与实用工具
开发语言·c++
黄敬峰12 小时前
Next.js 全栈实战:数据清洗、ORM 设计与 AI Prompt 工程最佳实践
面试·github
OPEN-F13 小时前
C++模板教程:变参模板、折叠表达式与SFINAE
java·开发语言·c++
有点。13 小时前
C++二叉搜索树进阶
开发语言·c++
HugoStudio_SWAN13 小时前
【擦除重绘】C++ 控制台动画:弹跳 Logo DVD 屏保效果
开发语言·c++·学习·程序人生