Logo

site iconJustYY | 小赖子

小赖子的英国生活和资讯,以及投资和个人生活。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

JustYY | 小赖子 RSS 预览

第一次被微软官方认证为AI工程师助理 AI Engineer Associate (AI-102)

2026-02-23 19:23:05

上周五中午抽空去了 Peterborough(单程开车约50分钟),参加并通过了 AI-102:Microsoft AI Engineer Associate 认证考试,中文可以理解为“微软 AI 工程师助理”。 被官网认证为AI工程师助理! [caption id="attachment_71027" align="alignnone" width="1137"]AI-102微软人工智能工程师/助理 AI-102微软人工智能工程师/助理[/caption] 之前考过的 AI-900 属于基础级认证,没有过期时间,证书上是一颗星。 这次通过的是两颗星的中级认证(费用165美元)。中级及以上证书有效期为一年,过期前6个月可以在线免费续考。据说如果续考没通过,可以每24小时重考一次,也就是说理论上最多有大约180次续考机会。 这次的 AI-102 难度明显高于 AI-900。AI-900 主要考察对概念的理解,而 AI-102 不仅要求理解原理,还要掌握具体 API 的使用方法,以及在不同场景(Case Study)下如何选择和应用合适的 AI 模型。 考试时长大约两小时,分为两部分。 第一部分是选择题(单选、多选、下拉、排序等),可以标记(Mark for review)后面再回头检查。 第二部分是 Case Study,提交后无法返回修改。我做完第一部分并复查后,开始第二部分时只剩下大约20分钟,时间还是挺紧张的。 考过之后真的很开心。这也是获取多巴胺的一种方式吧。努力学习,卷起来,给孩子做榜样,保持持续学习的状态 💪 [show_file file="/var/www/wp-post-common/justyy.com/exams.php"]

竞赛选手几乎都会写的两行 C++ 代码

2026-02-23 19:08:26

竞赛选手几乎都会写的两行 C++ 代码

在刷算法题、打竞赛的人里,几乎都能看到 main() 里先写这两行:
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
}
很多新手会觉得像“祖传模板”,但它们确实能在 IO 很重的题里显著提速。原因主要有两个:同步和自动刷新。

1) 为什么 ios::sync_with_stdio(false) 能加速?

C++ 常用输入输出是 cin / cout。默认情况下,它们会和 C 的 scanf / printf 保持同步。 同步的意思是:当你用 cout 输出时,C++ 的 IO 层会和 C 的 stdio 层做额外的协调工作,确保两套机制混用时输出顺序一致。但在竞赛里我们通常只用 cin/cout,不需要这种同步,反而增加开销。 所以这一行:
ios::sync_with_stdio(false);
会解除 C++ IO 与 C IO 的同步,从而减少不必要的开销,尤其在大量读写数据时更明显。

2) 为什么 cin.tie(nullptr) 也能加速?

cout 并不会每输出一次就立刻写到终端,而是先进入缓冲区,之后再统一刷新(flush),因为频繁和操作系统交互很慢。 默认情况下,cin 会“绑定”(tie)到 cout:每次执行 cin 读取之前,都会自动把 cout 的缓冲区刷新一次,以保证交互式程序里提示信息能及时显示。 但竞赛题不是交互式程序,没必要每次读入前都 flush,于是这一行:
cin.tie(nullptr);
会解除 cincout 的绑定,避免额外的自动刷新,进一步提升 IO 性能。

推荐写法

把两行放在 main() 最开始:
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
}

什么时候不建议用?

  • 你混用 scanf/printfcin/cout 时(关闭同步后可能导致顺序问题)。
  • 交互题需要及时输出提示并立刻读取输入时(tie 可能影响提示及时显示)。
除此之外,在大多数竞赛/刷题场景里,这两行属于“低成本高收益”的常规优化,写上基本不会错。 高中时参加 NOIP,用的是 Turbo Pascal。那时候写竞赛代码,基本不追求可读性,各种“骚操作”层出不穷,代码往往晦涩难懂,但这并不妨碍最后拿奖。 竞技编程本身就更强调效率和技巧,而不是可维护性。甚至像每年举办的 C 语言混淆大赛,写出来的代码几乎没人能一眼看懂,却依然能正确运行,效果惊艳。 类似地,很多 Python 也能用一两行写出看似“神奇”的实现,但放到工业环境里几乎不可维护、不可扩展。 竞赛代码和工程代码,本质上是两种完全不同的思维方式。 英文:Competitive Programming: Two Simple Tricks in C++ To Make Code Faster

一个月考过四个初级微软计算机证书: 云+AI+数据+安全

2026-02-13 07:11:52

