惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
The GitHub Blog
The GitHub Blog
M
MIT News - Artificial intelligence
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
H
Help Net Security
Engineering at Meta
Engineering at Meta
Microsoft Security Blog
Microsoft Security Blog
阮一峰的网络日志
阮一峰的网络日志
J
Java Code Geeks
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
C
Check Point Blog
F
Fortinet All Blogs
腾讯CDC
博客园 - Franky
WordPress大学
WordPress大学
U
Unit 42

News Hacker | 极客洞察

Rockstar GTA 6 团队组工会:薪酬透明、灵活工时、反 crunch 古罗马公寓:日常、城市规划与沉浸式体验 AI时代的专家价值:验证、经验与大学角色 Chad Whitacre 退 tech 转离线:Home Depot、印刷杂志、东正教社区 本地 Git remote:共享、隔离与 GitHub 误解 AI只该做琐事,别替代人情与创作 AISlop:检测 AI 生成代码坏味道的多语言 CLI 英国低价值采购系统:每月零申报的官僚负担 郁金香狂热:泡沫神话与理性争议 用 LLM 写代码,也要让人比模型更累 AI会重演前端“失去的十年”吗? AI 编程提产却压缩思考,工程质量与协作承压 Cloudflare 多 agent AI 代码评审引发成本与流程争议 500K AI电影“戛纳首映”被质疑只是公关噱头 8×H200跑2B模型到3k tok/s,“标准GPU”标题引争议 防水夹克演化:材料回潮、帽兜变迁与AI争议 意大利人与荷兰人教学时共享手势本能 Claude Code 隐藏配置考古:文档滞后、版本易碎与自动执行争议 大众汽车用 client assertion 阻断 Home Assistant 接入 Zot 支持 Claude Opus 4.8,评论聚焦 Claude Code 计费与 harness 神秘 Hy3 LLM 在 OpenRouter 霸榜:便宜、刷量与隐私争议 佛州 Blue Origin New Glenn 静态点火爆炸,堪比 N1 联网汽车监控升级:数据售卖、监管失灵与断网自保 Blue Origin New Glenn静态点火爆炸,发射台损毁恐延一年 住宅建造为何难规模化:地段、法规、偏好与收入 十种基础云:观云分类、光学现象与云计算误会 据称被 Shopify 收购后,Garnix 关停并开源 Bot Company疑借Airbnb私测家务机器人,致房屋受损 Coalton:Common Lisp 上的静态类型 Lisp,讨论集中在上手与类型建模 ktx:面向 data agents 的开源可执行上下文层,自动生成语义层与业务 wiki
回看1994年 Microsoft 实习面试四题:C 字符串、CGA 画图、圆...
2026-06-01 · via News Hacker | 极客洞察

🎯 讨论背景

这篇文章回顾的是 1994 年 Microsoft(微软)实习面试中的四道编程题,场景还停留在 90 年代的 C 语言和 DOS 图形时代。评论区把题目补成了更完整的背景:有字符串拷贝、基于 CGA(Color Graphics Adapter,早期 PC 图形标准)的低色深图像处理、以及在像素网格上画圆。有人补充说当时常见的参考书是 K&R(经典 C 教材《The C Programming Language》),而 Borland Turbo Graphics(Borland 的 DOS 图形函数包)这类工具会直接影响解题思路。讨论里反复出现的 pitch、索引色和整数画圆算法,说明这套题依赖的是旧式底层图形知识,而不是今天常见的 LeetCode 式刷题经验。

📌 讨论焦点

老式面试与时代记忆

评论区充满了 90 年代的怀旧感:有人回忆当年会带着装着作品的 floppy disk 去面试,直接要求别做测验,而是看实际代码。还有人用“这真是很久以前”的口吻调侃,甚至把 floppy disk 和今天的软件图标联系起来。另一些人提到自己当年在游戏开发里经常写这种底层代码,后来很多年都不再碰,说明编程实践的重心确实慢慢变了。也有人说 AI 让这种变化比过去任何时期都更陡,而自己在 1997 年的 Microsoft 面试里甚至根本没被问到编程题。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6]

C 字符串题与安全边界

字符串拷贝题被当成典型的 C 基础题。几个人直接用 `K&R` 里的经典写法来回答,认为只要不是简单调用 `strcpy()`,本质上就是考察循环、指针和终止符。也有人提醒真正的坑在于源地址和目标地址可能重叠,这时就不是 `strcpy` 语义,而要考虑 `memmove`。还有人觉得最好的面试回答不是盲写代码,而是先质疑题目本身:如果场景里不该直接用 C 字符串,那就应该明确说“不”。也有人强调 `strcpy` 至今仍是标准库的一部分,只是现代安全工具更容易检查边界。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10]

CGA / pitch / flood fill 这些旧图形前提

图形题的讨论几乎是在补 90 年代 PC 图形环境的课。有人解释所谓“2 bits per color”其实对应 CGA 的 4 色索引色模式,不是现代人熟悉的 RGB 每通道。`pitch` 也被说明为每一行像素起点之间的字节跨度,也就是写图像缓冲区时常见的 stride。还有人提到 Borland Turbo Graphics 这类 DOS 图形包在当年很常见,所以不少图形原语今天看起来冷门,但在当时却是实战知识。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12]

圆形绘制:从朴素法到 midpoint 算法

画圆题是争论最集中的部分。有人先想到用 trig 扫角度,也有人直接想到按 `x` 逐步找最接近圆周的 `y`,但评论里更多人强调 90 年代无 floats 的前提下,整数增量法才像是预期解。讨论里频繁出现中点画圆算法和 Bresenham 式对称性:先算一个八分之一圆,再镜像到其他七个方向,可以避免空洞和重复计算。也有人指出题目其实有点欠明确,如果允许 `draw_line()`、lookup table 或更宽松的预计算,解法会轻松很多。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12]

这到底是好题还是背答案题

更大的分歧在于:这到底是好问题,还是只会考“背答案”的题。支持者认为它能看出候选人如何从朴素解法逐步优化,能不能在陌生约束下继续推进,而不是只会报出一个教科书算法。反对者则担心,能瞬间背出最优解的人未必更强,反而像是记忆型信号;对很多白板任务来说,能把思路讲清楚已经比一次性写对更重要。还有人用今天的 Microsoft 招聘做对照,说现在更多候选人是在刷 LeetCode、写 Python 或 managed C#,和当年的低层 C/图形题已经不是同一套能力模型。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7]

📚 术语解释

CGA: Color Graphics Adapter,早期 PC 图形标准之一,常见于 4 色或有限调色板模式。

pitch: 图像缓冲区中相邻两行起点之间的字节跨度,也叫 stride。

indexed color: 像素值存的是颜色索引而不是直接 RGB,适合低色深图像。

strcpy/memmove: C 里字符串/内存复制的经典 API,对比重点是是否允许内存重叠。

midpoint circle algorithm / Bresenham circle algorithm: 用整数增量和八分对称高效绘制圆的经典栅格化算法。