非 CS 本科转 SWE
数学、物理、商科、文科等非 CS 专业,自学了 3–12 个月编程,能做出小项目但不确定自己的水平离面试要求差多远,也不知道简历关怎么过。
● 转码 / 非 CS 人群路线
转码面试辅导面向非 CS 背景和跨岗位候选人:把 Coding 下限、CS 基础、项目可信度、System Design 和 Behavioral 证据按顺序补齐,走一条 8 周可执行的北美 SWE / AI Engineer 面试准备路线。
Who it's for
北美转码求职的共性不是「背景不行」,而是「证据结构没建好」:简历关讲不清为什么转码、Coding 轮次下限不稳、项目追问两层就空。本页按背景类型给出短板诊断和 8 周路线,不贩卖焦虑,也不承诺结果。
数学、物理、商科、文科等非 CS 专业,自学了 3–12 个月编程,能做出小项目但不确定自己的水平离面试要求差多远,也不知道简历关怎么过。
从 Data Analyst、金融量化、研究助理等岗位转到 SWE 或 Data Engineer,有 SQL 和数据分析底子,缺的是 Coding 下限和工程化项目证据。
从 ML 研究、数据科学或传统开发跨到 AI Engineer / LLM 应用方向,有模型使用经验但缺 RAG、Eval、工程化交付的完整项目表达。
在国内自学编程或转过行,准备在北美求职:英文面试表达、行为面(Behavioral)故事和简历英文表达都是额外要补的一层。
应届生和 New Grad / Intern 候选人的路线见New Grad / Intern 人群页,已有 Senior / Staff 经验的候选人见Senior / Staff Engineer 人群页,准备方式不能混用。
Starting diagnosis
转码面试辅导的第一步不是刷题,是诊断。四个测试 2 小时内完成,决定 8 周路线从哪里切入、哪些专项可以砍。
2 道中等题、每道 45 分钟、不查资料。能独立完成第 1 道 = 基础在线;两道都卡住 = 先走刷题路线打地基,8 周计划整体后移 2 周。
选一个做过的项目,用 5 分钟口头讲清:问题、方案、你的角色、结果。讲不出第二层细节的项目,暂时不放进简历。
10 道概念题(进程/线程、HTTP、SQL join、时间复杂度、树的遍历):对 8 题以上 = 基础可用;对 5 题以下 = 第 1–2 周必须补基础,不能直接刷题。
写下目标岗位(SWE / Data / AI Engineer)、可投入小时数和目标面试窗口。投入不足 15 小时/周时,8 周路线要砍掉 System Design 专项保住 Coding 主线。
诊断结果只有两个用途:决定 8 周计划的起点周次,和决定每周的时间分配比例。不用于判断「你适不适合转码」—— 能不能过面试取决于下限能不能补到,起点低 2 周和 8 周都能到,只是总时长不同。
Gap by background
转码 SWE 面试的评分点和科班一致,但不同背景的起点差异很大。这张表区分「8 周内可以补到面试下限」和「不能速成、要用别的策略绕」的部分。
| 相对优势 | 常见短板 | 8 周策略 | |
|---|---|---|---|
| 数学 / 物理 | 抽象思维和建模能力强,DP 和数学题上手快,研究岗迁移有优势 | 工程习惯弱:版本管理、测试、代码组织可能没系统练过,项目往往停留在 notebook 里 | 8 周可改善:把 1–2 个已有分析项目重构成带测试和 README 的工程化项目;不可速成:工程直觉,靠持续写代码积累 |
| 商科 / 文科 | 沟通表达和业务理解好,BQ 和行为面是天然优势,产品导向团队喜欢这类候选人 | 算法下限通常最低:数据结构和复杂度体系需要从零建,是四类背景里最吃时间的 | 8 周可改善:高频题型到「中等题能独立写完」;不可速成:到 Hard 题的熟练度,需要 3 个月以上持续刷题 |
| 数据 / 研究岗 | SQL 和统计基础扎实,Data Engineer / Data Science 方向迁移成本低,Python 熟练度高 | 工程化 Coding 偏弱(更习惯 pandas 而不是手写数据结构),系统设计几乎空白 | 8 周可改善:手写数据结构到面试下限 + 轻量 System Design;不可速成:大规模系统经验,用「了解组件作用」代替「做过生产」来讲 |
| 其他技术岗(运维 / 测试 / 前端) | 已有工程经验和生产环境常识,Debug 和排障能力强,简历关容易过 | 算法刷题习惯缺失,Coding 轮次是最大风险点;语言栈迁移(如 Go/Java 到 Python 或反之)需要适应期 | 8 周可改善:刷题到中等题稳定 + 语言栈切换;不可速成:语言生态的肌肉记忆,用目标语言重写 2–3 个旧项目加速 |
「8 周可改善」指的是从「不会」到「面试下限」,不是到「精通」。转码候选人的合理预期是:面试轮次里能稳定输出中等题、项目能扛住两层追问、基础概念不露馅——这已经是过线水平。
Project credibility
没有全职经验时,项目就是简历的全部技术证据。面试官对转码候选人的项目追问更细——因为项目是你唯一能证明工程能力的地方。
只放自己从头到尾参与过的项目。跟过教程的项目不算:能说出「哪一步卡住了、怎么排查的、最后为什么这么改」的项目才算。
每个主项目准备一张结构图:数据怎么流、每个组件为什么存在、当时还有哪些备选方案。画不出来的部分,就是追问会打穿的缺口。
有数据就量化(响应时间、数据规模、准确率);没数据就说清「验证过什么、没验证什么」。编造的数字在追问一层后必穿帮,比没有数字更伤。
每个项目预写 5 个追问并录音口述,回听只盯三件事:「我们→我」的切换、技术细节的准确性、有没有被自己卡住的地方。
深挖结构与追问模板见BQ 与项目深挖题型页, 讲稿组织模板见项目深挖模板, 方法论文章见项目深挖怎么准备。
CS fundamentals order
非 CS 转码面试里 CS 基础不是「加分项」,是 Coding 轮次的地基:数据结构不牢,刷题就是重复劳动。按这个顺序补,不要跳步。
数组、字符串、哈希表、栈、队列、树、图、堆;每类会写、会讲时间复杂度。这是所有算法题的地基,不牢后面全白搭。
双指针、滑动窗口、BFS/DFS、二分、前缀和、动态规划入门。按题型而不是按题量学,一个题型吃透再换下一个。
进程/线程、内存管理、HTTP、TCP、DNS。初级面试以概念追问为主(「什么是死锁」「HTTP 和 HTTPS 的区别」),不需要底层实现细节。
关系模型、索引原理、事务与隔离级别、join 和窗口函数。SWE 面试以概念为主,Data 方向则 SQL 是硬功夫,要能手写。
五步框架(需求 → 估算 → API → 存储 → 缓存/降级)走通 3–4 个常见场景。放最后是因为它依赖前四步的概念,前面没补完学设计只会背模板。
刷题题型优先级和题量下限见LeetCode 刷题路线 2026; 完整训练框架见System Design 准备路线(第 5 步的轻量设计方法)。
8-week roadmap
适用于诊断后确认「8 周可补到面试下限」的候选人。起点更低(诊断两项以下通过)就从 Week 1 多走 2 周; 起点更高(基础全过)可把 Week 5–6 压缩、提前进入模拟。每周 15–20 小时投入。
No fake experience
转码求职里最贵的错误是伪造经历。面试官见过大量转码简历,包装的痕迹在追问一层后全部暴露, 代价不是「这题没答好」,是整份简历的可信度归零。
简历上写「自研项目」「课程项目」「开源贡献」就是这些,不需要包装成「某公司工程师」。面试官追问「你们团队怎么分工的」时,编造的头衔是穿帮率最高的一层。
跟过教程的项目不写「主导设计」,个人项目不写「团队协作」。用「我完成了 X、验证了 Y」的句式,每一句都经得起追问。
没有全职经验时,刷题记录、开源 PR、技术博客、线上部署的小服务都是合法证据。面试官见过大量转码简历,真实 + 可追问永远比包装更值钱。
转码背景是事实,不是缺陷。面试里被问「为什么转码」时,用 30 秒讲清动机 + 1 个证据(项目或刷题记录), 不解释、不道歉、不夸大。自我介绍结构见面试自我介绍技巧。
Role routing
转码不只有 SWE 一条路。不同岗位对算法下限、项目类型和 CS 基础的要求差异很大,先选赛道再分配训练时间。
Case entries
8 周路线里每个阶段都有对应的深度文章。按当前阶段读,不要从头到尾按顺序刷。
从零基础到面大厂的题型优先级:先打哪些题型、每类的题量下限、怎么从「会做」到「稳定做对」。
查看文章 →非英语母语背景如何在英文面试里把沟通优势讲出来:自我介绍、BQ 表达和边写边说的结构。
查看文章 →把项目讲成 impact 故事:主线、取舍、量化与追问抗压,转码候选人的主项目按这个标准准备。
查看文章 →北美 SWE 面试从投递到 offer 的完整结构:每轮考什么、典型时长、常见失分点。
查看文章 →Behavioral 高频题与 STAR 框架,转码动机、失败复盘和跨团队协作故事的结构化写法。
查看文章 →窗口函数、留存、漏斗、归因高频题型,Data 方向转码候选人的 SQL 硬功夫清单。
查看文章 →30 秒、2 分钟、5 分钟三版模板:转码背景如何在前 30 秒讲清动机和证据,不陷入解释。
查看文章 →从投递到 offer 的完整路径:时间线、公司差异和每阶段的检查点。
查看文章 →Guides
把 8 周路线落到具体题型:Coding 拼下限、项目拼可信度、BQ 拼转码叙事、模拟拼状态。
轻量级五步框架:需求澄清、规模估算、API、存储、缓存与降级,转码初级岗的够用线。
查看指南 →STAR 故事库 + 追问框架:转码动机、失败复盘和跨背景协作故事的准备方法。
查看指南 →多轮 loop 的节奏管理:转码候选人在高压下最容易崩的表达和节奏问题。
查看指南 →按轮次拆的准备清单,对照勾选,避免临场才发现某个基础概念没补。
查看指南 →按「问题→方案→取舍→结果→重来」组织主项目讲稿,直接套你自己的项目。
查看指南 →1 对 1 实战模拟与复盘:按你的目标岗位和轮次还原面试压力,拿到明确的失分点。
查看指南 →Company hubs
本页是常青路线,不写具体公司的轮次细节。目标公司确定后,进对应公司攻略看轮次结构和题型信号 (不同团队可能不同,以实际邀请为准)。
FAQ
非 CS 转码面试的准备主线是「把可验证的证据补齐」,不是补头衔。分四步:先做起点诊断,用限时题和自述项目测出真实下限;再按背景类型补齐短板(算法下限、CS 基础、项目可信度、英文表达);然后 8 周按固定顺序训练——Coding 保下限、项目讲可信、基础知识补到位;最后用模拟暴露剩余问题。转码 SWE 面试的评分点和科班候选人一致:能做出、能讲清、能扛追问。
没有「只招非 CS」的公司,但有信号差异:大厂 SWE 主流岗位对背景的硬性要求不高,更看重 Coding 表现和项目质量,但同分情况下科班候选人会被优先考虑,所以非 CS 需要更强的编码下限来补偿。相对友好的入口有三类:一是中小公司和产品导向团队的初级 SWE,简历关更看技能匹配;二是 Data 方向(Data Engineer / Data Science),SQL 和分析能力可以替代部分 CS 背景;三是 FDE / Solutions 类岗位,重视沟通和快速交付,技术门槛和纯 SWE 不同。投递时用「技能对齐 JD + 项目证据」说话,不堆砌头衔。
必须补的是面试会直接考的:数据结构与常用复杂度、排序/搜索/哈希/栈队列、树的遍历、图的 BFS/DFS、字符串与双指针、动态规划入门。CS 基础里优先级高的是操作系统概念(进程/内存/并发)、网络基础(HTTP、TCP)、数据库(关系模型、索引、事务、SQL)。可以缓一缓的是:编译原理、计算机组成原理的底层细节、分布式系统的深度理论——初级 SWE 面试很少直接考。判断标准:这道题在电话面或 onsite 里出现的概率,决定它的补齐优先级。
可信度来自细节的可追问性,不来自项目头衔。三个要点:一是选真实做过的 1–2 个主项目,宁缺毋滥,能画出架构图、说出每个组件为什么存在;二是讲清「我」的部分:哪些是你设计的、哪些是你调试的、哪里失败了、重来会怎么改;三是量化能说的就说、不能说的说清验证边界,不要编数字。课程作业、自研工具、开源 PR、线上跑过的小服务都算项目,关键是准备到三层追问不卡壳。
初级转码候选人按「轻量级」准备即可:需求澄清 → 规模估算 → API 设计 → 存储选择 → 缓存与降级,能完整走一遍 3–4 个常见场景(短链接、图片上传、聊天、推荐流)。面试官对初级候选人的预期是「知道每个组件解决什么问题」,而不是分布式一致性深度。System Design 不是转码的第一优先级:先把 Coding 下限和 CS 基础补稳,再花 1–2 周做轻量设计。如果目标岗位明确写 senior,则另按 Senior 路线准备。
身份主要影响可投岗位、入职时间和雇主担保政策,不改变 Coding、项目、CS 基础和 BQ 的训练方法。一般 post-completion OPT 最多 12 个月;符合条件的 STEM 学位可申请 24 个月 STEM OPT extension,具体资格和时间线以学校 DSO 与 USCIS 最新规则为准。投递前应确认岗位是否接受当前工作许可、未来是否提供 sponsorship,并把身份到期日与招聘周期一起规划;策略上按是否需要未来 sponsorship 分两组:当前身份不需要未来 sponsorship 的候选人可以广投,同时覆盖不担保的岗位、remote 机会和中小公司;需要未来 sponsorship 的候选人,应优先确认公司与具体岗位的担保政策。身份与 cap 日历的对齐方法见 H-1B 面试策略 2026。身份问题属于投递策略,不在面试能力范围内,不要把准备时间花在焦虑上。