[caption id="attachment_71003" align="alignnone" width="1382"]微软证书/升级打卡 微软证书/升级打卡[/caption] [caption id="attachment_71002" align="alignnone" width="2048"]微软证书/升级打卡 微软证书/升级打卡[/caption]

一个月拿下 4 张微软证书:云、AI、数据、安全

上一两个月里,我在一个月之内考过了四个微软的初级证书,分别对应计算机的四大方向:云、AI(人工智能)、数据和安全。 毕竟干码农也十几二十年了,除了做了几套练习题外,基本没有系统复习,所以整体来说考得还算轻松。 我是去年十一月左右,偶然在公司内部的一个学习频道里看到考证的信息。微软员工考自家的证书(和其他大厂,比如 AWS 一样)是免费的。 这种“薅羊毛”的机会,我怎么可能错过?一件事情如果同时有好几个好处,我一般都会去做。考证这件事正好满足:
  • 免费(公司报销 / 内部 voucher)
  • 有明确目标,能推动自己系统学习
  • 简历上更好看
  • 对知识结构做一次系统性梳理

微软证书体系结构

微软证书大致分三个等级:
  • Fundamentals(初级,通常是 -900 系列)
  • Associate(中级)
  • Expert(高级)
我这次考的四张都是 初级/Fundamentals 级别。 像 PL-900 这样的证书也属于 Fundamentals,不过对程序员/工程师的帮助相对有限(更偏业务应用),所以我没有继续考其他方向。

考试时间与题型

  • Fundamentals:总考试时间约 60 分钟,实际答题时间约 45 分钟
  • Associate / Expert:总考试时间约 2 小时,答题时间约 100 分钟
题型主要是选择题,包括单选和多选。

费用说明(更严谨版本)

微软认证考试是全球统一体系,但价格会因国家/地区不同而有所调整。 大致标准定价如下(以官方公开价格为参考):
  • Fundamentals:约 99 美元
  • Associate / Expert:约 165 美元
注意几点:
  • 在英国考试通常以英镑定价,不一定正好换算成 99 / 165 美元。
  • 实际价格取决于你注册考试时选择的考试区域。
  • 微软偶尔会有活动(例如 Ignite 赠送考试券),但不是常态。
  • 公司内部员工通常可以通过内部渠道免费考试(我就是这种情况)。

有效期与续证规则(重要)

这一块很多人容易搞混。

Fundamentals(-900 系列)

  • 永久有效
  • 不需要续证

Associate / Expert

  • 有效期 1 年
  • 在证书到期前 6 个月内可以免费在线续证
  • 续证是在线评估(无需去考试中心)
  • 不需要重新参加完整考试
也就是说,中高级证书不是“永久一次考完”,而是需要每年维护。

考试地点选择

我这四次考试都是去考试中心考的:
  • 两次在 Peterborough
  • 两次在 Bedford
剑桥没有考点,这两个算是离我最近的:
  • Peterborough:单程开车约 45 分钟
  • Bedford:大约 40 分钟
虽然可以选择在家考试(在线监考),但流程比较严格:
  • 必须提前下载安装考试软件
  • 全程摄像头监考
  • 房间内不能有任何其他物品(书籍、纸张等)
  • 监考人员可能会要求你转动摄像头检查环境
对我来说,直接去考试中心反而更省事。

个人感受

这四张证书对我来说,不是为了“证明我会”,而是一次系统性复盘。 平时工作中很多知识是碎片化的:云架构、AI 服务、数据处理、安全模型。考证的过程,相当于把这些碎片重新结构化了一遍。 免费的学习动力 + 明确的目标 + 可量化的结果,是一个非常不错的组合。 微软证书:
Code 领域 证书名 证书编号 获得日期
AI-900 人工智能/AI Azure AI Fundamentals 7Z9DA9-388866 2025年12月19日 (大纲)
DP-900 数据/Data Azure Data Fundamentals CD4244-E236BG 2025年12月19日 (大纲)
SC-900 安全/Security Security, Compliance, and Identity Fundamentals B6A851-BECO96 2026年1月13日 (大纲)
AZ-900 云/Cloud Azure Fundamentals B6FAD6-2S7125 2026年1月16日 (大纲)

持续学习的能力

报了考试,就有动力学习,也会逼迫自己每天学习。每天学习1小时,打鸡血!复利的作用/Compound Effect。 考证的目的是让自己变得更强,让自己变得更值钱,听说考完证更容易升职或找工作,也不知道是不是真的。 已经报了AI-102和AZ-204,希望自己一切顺利! [show_file file="/var/www/wp-post-common/justyy.com/exams.php"]

延时满足: 带娃刷题第365天

2026-02-12 05:04:37

