一、经验帖
这主要是一个概念性内容。今天了解了什么是 WebSocket 和 SSE,这是全栈面试时对方问我的问题。
主要区别是:WebSocket 更强支持客户端和服务端双向通信,而 SSE 是服务端单向推给客户端显示,比如弹窗、广告。
除此之外,问的问题比如:上下文窗口塞满了怎么解决?我之前了解过这个问题,主要是通过压缩、直接丢弃、长期存储和 RAG。
发现现在公司面试的时候,一方面有一种靠近 Agent 的趋势,大家都转 Agent,所以也去转;还有一种是他们的场景中确实会用到 Agent,所以会问更多这种场景问题。
二、机试学习
今天看的第一个内容是关于动态规划的。现在回忆一下今天做的内容:首先是编辑距离类的问题。编辑距离就是指两个字符串通过一定的增删或者改,用最少的操作使它们一样。
具体做法是,根据当前的值是否相等来判断。它有三个状态:当前的 i-1和 j、i 和 j-1,以及 i-1和 j-1。
第二个,关于动态规划的内容是判断回文串。这里的判断是用 i 倒着判断的,因为使用 DPI 的时候,DPI +1必须已经存在。
第三个是一个实际的华为机试题。它考察的是:有 n 个服务点,每过 m 个服务点,必须消耗一定成本,求到达终点的最小成本。这类似于高速充电问题。
这个问题的动态规划状态设计是:在 i 这个位置充电,到目前为止所用的最小成本。
第四个也是华为的机试题:求给定一定的组合时,能够刚好凑出一个指定数值的组合数量有多少。
它使用 vector 进行存储,vector 存储的是 pair,并且按照从小到大的顺序存储。
它的动态规划状态 DPIJ 表达的是:用前 i 个数额的金币,以及它们的数量,凑出数值 j 的大小,有多少种组合。
三、毕设进展
决定主动写一写自己的毕设进展。其实研究生的毕设主要就是能讲好一个故事就行。
因为下个月要做中期答辩,明年也要毕业,所以一定要推进。今天主要是和 Claude Code 对话,让它继续进行可行性分析。
因为之前的策略发现行不通,现在陷入一个比较苦恼的问题:不知道什么情况下可以100% 确定,但这世界上又没有100% 行得通的方法。
四、其他
然后今天参加了一个关于分布式训练的 AI 面试,发现它主要问的问题是深度学习相关的内容。我对它的了解不是很深,说明这个岗位的需求和我的目前的技术栈不是很搭。
另外一个是国央企的笔试。我发现这种国央企笔试的一个特点是:编程题都比较简单,只要懂得怎么输入、怎么输出,都能写出来。而且它不会有特别大的时间复杂度或空间复杂度,暴力解法都能做出来。