🎯 面试流程 Checklist — 小厂 VR/CAVE 程序实习生
目标公司: 沉浸式交互 CAVE 小厂
岗位: Technical Engineering Programmer (Intern)
面试轮次: 小厂通常 1-2 轮(HR 初筛 + 技术面/创始人面合并)
📅 Phase 0: 面试前 3-5 天 — 准备期
🔍 公司与岗位研究
- 公司官网/社媒:了解最新项目案例、团队规模、合作客户
- CAVE 技术背景:理解什么是 CAVE 系统(多面投影、追踪眼镜、传感器交互)
- 产品受众:记住 4 类用户群——Special Needs / Elderly / Youth / Education
- 技术栈:Unity、Unreal Engine、3DSMAX、C#、ESP32/Arduino 传感器
- 岗位职责:产品开发 > 软件开发 > 演示汇报 > 测试(记住优先级)
💻 技术准备
- C# 核心概念复诵(对着镜子说,每条控制在 1-2 分钟):
- Class vs Struct(引用类型 vs 值类型,GC 影响,Unity 中 Vector3 为什么是 Struct)
- GC 工作原理(Gen 0/1/2,VR 90FPS 下如何避免 GC spike)
- async/await vs Unity Coroutine(区别、UniTask、ConfigureAwait)
- Interface vs Abstract Class(什么时候用哪个,给具体例子)
- Observer 模式 / Event System(解耦、Unity 中 ScriptableObject 事件)
- IEnumerable vs List、LINQ 陷阱(延迟执行、Update 里别用 LINQ)
- C# 快问快答:
-
using语句 -
constvsreadonly - Delegate、Action vs Func
- Generic constraint
- String vs StringBuilder
- NullReferenceException 预防
-
- Unity 基础(不要求项目经验,但至少能说):
- MonoBehaviour 生命周期(Awake → OnEnable → Start → FixedUpdate → Update → LateUpdate → OnDisable → OnDestroy)
- ScriptableObject 是什么、为什么用它
- Prefab、Scene、GameObject-Component 模型
- VR 性能优化(能说出策略即可):
- 90 FPS = 11.1ms/frame 预算
- CPU 端:Object Pooling、缓存 GetComponent、避免 Find()、Job System + Burst
- GPU 端:Draw Call Batching、LOD、Occlusion Culling、Single-Pass Stereo
- VR 特有:Fixed Foveated Rendering、ASW/Motion Smoothing、减少后处理
📖 STAR 故事背熟(每个准备 60s 精简版 + 2min 完整版)
- 故事 1: Online Exam Platform → 用来说明 C# 深度、OOP 架构、自学能力
- S: 12 周从零到交付
- T: 全栈考试平台,含角色认证、计时考试、自动评分
- A: 拆解学习(先学文档→做原型→读 GitHub 项目→迭代开发)
- R: 50+ 并发考试、4 级难度评分、讲师评价最高之一
- 故事 2: Flood Detection (PIC16) → 用来说明嵌入式经验、实时系统思维
- S: 课程项目,需要多传感器数据融合
- T: 用受限硬件实现可靠水位检测
- A: C 语言寄存器级编程、中断处理、SuperCom 调试
- R: 融合超声波+红外传感器,最小化误报
- 故事 3: Smart Bakery (IoT) → 用来说明软硬件打通、移动端+硬件整合
- S: 需要远程监控面包房环境
- T: Flutter 手机端 + 树莓派后端
- A: 800ms 实时轮询、乐观 UI、局域网自动发现、分层架构
- R: 打通移动端-网络-硬件三层
- 故事 4: 平面设计实习 → 用于回答「为什么实习是设计不是编程」
- S: 编程实习对文凭生竞争激烈
- T: 积累职场经验的切入点
- A: 1 年 deadline 纪律、创意迭代、视觉素养、跨部门沟通
- R: 职场软技能 + 独立完成 4 个编程项目 = 完整能力包
- 故事 5: AI LoRA 训练 → 展示自学能力和前沿技术嗅觉
- S: 自学 AI 模型训练
- T: 训练 SDXL LoRA 模型
- A: 自建数据管道(标注+增强)、10 个模型
- R: 证明跨领域自学能力
🎤 自我介绍打磨
- 英文版 2 分钟精简(对着手机录音,听回放调整):
- 开场:名字+学校+专业+毕业时间 (15s)
- 为什么对这个岗位感兴趣:编程×创意×硬件交汇点 (15s)
- 能力匹配:C#/Unity 可转移 → UI/UX 项目 → 硬件桥接 (60s)
- 收尾:我为什么想来 + 期待深入了解 (20s)
- 中文版备用:匹配英文版节奏,关键术语保留英文
🖥️ 屏幕分享 & 项目作品集展示准备
小厂面试常要求分享屏幕展示作业/项目——这是你最强武器。别人只能嘴说,你能直接亮代码和运行效果。
展示项目排序(按面试说服力排)
| 优先级 | 项目 | 展示什么 | 时长 |
|---|---|---|---|
| ⭐1 | Online Exam Platform (Blazor/C#) | 代码架构 + 运行效果 | 3-4 min |
| ⭐2 | Smart Bakery (Flutter/IoT) | 移动端 UI + 硬件通信逻辑 | 2-3 min |
| ⭐3 | Flood Detection (PIC16/C) | 代码片段 + 原理图/照片 | 1-2 min |
| ⭐4 | AI LoRA Training (可选) | 数据管道 + 生成结果截图 | 1 min |
每个项目要展示的东西
-
Online Exam Platform — 准备清单:
- 确保项目能跑:提前
dotnet run测试,确认数据库连接正常 - IDE 打开关键文件(预先开好 tab,按以下顺序):
- 项目目录结构(展示 Clean Architecture 分层:Models / Services / Pages / Data)
- 一个 Service 类(如
ExamService.cs)——展示依赖注入、接口设计 - 一个 Entity/Model(如
ExamQuestion.cs)——展示 OOP 设计 - 数据库 Context(
AppDbContext.cs)——展示 EF Core 配置
- 运行效果截图/录屏备份(万一跑不起来):
- 学生考试界面(计时 + 答题)
- 自动评分结果页
- 管理员后台仪表盘
- 讲述脚本 (3 min):
[开项目目录] "这是我在 12 周内从零搭建的全栈考试平台,Blazor C# + SQL Server。 代码按 MVC 分层——Models/Pages/Services/Data,每个层只做一件事。 [打开 ExamService.cs] "核心逻辑在 Service 层,所有依赖通过接口注入——比如 IExamRepository 注入 ExamService。我写完这 5000 行代码后最大的体会是: 接口不是为了面试背概念用的,是为了你不改别人的代码也能加新功能。 [打开数据库 Context] "数据库用 Entity Framework Core,我写了 migrations 来管理 schema 变更。线上考试的数据一致性很关键——我用了事务来保证 提交答案和自动评分的原子性。" [展示运行效果/截图] "最终成果:支持 50+ 并发考试、4 级难度自动评分、 邮件验证、成绩分析仪表盘。讲师评价为最强提交之一。" - 标注 1-2 个你觉得写得最好的代码片段(面试官可能让你现场讲解某段代码)
- 确保项目能跑:提前
-
Smart Bakery — 准备清单:
- Flutter 项目能在模拟器/手机上跑
- IDE 打开关键文件:
lib/main.dart入口 + 路由- 传感器数据拉取逻辑(展示 800ms polling + 乐观 UI)
- 网络层——局域网扫描 / HTTP 通信
- 树莓派 Python 后端代码(如果有)
- 运行效果截图/录屏备份:
- 实时温湿度仪表盘
- 风扇/蜂鸣器控制界面
- App 发现设备的流程
- 讲述脚本 (2 min):
[打开项目结构] "这是一个完整的 IoT 系统——Flutter 前端 + 树莓派后端, 通过 WiFi 局域网通信。架构分四层:api / models / screens / widgets, 这样 UI 改版时网络层不受影响。 [打开 polling 代码] "数据每 800ms 从树莓派拉一次。我实现了乐观 UI 更新—— 用户点按钮立刻看到反馈,而不是等服务器返回。这跟游戏开发的 responsive feedback 原则一样。 [展示运行效果] "这是实机运行画面——温度数据实时刷新,控制指令即时生效。 这个项目证明了我不只是写代码,我能把手机、网络、硬件打通成完整系统。"
-
Flood Detection — 准备清单:
- 准备材料:
- 核心 C 代码片段(传感器轮询、数据融合、中断处理)
- 硬件照片/连线图/原理图
- SuperCom 调试输出截图(证明你真的 debug 过底层)
- 讲述脚本 (1-2 min):
[打开代码片段] "这是 PIC16 上的 C 代码——368 字节 RAM,4MHz 时钟。 这个函数在定时器中断里轮询超声波和红外传感器,做数据融合来减少误报。 [展示硬件照片] "这是实物的连线——超声波和红外同时工作。为什么用两个传感器? 因为任何一个单独用都会误触发——超声波对软表面反射差,红外被水汽干扰。 两个互补才能可靠检测。 这段经历让我学到了:帧率不是游戏引擎才有的概念。单片机上的传感器轮询频率、 中断优先级、处理延迟——跟 VR 里 11ms 帧预算是一回事。都是硬实时约束。"
- 准备材料:
-
AI LoRA Training(时间允许才展示,或面试官问到时拿出来):
- 数据管道截图(标注+增强流程)
- 生成效果对比(原图 vs LoRA 输出)
- 一句话概括:「自建数据管道训练 10 个 SDXL LoRA 模型,全过程自己摸索的」
桌面环境整理(面试前必须做!)
- 干净桌面:
- 桌面图标清理到最少(或者全部隐藏)
- 壁纸用纯色/简洁(不要卡通/游戏/女友照片)
- 关闭不相关应用:
- 微信/QQ/Telegram/Discord → 关掉!弹消息会死
- 音乐播放器/视频 → 关掉
- 个人社交媒体 → 关掉所有 tab
- 浏览器准备:
- 只保留 GitHub(你的个人主页 + 项目 repo)和项目相关页面
- 关闭所有无关 tab(尤其是 YouTube / B站 / 个人社交)
- 书签栏整理干净
- 地址栏历史建议关闭(防止输入时弹出尴尬内容)
- IDE 准备:
- VS Code / Rider / Visual Studio 打开所有待展示项目
- 每个项目预先打开要讲的 3-4 个关键文件(tab 排好序)
- 关闭其他不相关项目的 workspace
- IDE 字体调大一点(分享屏幕时别人可能看不清小字)
- 状态栏/插件栏清理到最简
- 终端准备:
- 开一个新终端窗口,确保
cd到项目根目录 - 历史记录清掉或者不用担心(至少别显示 rm -rf / 之类的东西)
- 开一个新终端窗口,确保
- 文件管理器:
- 确认项目路径好找,不要翻半天文件夹
技术备份方案
- Plan A(理想):实时跑代码 + 展示效果
- Plan B(备份):预先录好 30-60s 的运行效果 MP4/GIF,放在同一目录
- Plan C(兜底):准备高清截图(全屏 1080p),至少每个项目 3-5 张
- Plan D(救命):GitHub README 里的截图——只要 GitHub 能打开你就有东西展示
- 所有备份文件放在一个文件夹,命名为
interview_backup,桌面建快捷方式
⚠️ 绝对不要展示的东西
- ❌ 包含个人隐私的文件/照片
- ❌ 只有骨架没有内容的半成品项目(除非你能讲清楚)
- ❌ 从教程复制粘贴但自己没理解的代码(面试官会让讲,讲不出来很致命)
- ❌ 混乱的 commit 记录(如 commit message 写 “asdf” / “fix” x100)
- ❌ 含敏感信息的配置文件(API key、数据库密码等)
- ❌ 盗版软件/破解工具
- ❌ 其他人的项目你 fork 了但没改过的
- ❌ 浏览器收藏夹里的奇怪内容
演示节奏与话术
- 面试官说「分享一下你的项目」时:
- ✅ “好的,我先从最有代表性的开始——一个全栈考试平台,5000+ 行 C# 代码。”
- ✅ 主动引导节奏:先说背景→展示代码→展示效果→总结收获
- ❌ 不要问「你想看哪个?」——你是导游,不是菜单
- 切换项目时:
- ✅ “考试平台展示的是我的全栈能力。下一个项目我想展示我的 IoT/硬件整合能力——一个 Flutter + 树莓派的智能系统。”
- ✅ 项目之间有逻辑串联(全栈 → IoT → 嵌入式 → AI),不要跳跃
- 遇到 Bug / 跑不动时:
- ✅ “这个 demo 环境可能跟开发环境有些差异——我准备了录屏效果,可以看一下实际运行的样子。”
- ✅ 自然切换到 Plan B,不要慌张
- ❌ 不要当场 debug 超过 30 秒——浪费时间 + 显得不专业
- 面试官追问某段代码时:
- ✅ 精准定位到那个函数/类,先讲设计意图再讲实现
- ✅ “这段代码我当时的选择是 X 而不是 Y,因为考虑到 Z……”
- 整体时间控制:
- 全部展示控制在 8-10 分钟内
- 如果面试官特别感兴趣,可以让某个项目延伸;否则按计划走
- 留至少 5 分钟给面试官提问/追问代码细节
📋 反问问题准备
- 技术方向(至少准备 3 个):
- “你们用 Unity 哪个版本?渲染管线是 URP/HDRP/Built-in?”
- “团队怎么做依赖注入?Zenject、VContainer 还是手动?”
- “VR 项目遇到过最头疼的性能瓶颈是什么?最后怎么解决的?”
- 团队与成长(至少准备 2 个):
- “新人 onboarding 是什么流程?会从修 bug 开始还是有入门项目?”
- “代码审查怎么做的?我很想从 senior 的反馈中学习。”
- 项目方向(至少准备 1 个):
- “目前有没有正在进行的、面向 special needs 或 elderly 的项目?我对这块特别感兴趣。”
🧳 后勤准备
- 确认面试时间、地点(线上/线下)、面试官名字
- 如果是线下:提前踩点路线,预留 30 分钟 buffer
- 如果是线上:提前测试摄像头、麦克风、网络;备好 Zoom/Teams 链接
- 装备:电脑+充电器、手机(开 GitHub)、纸质简历 2 份、笔记本+笔
- 着装:小厂一般 smart casual(整洁有领,不用西装)
🌅 Phase 1: 面试当天 — 临场准备
面试前 2 小时
- GitHub 打开:准备好 4 个项目 repo,确保 README 清晰
- 快速复习:看一遍 C# 核心概念的要点卡片(不要死记,理解逻辑)
- 状态调整:喝杯水、深呼吸、别喝太多咖啡(紧张+咖啡=手抖+话多)
面试前 30 分钟
- 到达现场 / 进入线上会议室:先到 5-10 分钟,不要太早(给面试官压力)
- 观察环境:线下看公司氛围(工位、设备、白板上的架构图);线上看背景
- 设备检查:关掉通知、静音手机、确保网络稳定
- 🖥️ 屏幕分享预检:
- 测试屏幕分享功能(Zoom/Teams/腾讯会议):确认对方能看到你的画面,不是黑屏
- 确认分享模式:选「分享整个屏幕」还是「分享单个窗口」——推荐单个窗口,切换应用不会露桌面
- IDE 已打开所有项目,要展示的 tab 按顺序排好(不要现场翻文件)
- 浏览器只保留 GitHub + 项目 README
- 关闭所有通知(Mac 开勿扰模式,Windows 开专注助手)
- 断开蓝牙耳机/音箱(避免屏幕分享把音频也切走导致听不到面试官说话)
- 手机静音 + 屏幕朝下放(即使线上也做,养成习惯)
- 心理暗示:这家是小厂,他们不是在找完美候选人,而是在找「能干活+好相处」的人。你展示代码的那一刻,已经赢了 90% 的候选人——因为他们只会说,你能亮出来。
🎬 Phase 2: 面试进行中
Stage 1: 暖场 & 自我介绍 (前 5 分钟)
- 寒暄自然:微笑、眼神接触、简短回应。不要急着进入「推销模式」。
- 自我介绍 (控制在 2 分钟):
- ✅ 从 C# 经历切入(这是他们最关心的)
- ✅ 串联项目经验到岗位需求(不要只是背简历)
- ✅ 结尾点明为什么对这个公司/领域感兴趣
- ❌ 不要说「我是学生,经验不多」
- ❌ 不要背诵(自然讲,允许小停顿)
Stage 2: 屏幕分享 — 项目展示 (8-10 分钟)
自我介绍结束后,面试官通常会说「分享一下你做过的项目吧」。这就是你的高光时刻。
启动分享
- 「好的,我共享一下屏幕」——回答干脆,不要犹豫
- **选择「分享单个窗口」**而非整个桌面(防止弹通知/切错应用)
- 第一个画面:IDE 打开的项目目录结构(让面试官第一眼看到你的代码组织能力)
展示顺序 & 节奏
- 项目 1: Online Exam Platform (3-4 min)
- 先展示项目目录结构(“这里是 Models/Services/Pages/Data 四层”)
- 打开 1 个 Service 类(“核心逻辑在 Service 层,通过接口注入”)
- 打开数据库 Context(“EF Core 管理 schema 变更”)
- 切换到运行效果或截图(“最终交付成果:50+ 并发、4 级评分”)
- 项目 2: Smart Bakery IoT (2-3 min)
- 展示 Flutter 分层目录(api / models / screens / widgets)
- 打开 polling 代码(“800ms 实时轮询 + 乐观 UI 更新”)
- 展示运行效果或截图(“手机端实时控制树莓派硬件”)
- 项目 3: Flood Detection (1-2 min)
- 打开核心 C 代码片段(“PIC16 中断驱动的传感器数据融合”)
- 展示硬件照片/示意图(“超声波 + 红外互补,减少误报”)
- 项目 4: AI LoRA(时间允许或面试官问到时,1 min)
- 展示数据管道 + 生成效果对比图
演示中的注意事项
- 讲解节奏:背景(15s) → 代码(60s) → 效果(30s) → WHY it matters(15s)。每个项目闭环。
- 面对屏幕,但偶尔看摄像头:让面试官感到你在和他交流,而不是自言自语
- 遇到代码跑不动:不慌,15 秒内切换到截图/录屏——“我准备了运行效果的截图”
- 面试官打断/追问:立刻停下来回答,不要坚持走完流程。追问 = 感兴趣,是好事。
- 收起屏幕分享:展示完毕后说”我先停止共享屏幕”,然后回到正常的面试对话
常见追问 & 应对
| 追问 | 应对 |
|---|---|
| 「这段代码为什么这样写?」 | 先讲设计意图,再讲实现。如果重来会怎么改进。(展示反思能力) |
| 「你这个项目中遇到最大的挑战是什么?」 | 结合 STAR 故事,挑一个具体的技术难题(如并发考试的状态同步、PIC16 内存溢出等) |
| 「团队做的还是你一个人做的?」 | 诚实回答(这些主要是个人项目)。如果是学校项目,说清楚自己负责的模块。 |
| 「代码我能看看 GitHub 吗?」 | “当然,稍后我把链接发给你。也欢迎随时看 commit 记录了解开发过程。“ |
Stage 3: 技术考察 (15-25 分钟,核心环节)
小厂技术面特点是实用导向:不问八股文,而是「你遇到这个问题会怎么解决」。
- C# 基础(一定会问):
- 准备好 Class vs Struct 的完整答案 + Unity 实例
- 准备好 GC 答案 + VR 帧率影响 + 优化策略
- 准备好 async/await vs Coroutine 对比
- OOP 设计:
- Interface vs Abstract Class + 游戏开发中的实例
- Observer 模式 / Event System
- 可能出现的现场题:
- 「设计一个 VR 物体抓取系统,你会怎么搭建代码架构?」→ 用组件化思路(HandTracker / Grabbable / HandPoseController)
- 「你之前没做过 Unity,MonoBehaviour 生命周期画一下?」→ Awake-Start-Update 顺序
- 不知如何回答时:
- ✅ 「这个我不太确定,但根据我理解的相关概念,我会这样去思考……」
- ❌ 不要说「我不知道」就停住
Stage 4: 行为面试 (10-15 分钟)
小厂特别看重「能不能融入团队」和「学习态度」。
- 高频问题 & 预备故事:
| 问题 | 用哪个故事 |
|---|---|
| 「你最大的项目是什么?」 | Online Exam Platform(C# 深度 + 全栈) |
| 「你做过硬件/嵌入式?对 VR 有什么帮助?」 | Flood Detection(实时思维 + 性能意识) |
| 「你实习是做平面设计,怎么转编程?」 | 平面设计实习故事(软技能 + 独立项目) |
| 「你没用过 Unity 凭什么胜任?」 | 自学轨迹 + C# 可转移 + 上手快 |
| 「你最大的缺点是什么?」 | 过度深入实现细节 → 现在先确认需求再写代码 |
| 「有经验的人也在申请,为什么选你?」 | 跨领域思维 + 无坏习惯 + 成长曲线陡 + cost-value ratio |
- 你的回答风格:
- ✅ 用 STAR 框架,但不要机械背诵
- ✅ 结尾给数据或结果(更有说服力)
- ✅ 如果面试官追问,自然扩展细节
- ❌ 不要每个问题都用同一个故事
Stage 5: 你问他们 (5-10 分钟)
小厂面试官期待你有问题——这说明你真的想了解,不是海投。
- 先问技术(体现专业度):
- 「你们用 Unity 哪个版本?渲染管线是 URP/HDRP/Built-in?」
- 「团队怎么做 CI/CD 和测试?」
- 再问团队(体现求职动机):
- 「新人 onboarding 流程是什么样的?」
- 「代码审查会怎么做?」
- 最后问项目(体现兴趣):
- 「目前做的项目里,技术上最有挑战的是哪个部分?」
- 不要问:
- ❌ 薪资福利(小厂 HR 面或 offer 阶段再聊)
- ❌ 「公司是做什么的?」(说明没做功课)
- ❌ 可以 Google 到的基础信息
Stage 6: 收尾 (2 分钟)
- 面试官说「还有什么问题吗」:简短再问 1 个,然后自然结束
- 结束时表达:感谢时间 + 再次强调对这个岗位的兴趣 + 期待后续
- 礼貌离开:线下面试离开时感谢接待你的人(不一定是面试官)
📬 Phase 3: 面试后 — 跟进
面试后 24 小时内
- 发送感谢邮件 (Thank-you note):
主题:Thank you — [你的名字] — [岗位名称] Interview Hi [面试官名字], Thank you for taking the time to speak with me about the [岗位] role. I really enjoyed learning about [提到一个面试中聊到的具体项目/话题]. After our conversation, I'm even more excited about the opportunity to contribute to [公司名字] — especially [提到一个你特别感兴趣的方面]. Please don't hesitate to reach out if you need any additional information. Best regards, [Your name] - 复盘记录:
- 回答了哪些技术问题?哪个答得不好?(查漏补缺)
- 面试官对什么话题反应积极?(二面可重点准备)
- 问了哪些问题?他们怎么回答的?(帮助你判断这家公司是否适合你)
等待期 (3-7 天)
- 1 周后没有回复:发一封简短跟进邮件
Hi [面试官名字], Just wanted to follow up on the [岗位] role interview from [日期]. I remain very interested in the position and would be happy to provide any additional information you might need. Thank you again for your time. Best, FENG YILANG - 继续准备:小厂可能还有二面(创始人/CTO),不要干等,继续刷 C# 题
⚠️ 小厂面试特别注意事项
| 小厂特点 | 你的策略 |
|---|---|
| 面试流程不标准化 | 灵活应对,可能临时加人、换地点、改形式 |
| 面试官可能是创始人/CTO | 不要只谈技术,也聊聊你为什么对这个领域有热情 |
| 看重「上手就能干活」 | 强调自学能力和短 ramp-up 周期(「我用 12 周从零到交付 Blazor 平台」) |
| 团队小,文化匹配很重要 | 展现好相处、愿意学、不挑活的 attitude |
| 可能当场给口头 offer | 冷静:先确认工作内容、实习期、是否有转正机会 |
| 不一定有 HR | 问薪资时注意方式(见 Stage 5),确认入职流程和材料 |
🚨 红线:绝对不能说/做的
- ❌ 「我没用过 Unity / 我没经验」(改成「我还没在 Unity 上发布过项目,但我研究了它的架构……」)
- ❌ 「那只是学校项目」(改成「那是一个我用 production 标准对待的学术项目」)
- ❌ 「我学得很快」(太虚,改成具体数字:「我用 12 周从零到交付全栈平台」)
- ❌ 「我会努力工作的」(太虚,改成「这是我的 GitHub,你可以看到提交记录,我持续交付而非截止日前赶工」)
- ❌ 「我不知道」(停住了)(改成「这个我不确定,但根据相关概念我会这样思考……」)
- ❌ 抱怨学校、老师、同学、前任雇主
- ❌ 问什么时候可以晋升 / 涨薪(这是 intern 面试)
- ❌ 面试中看手机(除非是展示 GitHub)
- ❌ 屏幕分享时:露桌面(用单个窗口分享);展示别人 fork 的项目当自己的;现场 debug 超过 30 秒;展示含 API key/密码的代码
✅ 最终检查清单
面试前一天晚上,逐项打勾:
- STAR 故事 4-5 个,每个有 60s 精简版
- 自我介绍(英文)对着镜子/录音练过 3 次
- C# 6 个核心概念能不看笔记讲出来
- Unity 生命周期、ScriptableObject、性能优化策略能说出来
- 准备了 5+ 个反问问题
- GitHub 项目 README 清晰,代码能打开
- 屏幕分享准备:
- 4 个项目按顺序排好(Exam Platform → Smart Bakery → Flood Detection → AI LoRA)
- 每个项目的 IDE 已预先打开关键文件 tab
- 每个项目有运行截图/录屏备份(存在
interview_backup文件夹) - 桌面清理干净,无关应用全关,通知全关
- 练习过至少 1 次「边讲解边滚动代码」的节奏
- 感谢邮件模板已准备好(面试结束后立刻发送)
- 面试时间/地点/方式确认无误
- 路线/设备已检查
- 着装已准备
最后的心态:你面试的是小厂 intern 岗。他们不是在找完美的 Unity 专家——因为那样的候选人不会来面 intern。他们在找的是:C# 扎实 + 学得快 + 跨领域(硬件/嵌入式/Al) + 好相处 + 对这个领域真有热情的人。这恰好就是你。Go kill it. 🚀
Immersive CAVE Programmer Intern Interview | May 2026