带娃刷题 第365天 反转字符串中的字母和特殊字符/双指针算法。不知不觉一年过去了。刷题的意义,从来不只是刷完力扣上的题,更重要的是逻辑训练、数学思维,延时满足以及坚持学习的能力。 这一年,也见证了孩子的成长,希望能为他提供更多可能。继续加油 💪 二娃现在的水平估计就是简单,能自己动手写写,相比一年前已经进步很多了。大娃平时自己也刷。 娃今年搞了个机械键盘,Made in China的,他很喜欢,有了机械键盘的加持,感觉他更有写代码的范了。 [caption id="attachment_70986" align="alignnone" width="945"]每天带娃刷题 坚持一年。收获颇多 每天带娃刷题 坚持一年。收获颇多[/caption] [caption id="attachment_70984" align="alignnone" width="1536"]娃的工作站 娃的工作站[/caption] [caption id="attachment_70982" align="alignnone" width="2048"]iPad工作站 iPad工作站[/caption] [caption id="attachment_70981" align="alignnone" width="2048"]娃生日挑了三个设备:机械键盘、鼠标、还有一个iPad架子 娃生日挑了三个设备:机械键盘、鼠标、还有一个iPad架子[/caption] 坚持学习,复利的力量。 [caption id="attachment_70993" align="alignnone" width="2048"]带着弟弟刷力扣一年了/每天坚持打卡,学编程最快的方法就是敲代码。 带着弟弟刷力扣一年了/每天坚持打卡,学编程最快的方法就是敲代码。[/caption] [caption id="attachment_70995" align="alignnone" width="1920"]每天Ring安全摄像机记录了弟弟的刷题学习成长。 每天Ring安全摄像机记录了弟弟的刷题学习成长。[/caption] [show_file file="/var/www/wp-post-common/justyy.com/leetcode.php"]

装修: 院子里搭建了一个小木屋/储藏间

2026-02-11 04:50:13

这次房子翻新,在院子里新建了一个小木屋,用作储藏间。 刚来剑桥那会儿,买了人生中第一套房子(2015 年),当时花了七八百英镑配了一个现成的小木屋,质量只能说一般。记得那时是去店里挑选,量好尺寸,约好安装时间。安装当天工人来得很快,没花多少功夫就搭好了,我当时的感觉就是——像搭积木一样简单。 后来小木屋里堆满了杂物,越来越乱。一直到搬家的时候才发现,里面居然有一只死老鼠,已经风干了,地上还有不少老鼠屎,现在想起来都一言难尽。 这次的院子比较大,原本放了一个蹦蹦床。疫情那两年孩子还小,在家时间太长,总得有地方活动活动,只能在院子里跳一跳。后来孩子大了,蹦蹦床的利用率也越来越低,于是就在 Facebook Market 上挂了个广告,5 英镑让两个波兰人上门拆走了。想想还有点唏嘘——当年我和媳妇可是花了三个多小时才把它拼好的。 这次装修工程量比较大,原来的车库改成了办公室,里面的东西就得另找地方安置,于是干脆先建了这个新的小木屋。师傅做工很细致,地面是水泥砖,防水性很好;还把阳光房的一扇门拆下来,移过去当储藏间的门,算是废物利用了。储藏间还留了一个小窗户,不过不能打开,也就是看看采光而已。 更巧的是,原来厨房拆下来的台面和柜子也都能继续利用。要是这个窗户能打开,再从主屋接一根电线过来,其实完全可以当成一个小型学习或娱乐空间了。 [caption id="attachment_70957" align="alignnone" width="1077"]储藏间都是一些平常用不上的东西,也舍不得断舍离,就先放这里吧。 储藏间都是一些平常用不上的东西,也舍不得断舍离,就先放这里吧。[/caption] [caption id="attachment_70959" align="alignnone" width="2048"]原来院子这里放了一个很大的蹦蹦床。 原来院子这里放了一个很大的蹦蹦床。[/caption] [caption id="attachment_70960" align="alignnone" width="2048"]装修开工第一天 装修开工第一天[/caption] [caption id="attachment_70961" align="alignnone" width="2048"]装修开工第一天 装修开工第一天[/caption] [caption id="attachment_70962" align="alignnone" width="2048"]储藏间两三天就搭起来了 储藏间两三天就搭起来了[/caption] [caption id="attachment_70963" align="alignnone" width="864"]储藏间的地板一定得做好/防湿 储藏间的地板一定得做好/防湿[/caption] [caption id="attachment_70964" align="alignnone" width="2048"]储藏间就是这么搭起来的 储藏间就是这么搭起来的[/caption] [show_file file="/var/www/wp-post-common/justyy.com/house-renovate.php"]