From 79aa986271bb0e2c5fc8b781d2d593a2590eaa9d Mon Sep 17 00:00:00 2001 From: Mira Date: Sat, 27 Sep 2025 20:49:41 +1000 Subject: [PATCH] fix format issue --- .../wangshusen_recommend_note_coldstart.mdx | 150 +++++++++--------- .../wangshusen_recommend_note_rank.mdx | 61 ++++--- app/docs/jobs/business-flow/HelloWorld.md | 11 -- .../jobs/interview-prep/interview-tips.mdx | 92 +++++------ app/docs/jobs/tech-stack/HelloWorld.md | 11 -- next.config.mjs | 7 +- 6 files changed, 147 insertions(+), 185 deletions(-) delete mode 100644 app/docs/jobs/business-flow/HelloWorld.md delete mode 100644 app/docs/jobs/tech-stack/HelloWorld.md diff --git a/app/docs/ai/recommender-systems/wangshusen_recommend_note_coldstart.mdx b/app/docs/ai/recommender-systems/wangshusen_recommend_note_coldstart.mdx index 44c3f58..35724f1 100644 --- a/app/docs/ai/recommender-systems/wangshusen_recommend_note_coldstart.mdx +++ b/app/docs/ai/recommender-systems/wangshusen_recommend_note_coldstart.mdx @@ -1,112 +1,110 @@ ---- -title: '王树森推荐系统学习笔记_冷启动' +--- +title: "王树森推荐系统学习笔记_冷启动" description: "" date: "2025-09-27" tags: - tag-one --- -# 王树森推荐系统学习笔记_冷启动 +# 王树森推荐系统学习笔记\_冷启动 ## 物品冷启动 ### 物品冷启动:评价指标 -**物品冷启动** +**物品冷启动** -- 小红书上用户新发布的笔记。 -- B 站上用户新上传的视频。 -- 今日头条上作者新发布的文章。 +- 小红书上用户新发布的笔记。 +- B 站上用户新上传的视频。 +- 今日头条上作者新发布的文章。 -**新笔记冷启动** +**新笔记冷启动** -- 新笔记缺少与用户的交互,导致推荐的难度大、效果差。 -- 扶持新发布、低曝光的笔记,可以增强作者发布意愿。 +- 新笔记缺少与用户的交互,导致推荐的难度大、效果差。 +- 扶持新发布、低曝光的笔记,可以增强作者发布意愿。 -**优化冷启的目标** +**优化冷启的目标** -1. 精准推荐:克服冷启的困难,把新笔记推荐给合适的用户,不引起用户反感。 +1. 精准推荐:克服冷启的困难,把新笔记推荐给合适的用户,不引起用户反感。 -2. 激励发布:流量向低曝光新笔记倾斜,激励作者发布。 +2. 激励发布:流量向低曝光新笔记倾斜,激励作者发布。 -3. 挖掘高潜:通过初期小流量的试探,找到高质量的笔记,给予流量倾斜。 +3. 挖掘高潜:通过初期小流量的试探,找到高质量的笔记,给予流量倾斜。 -**评价指标** +**评价指标** - 作者侧指标: - - 发布渗透率、人均发布量。 + - 发布渗透率、人均发布量。 - 用户侧指标: - - 新笔记指标:新笔记的点击率、交互率。 - - 大盘指标:消费时长、日活、月活。 + - 新笔记指标:新笔记的点击率、交互率。 + - 大盘指标:消费时长、日活、月活。 - 内容侧指标: - - 高热笔记占比。 + - 高热笔记占比。 #### 作者侧指标 -**发布渗透率(penetration rate)** +**发布渗透率(penetration rate)** -- 发布渗透率 = 当日发布人数 / 日活人数 -- 发布一篇或以上,就算一个发布人数。 +- 发布渗透率 = 当日发布人数 / 日活人数 +- 发布一篇或以上,就算一个发布人数。 - **例**: - - 当日发布人数 = 100 万 - - 日活人数 = 2000 万 - - 发布渗透率 = 100 / 2000 = 5% + - 当日发布人数 = 100 万 + - 日活人数 = 2000 万 + - 发布渗透率 = 100 / 2000 = 5% -**人均发布量** +**人均发布量** -- 人均发布量 = 当日发布笔记数 / 日活人数 +- 人均发布量 = 当日发布笔记数 / 日活人数 - **例**: - - 每日发布笔记数 = 200 万 - - 日活人数 = 2000 万 - - 人均发布量 = 200 / 2000 = 0.1 + - 每日发布笔记数 = 200 万 + - 日活人数 = 2000 万 + - 人均发布量 = 200 / 2000 = 0.1 -发布渗透率、人均发布量反映出作者的发布积极性。 +发布渗透率、人均发布量反映出作者的发布积极性。 -冷启的重要优化目标是促进发布,增大内容池。 +冷启的重要优化目标是促进发布,增大内容池。 -新笔记获得的曝光越多,首次曝光和交互出现得越早,作者发布积极性越高。 +新笔记获得的曝光越多,首次曝光和交互出现得越早,作者发布积极性越高。 #### 用户侧指标 -**新笔记的消费指标** +**新笔记的消费指标** -- 新笔记的点击率、交互率。 - - 问题:曝光的基尼系数很大。 - - 少数头部新笔记占据了大部分的曝光。 +- 新笔记的点击率、交互率。 + - 问题:曝光的基尼系数很大。 + - 少数头部新笔记占据了大部分的曝光。 -- 分别考察高曝光、低曝光新笔记。 - - 高曝光:比如 >1000 次曝光。 - - 低曝光:比如 <1000 次曝光。 +- 分别考察高曝光、低曝光新笔记。 + - 高曝光:比如 >1000 次曝光。 + - 低曝光:比如 <1000 次曝光。 -#### **内容侧指标** +#### **内容侧指标** -**高热笔记占比** +**高热笔记占比** - 高热笔记:前 30 天获得 1000+ 次点击。 - 高热笔记占比越高,说明冷启阶段挖掘优质笔记的能力越强。 -#### **总结** +#### **总结** - **作者侧指标**:发布渗透率、人均发布量。 - **用户侧指标**:新笔记消费指标、大盘消费指标。 - **内容侧指标**:高热笔记占比。 -**冷启动的优化点** - -- **优化全链路**(*包括召回和排序*)。 -- **流量调控**(*流量怎么在新物品、老物品中分配*)。 - +**冷启动的优化点** +- **优化全链路**(_包括召回和排序_)。 +- **流量调控**(_流量怎么在新物品、老物品中分配_)。 ### 物品冷启动:简单的召回通道 #### 召回的依据 -**冷启召回的困难** +**冷启召回的困难** -- 缺少用户交互,还没学好笔记 ID embedding,导致双塔模型效果不好。 +- 缺少用户交互,还没学好笔记 ID embedding,导致双塔模型效果不好。 - 缺少用户交互,导致 ItemCF 不适用。 #### 双塔模型 @@ -124,19 +122,19 @@ tags: - 查找 top k 内容最相似的高曝光笔记。 - 把 k 个高曝光笔记的 embedding 向量取平均,作为新笔记的 embedding。 -**多个向量召回池** +**多个向量召回池** - 多个召回池,让新笔记有更多曝光机会。 - - 1 小时新笔记, - - 6 小时新笔记, - - 24 小时新笔记, - - 30 天笔记。 + - 1 小时新笔记, + - 6 小时新笔记, + - 24 小时新笔记, + - 30 天笔记。 - 共享同一个双塔模型,那么多个召回池不增加训练的代价。 #### 类目召回 -**基于类目的召回** +**基于类目的召回** - 系统维护类目索引: $$\text{类目} \rightarrow \text{笔记列表(按时间倒排)}$$ @@ -146,20 +144,20 @@ tags: - 取回笔记列表上前 k 篇笔记(即最新的 k 篇)。 -**基于关键词的召回** +**基于关键词的召回** - 系统维护关键词索引: - $$\text{关键词} \rightarrow \text{笔记列表(按时间倒排)}$$ + $$\text{关键词} \rightarrow \text{笔记列表(按时间倒排)}$$ -- 根据用户画像上的 \text{\color{red}{关键词}} 做召回。 +- 根据用户画像上的 **关键词** 做召回。 -**缺点** +**缺点** -- 缺点 1:只对刚刚发布的新笔记有效。 - - 取回某类目 / 关键词下最新的 k 篇笔记。 - - 发布几小时之后,就再没有机会被召回。 +- 缺点 1:只对刚刚发布的新笔记有效。 + - 取回某类目 / 关键词下最新的 k 篇笔记。 + - 发布几小时之后,就再没有机会被召回。 -- 缺点 2:弱个性化,不够精准。 +- 缺点 2:弱个性化,不够精准。 ### 物品冷启动:聚类召回 @@ -197,8 +195,6 @@ tags: #### 内容相似度模型 - - ![](https://raw.githubusercontent.com/H0SH123/Books-and-Notes/main/RecommenderSystem/images/7-3-1.png) ![](https://raw.githubusercontent.com/H0SH123/Books-and-Notes/main/RecommenderSystem/images/7-3-2.png) @@ -212,16 +208,18 @@ tags: 基本想法:鼓励 $\cos(\mathbf{a}, \mathbf{b}^+)$ 大于 $\cos(\mathbf{a}, \mathbf{b}^-)$ **Triplet hinge loss:** + $$ L(\mathbf{a}, \mathbf{b}^+, \mathbf{b}^-) = \max\{0, \cos(\mathbf{a}, \mathbf{b}^-) + m - \cos(\mathbf{a}, \mathbf{b}^+)\} $$ - **Triplet logistic loss:** + $$ L(\mathbf{a}, \mathbf{b}^+, \mathbf{b}^-) = \log(1 + \exp(\cos(\mathbf{a}, \mathbf{b}^-) - \cos(\mathbf{a}, \mathbf{b}^+))) $$ -**<种子笔记,正样本>** + +**<种子笔记,正样本>** 方法一:人工标注二元组的相似度 @@ -234,10 +232,10 @@ $$ - 用 ItemCF 的物品相似度选正样本。 -**<种子笔记,负样本>** +**<种子笔记,负样本>** - 从全体笔记中随机选出满足条件的: - - 字数较多 *(神经网络提取的文本信息有效)*。 + - 字数较多 _(神经网络提取的文本信息有效)_。 - 笔记质量高,避免图文无关。 #### 总结 @@ -302,9 +300,9 @@ $$ **工业界的做法** -- 假设推荐系统只分发年龄 <30 天的笔记。 +- 假设推荐系统只分发年龄 <30 天的笔记。 -- 假设采用自然分发,新笔记(年龄 <24 小时)的曝光占比为 1/30。 +- 假设采用自然分发,新笔记(年龄 <24 小时)的曝光占比为 1/30。 - 扶持新笔记,让新笔记的曝光占比远大于 1/30。 @@ -351,9 +349,11 @@ $$ - 已有曝光:比如笔记已经获得 20 次曝光。 计算公式: + $$ \text{提权系数} = f\left( \frac{\text{发布时间}}{\text{目标时间}}, \frac{\text{已有曝光}}{\text{目标曝光}} \right) = f(0.5, 0.2) $$ + **保量的难点** 保量成功率远低于 100% @@ -425,7 +425,6 @@ $$ - 新策略:把新笔记排序时的权重增大两倍。 - 结果(只看消费指标) - - AB 测试的 diff 是负数(策略组不如对照组)。 - 如果推全,diff 会缩小(比如 -2% ➝ -1%)。 @@ -442,16 +441,13 @@ $$ **缺点:新笔记之间会抢流量** - 设定: - - 新老笔记走各自队列,没有竞争。 - 重排:分给新笔记 1/3 流量,分给老笔记 2/3 流量。 - - 新策略:把新笔记的权重增大两倍。 - 结果(只看发布指标): - - AB 测试的 diff 是正数(策略组优于对照组)。 - 如果推全,diff 会消失(比如 2% ➝ 0)。 @@ -497,5 +493,3 @@ $$ - 新笔记、老笔记怎么抢流量? - 同时隔离笔记、用户,会不会让内容池变小? - 如果对新笔记做保量,会发生什么? - - diff --git a/app/docs/ai/recommender-systems/wangshusen_recommend_note_rank.mdx b/app/docs/ai/recommender-systems/wangshusen_recommend_note_rank.mdx index c147113..8aa4552 100644 --- a/app/docs/ai/recommender-systems/wangshusen_recommend_note_rank.mdx +++ b/app/docs/ai/recommender-systems/wangshusen_recommend_note_rank.mdx @@ -1,12 +1,12 @@ ---- -title: '王树森推荐系统学习笔记_排序' +--- +title: "王树森推荐系统学习笔记_排序" description: "" date: "2025-09-27" tags: - tag-one --- -# 王树森推荐系统学习笔记_排序 +# 王树森推荐系统学习笔记\_排序 ## 排序 @@ -15,11 +15,11 @@ tags: **用户一笔记的交互** - 对于每篇笔记,系统记录: - - **曝光次数**(*number of impressions*) - - **点击次数**(*number of clicks*) - - **点赞次数**(*number of likes*) - - **收藏次数**(*number of collects*) - - **转发次数**(*number of shares*) + - **曝光次数**(_number of impressions_) + - **点击次数**(_number of clicks_) + - **点赞次数**(_number of likes_) + - **收藏次数**(_number of collects_) + - **转发次数**(_number of shares_) - **点击率** = 点击次数/曝光次数 - **点赞率** = 点赞次数/点击次数 @@ -29,7 +29,7 @@ tags: **排序的依据** - 排序模型预估点击率、点赞率、收藏率、转发率等多种分数。 -- 融合这些预估分数。(*比如加权和。*) +- 融合这些预估分数。(_比如加权和。_) - 根据融合的分数做排序、截断。 #### 多目标模型 @@ -47,7 +47,7 @@ tags: - 对于点击率来说,模型实际上就是根据点击率来判断一个物品是否为被点击物品。这是一个二元分类问题,因此用交叉熵损失函数。 -- 总的损失函数: $ \sum_{i=1}^{4} \alpha_i \cdot \text{CrossEntropy}(y_i, p_i) $ 。 +- 总的损失函数: $ \sum\_{i=1}^{4} \alpha_i \cdot \text{CrossEntropy}(y_i, p_i) $ 。 - 对损失函数求梯度,做梯度下降更新参数。 **训练** @@ -57,7 +57,7 @@ tags: - 每 100 次点击,约有 10 次收藏,90 次无收藏。 - 负样本与正样本数量差距悬殊,多出的负样本意义不大,浪费计算资源。 -- 解决方案:负样本降采样(*down-sampling*) +- 解决方案:负样本降采样(_down-sampling_) - 保留一小部分负样本。 - 让正负样本数量平衡,节约计算。 @@ -65,11 +65,9 @@ tags: - 正样本、负样本数量为 $n_+$ 和 $n_-$。 - 对负样本做降采样,抛弃一部分负样本。 -- 使用 $ \alpha \cdot n_- $ 个负样本,$ \alpha \in (0,1) $ 是采样率。 +- 使用 $ \alpha \cdot n\_- $ 个负样本,$ \alpha \in (0,1) $ 是采样率。 - 由于负样本变少,**预估点击率** 大于 **真实点击率**。而且 $\alpha$ 越小,负样本越少,模型对点击率高估就越严重。 - - - **真实点击率**: $$ @@ -90,7 +88,6 @@ $$ ### Multi-gate Mixture-of-Experts (MMoE) - ![](https://raw.githubusercontent.com/H0SH123/Books-and-Notes/main/RecommenderSystem/images/3-2-1.png) 1号,2号,3号神经网络分别是专家神经网络。 @@ -135,7 +132,7 @@ $$ **国内某短视频 APP 的融合分公式** - 根据预估时长 $p_{\text{time}}$,对 $n$ 篇候选视频做排序。 -- 如果某视频排名第 $r_{\text{time}}$ ,则它得分 $ \frac{1}{r_{\text{time}}^{\alpha} + \beta} $。 +- 如果某视频排名第 $r_{\text{time}}$ ,则它得分 $ \frac{1}{r\_{\text{time}}^{\alpha} + \beta} $。 - 对点击、点赞、转发、评论等预估分数做类似处理。 - 最终融合分数:( $\alpha_{1,2,3\dots}$ 为超参数) @@ -149,7 +146,7 @@ $$ $$\text{曝光} \rightarrow \text{点击} \rightarrow \text{加购物车} \rightarrow \text{付款}$$ -- 模型预估:$ p_{\text{click}} $、$ p_{\text{cart}} $、$ p_{\text{pay}} $。 +- 模型预估:$ p*{\text{click}} $、$ p*{\text{cart}} $、$ p\_{\text{pay}} $。 - 最终融合分数:( $\alpha_{1,2,3,4\dots}$ 为超参数) @@ -165,7 +162,7 @@ $$ - 图文笔记排序的主要依据: - *点击、点赞、收藏、转发、评论⋯⋯* + _点击、点赞、收藏、转发、评论⋯⋯_ - 视频排序的依据还有播放时长和完播。 @@ -180,7 +177,7 @@ $$ #### 视频播放时长建模 - 把最后一个全连接层的输出记作 $z$。设 $p = \text{sigmoid}(z)$。 -- 实际观测的播放时长记作 $t$。(*如果没有点击,则 $t = 0$。*) +- 实际观测的播放时长记作 $t$。(_如果没有点击,则 $t = 0$。_) - 做训练:最小化交叉熵损失 $$ @@ -207,8 +204,8 @@ $$ **二元分类方法** - 定义完播指标,比如完播 80%。 -- 例:视频长度 10 分钟,播放 >8 分钟作为正样本,播放 <8 分钟作为负样本。 -- 做二元分类训练模型:播放 >80% vs 播放 <80%。 +- 例:视频长度 10 分钟,播放 >8 分钟作为正样本,播放 <8 分钟作为负样本。 +- 做二元分类训练模型:播放 >80% vs 播放 <80%。 - 线上预估完播率,模型输出 $p = 0.73$,意思是: $$ @@ -233,16 +230,16 @@ $$ **用户画像** (User Profile) -- 用户 ID(*在召回、排序中做 embedding*)。 +- 用户 ID(_在召回、排序中做 embedding_)。 - 人口统计学属性:性别、年龄。 - 账号信息:新老、活跃度⋯⋯ - 感兴趣的类目、关键词、品牌。 **物品画像** (Item Profile) -- 物品 ID(*在召回、排序中做 embedding*)。 -- 发布时间(*或者年齿*)。 -- GeoHash(*经纬度编码*)、所在城市。 +- 物品 ID(_在召回、排序中做 embedding_)。 +- 发布时间(_或者年齿_)。 +- GeoHash(_经纬度编码_)、所在城市。 - 标题、类目、关键词、品牌⋯⋯ - 字数、图片数、视频清晰度、标签数⋯⋯ - 内容信息量、图片美学⋯⋯ @@ -250,8 +247,8 @@ $$ **用户统计特征** - 用户最近 30 天(7 天、1 天、1 小时)的曝光数、点击数、点赞数、收藏数⋯⋯ -- 按照笔记 *图文/视频* 分桶。(*比如最近 7 天,该用户对图文笔记的点击率、对视频笔记的点击率。*) -- 按照笔记类目分桶。(*比如最近 30 天,用户对美妆笔记的点击率、对美食笔记的点击率、对科技数码笔记的点击率。*) +- 按照笔记 _图文/视频_ 分桶。(_比如最近 7 天,该用户对图文笔记的点击率、对视频笔记的点击率。_) +- 按照笔记类目分桶。(_比如最近 30 天,用户对美妆笔记的点击率、对美食笔记的点击率、对科技数码笔记的点击率。_) **笔记统计特征** @@ -260,12 +257,12 @@ $$ - 作者特征: - 发布笔记数 - 粉丝数 - - 消费指标(*曝光数、点击数、点赞数、收藏数*) + - 消费指标(_曝光数、点击数、点赞数、收藏数_) **场景特征** (Context) -- 用户定位 GeoHash(*经纬度编码*)、城市。 -- 当前时刻(*分段,做 embedding*)。 +- 用户定位 GeoHash(_经纬度编码_)、城市。 +- 当前时刻(_分段,做 embedding_)。 - 是否是周末、是否是节假日。 - 手机品牌、手机型号、操作系统。 @@ -299,8 +296,6 @@ $$ 排序服务器在收取到特征后,将特征打包给 TF Serving 。TF 会给笔记打分,将结果返回给排序服务器。排序服务器根据一系列规则给笔记排序,把排名最高的几十篇笔记返回给服务器。 - - ### 粗排 **粗排 VS 精排** @@ -352,5 +347,3 @@ $$ - 物品塔:未命中缓存时需要做推理。 - 交叉塔:必须做 $n$ 次推理。 - 上层网络:做 $n$ 次推理,给 $n$ 个物品打分。 - - diff --git a/app/docs/jobs/business-flow/HelloWorld.md b/app/docs/jobs/business-flow/HelloWorld.md deleted file mode 100644 index a665e78..0000000 --- a/app/docs/jobs/business-flow/HelloWorld.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Hello World -description: First page -date: "2025-09-11" -tags: - - intro ---- - -# Hello World - -期待您的投稿 diff --git a/app/docs/jobs/interview-prep/interview-tips.mdx b/app/docs/jobs/interview-prep/interview-tips.mdx index 400b987..7fffaec 100644 --- a/app/docs/jobs/interview-prep/interview-tips.mdx +++ b/app/docs/jobs/interview-prep/interview-tips.mdx @@ -1,93 +1,85 @@ --- -title: '面试阶段逐关击破 | OA刷题血泪史 + VI分数偷看技巧 + 群面套路合集' +title: "面试阶段逐关击破OA VI question" description: "" date: "2025-09-19" tags: - tag-one --- -## 面试阶段逐关击破 | OA刷题血泪史 + VI分数偷看技巧 + 群面套路合集 - - 在澳洲找IT工作,据说成功率仅仅只有不到10%,尤其是作为留学生,英语沟通能力很少有能达到local水平的。写这篇攻略只是希望给大家一些语言之外的技巧,能够提高拿下offer的概率。 你是不是也有过这种心情:**OA 刷题崩溃、视频面录完想看分数、群面尬到社死、技术面 live coding 想重开?** 别慌,这篇笔记整理了我自己踩过的坑和身边同学的血泪史,手把手带你逐关击破整个面试流程。 -## OA刷题修罗场 | HackerRank/CodeSignal/SHL全解 - -第一次收到 OA 邮件的时候,心跳快过网课抢名额。常见的平台有 **HackerRank、CodeSignal 和 SHL**。 - -- **HackerRank**:全球 IT 求职标配,澳洲大厂几乎全都用。 -- **CodeSignal**:氛围很像真实 coding 场景,live coding 感拉满。 -- **SHL**:澳洲本地最常见,逻辑 + 数学 + 心理测评,做完像打通关益智游戏。 +## OA在线测评| HackerRank/CodeSignal/SHL全解 -题型常见数组与字符串(旋转数组、最长子串)、SQL join 分析、概率逻辑题。我的血泪经验:别瞎刷,去 **LeetCode 公司标签题库**(Canva、Atlassian 都有合集),再用 **Pramp** 找真人练习,胜过你独自盲刷五遍。 +第一次收到 OA 邮件的时候,看着题目两眼一黑,没刷过力扣的我只能默默流泪。 +询问无数大佬得到的答案永远是惊人的相似,算法的提高只有一个字,练! +常见的平台有 **HackerRank、CodeSignal 和 SHL**。 -你们是不是也有过刷题刷到半夜,室友还在隔壁敲键盘,你心里只想关电脑跑路? +- **HackerRank**:全球 IT 求职标配,澳洲大厂几乎全都用。 +- **CodeSignal**:氛围很像真实 coding 场景,live coding 感拉满。 +- **SHL**:澳洲本地最常见,逻辑 + 数学 + 心理测评,做完像打通关益智游戏。 +题型常见数组与字符串(旋转数组、最长子串)、SQL join 分析、概率逻辑题。我的血泪经验:别瞎刷,去 **LeetCode 公司标签题库**(Canva、Atlassian 都有合集)。 -## 视频面试必修课 | HireVue评分暗箱大揭秘 +## 视频面试VI必看 | HireVue评分暗箱大揭秘 -视频面是最容易让人社死的环节。对着镜头自言自语,常见问题是团队冲突、时间管理、多元与包容。表面简单,其实是在考察你和公司价值观契不契合。 +视频面是最容易让人社死的环节。对着镜头自言自语,常见问题是团队冲突、时间管理、多元与包容。表面简单,其实是在考察你和公司价值观契不契合。 -常用平台是 **HireVue**。很多同学做完之后都会疑惑:自己到底表现得怎么样?其实可以偷偷看分数: +常用平台是 **HireVue**。很多同学做完之后都会疑惑:自己到底表现得怎么样?其实可以偷偷看分数: -1. 打开浏览器的 `Developer Tools`。 -2. 切到 **Network** 面板。 -3. 找到 `graphql`(通常是倒数第三个)。 -4. 点开 **Response**,就能看到你的分数。 +1. 打开浏览器的 `Developer Tools`。 +2. 切到 **Network** 面板。 +3. 找到 `graphql`(通常是倒数第三个)。 +4. 点开 **Response**,就能看到你的分数。 -这个小技巧真的救命,能帮你对比几次分数,调整回答思路。 - -回答时最好套用 **STAR 法则**(Situation-Task-Action-Result),再结合公司文化,比如 Canva 强调 *“Be a good human”*,你最后收尾一句呼应价值观,效果直接拉满。我的习惯是先对着镜子演练,确保不“冷脸盯屏”,同时背景别乱,不然 HR 直接减分。 +这个小技巧真的救命,能帮你对比几次分数,调整回答思路。 +回答时最好套用 **STAR 法则**(Situation-Task-Action-Result),再结合公司文化,比如 Canva 强调 _“Be a good human”_,你最后收尾一句呼应价值观,效果直接拉满。我的习惯是先对着镜子演练,确保不“冷脸盯屏”,同时背景别乱,不然 HR 直接减分。 ## 群面修罗场 | 孤岛题+原住民待遇+公共交通案例全曝光 -群面现场堪比狼人杀,考官观察的重点不是谁声音大,而是团队合作。常见题目包括: - -- **孤岛题(银行题)**:被困孤岛只能带五个东西,全员要讨论并达成一致。考察取舍和合作,而不是“谁最会抖机灵”。 -- **政府题**:如何提高原住民待遇?这类题目更考察价值观和社会敏感度。 -- **咨询题**:设计一款改善公共交通的应用。重点是逻辑清晰、分工合理,而不是炫技。 +群面现场堪比狼人杀,考官观察的重点不是谁声音大,而是团队合作。常见题目包括: -我的套路是:**主动分工 + 适时总结 + 三分钟收尾 pitch**。提前准备几句万能句,比如 *“我们先整理一下主要观点”*,能帮你稳住全场。第一次群面我紧张到语速快得像 rap,后来才发现,冷静比聪明更加分。 +- **银行题**:被困孤岛只能带五个东西,全员要讨论并达成一致。考察取舍和合作,而不是“谁最会抖机灵”。 +- **政府题**:如何提高原住民待遇?这类题目更考察价值观和社会敏感度。 +- **咨询题**:设计一款改善公共交通的应用。重点是逻辑清晰、分工合理,而不是炫技。 -你们有遇过更离谱的群面题吗? +我的套路是:**主动分工 + 适时总结 + 三分钟收尾 pitch**。提前准备几句万能句,比如 _“我们先整理一下主要观点”_,能帮你稳住全场。第一次群面我紧张到语速快得像 rap,后来才发现,冷静比聪明更加分,通常群面的角色分为老虎,老鼠,四分卫,公司最喜欢的是四分卫,下一个是老鼠,最后才是老虎,所以不要太dominant! +你们有遇过其他的群面题吗?或者有更好的群面策略嘛?欢迎评论区讨论 ## 技术面终极BOSS | Live Coding + 系统设计全拆解 -技术面才是真正考验硬实力。常见形式是 **白板** 或 **pair programming**。重点不只是写对,而是写得干净、讲得清楚。 +技术面才是真正考验硬实力。常见形式是 **白板** 或 **pair programming**。重点不只是写对,而是写得干净、讲得清楚。 -很多人以为数据岗不会问系统设计,结果 Amazon、Atlassian 都会抛出大招:**如何在 AWS 上搭建数据 pipeline?** 我第一次遇到直接懵圈,后来总结套路: +很多人以为数据岗不会问系统设计,结果 Amazon、Atlassian 都会抛出大招:**如何在 AWS 上搭建数据 pipeline?** 我第一次遇到直接懵圈,后来总结套路: -1. 先梳理需求 -2. 考虑规模、接口、存储 -3. 补充缓存、容错和扩展 +1. 先梳理需求 +2. 考虑规模、接口、存储 +3. 补充缓存、容错和扩展 -另外也可能遇到 **Live Coding**,这个环节一定要 **think out loud**: +另外也可能遇到 **Live Coding**,这个环节一定要 **think out loud**: -- 复述题意,确认无误 -- 边写边解释思路 -- 面试官提示时复述理解,再修改 -- 最后检查边界条件和测试 - -别怕卡壳,说出思路比沉默更重要。 +- 复述题意,确认无误 +- 边写边解释思路 +- 面试官提示时复述理解,再修改 +- 最后检查边界条件和测试 +别怕卡壳,说出思路比沉默更重要。 ## 面试准备全攻略 | 我的一周Checklist -我的标准操作是: - -1. **公司研究**:Annual Report、新闻,写卡片方便随时翻。 -2. **Mock interview**:找朋友互练,没人就用 Pramp 或 Exponent。 -3. **题库复习**:数组、SQL、概率题轮番刷,形成肌肉记忆。 -4. **后续跟进**:24 小时内发感谢邮件,重申岗位契合度,顺便补充亮点。 +我的标准操作是: +1. **公司研究**:Annual Report、新闻,写卡片方便随时翻。 +2. **Mock interview**:找朋友互练,没人就用 Pramp 或 Exponent。 +3. **题库复习**:数组、SQL、概率题轮番刷,形成肌肉记忆。 +4. **后续跟进**:24 小时内发感谢邮件,重申岗位契合度,顺便补充亮点。 ## 结尾 -在澳洲找工作就像打通关游戏:OA 是新手村,视频面是副本试炼,群面是组队副本,技术面就是最终 BOSS。只要刷题够扎实,表达够自然,再加上合作意识,过关并不是梦。 +在澳洲找工作就像打通关游戏:OA 是新手村,视频面是副本试炼,群面是组队副本,技术面就是最终 BOSS。只要刷题够扎实,表达够自然,再加上合作意识,过关并不是梦。 -那你最怕哪一关?OA 的算法题、视频面的镜头尴尬,还是群面里那种“狼人杀”修罗场?评论区说不定能找到同样踩过坑的“战友”。 +那你最怕哪一关?OA 的算法题、视频面的镜头尴尬,还是群面里那种“狼人杀”修罗场?评论区说不定能找到同样踩过坑的“战友”。 diff --git a/app/docs/jobs/tech-stack/HelloWorld.md b/app/docs/jobs/tech-stack/HelloWorld.md deleted file mode 100644 index a665e78..0000000 --- a/app/docs/jobs/tech-stack/HelloWorld.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Hello World -description: First page -date: "2025-09-11" -tags: - - intro ---- - -# Hello World - -期待您的投稿 diff --git a/next.config.mjs b/next.config.mjs index a7dcb0b..6458353 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,4 +1,4 @@ -// next.config.mjs +// next.config.mjs import { createMDX } from "fumadocs-mdx/next"; import createNextIntlPlugin from "next-intl/plugin"; @@ -28,6 +28,11 @@ const config = { hostname: "*.r2.dev", pathname: "/**", }, + { + protocol: "https", + hostname: "cdn.nlark.com", + pathname: "/**", + }, ], }, };