cpp 选手秋招学习笔记 day33

一、机试和手撕

1.单例模式和工厂模式

单例模式需要把构造函数私有化,然后内部一个 static 的指针变量对象,指向自己这种类型,懒汉模式就是在第一次调用 instance 的时候 new 实例。

工厂模式是用专门的工厂去创建对象而不是自己去 new,

2.归并排序、快排和堆排序

归并排序的思想是分治,然后具体借助一个临时数组存放,再放回来

堆排序是用堆维护,然后逐个取堆顶

3.动态规划问题求子数组的最大乘积

需要维护三个 当前为止乘积最大值、最小值,然后最后是 ans

二、场景和海量数据问题

1.高并发系统设计

首先是分库分表,其次是使用 RPC 通信,一个节点一个数据库,其次是利用缓存,还有就是使用消息队列异步执行写命令,最后一种是读写分离,主节点执行写,从节点执行读。

2.cap 理论

c 一致性,可用性,分区容错性,三者不能同时保证

3.海量数据取 topk、找不重复、找有重复的

使用 map 然后可以遍历 如果能在内存中装下,如果不能首先对数据进行哈希分成多个小文件,小文件单独 hashmap 计数,然后用小顶堆去判断,对于不重复重复这些可以用 set 可以用 map。

3.判断有多少种不同的号码除了可以用刚刚的分治也可以使用位图去解决

三、infra 相关

flashattention 避免了在计算 attention 过程反复缓存中间结果。

相关推荐
左手の明天11 小时前
SLIP 协议封装与解析详解:原理、C 代码与实战案例
linux·c语言·开发语言·c++
青少儿编程课堂12 小时前
后缀自动机解析:本质不同子串与最长重复片段统计
c++·python·算法·bfs·信息学竞赛
朝朝辞暮i12 小时前
C++ 第 12 课:局部变量、作用域、变量生命周期
开发语言·c++·算法
FakeOccupational13 小时前
【电路笔记 信号】DBPSK 波形查找表+脉冲成形(升余弦+根升余弦滤波)
开发语言·笔记
无名猿14 小时前
shared_ptr 完全指南:引用计数、控制块与开销
c++·性能优化·内存管理·标准库·现代c++
xailorliu16 小时前
SLIC_超像素算法
c++·opencv·目标检测·机器学习·计算机视觉
苏打豆16 小时前
CRISP源码阅读——基于ROS2力矩反馈控制器与速度加速度零空间
c++·线性代数·算法·矩阵·机器人
Horn Still Sounds16 小时前
IMX6ULL裸机|I2C通信协议 + ADC模数转换学习笔记
arm开发·笔记·单片机·嵌入式硬件
小小龙学IT17 小时前
snap7 开源西门子 S7 通信协议库深度解析
c++·开源