我有一支技术全面、经验丰富的小型团队,专注高效交付中等规模外包项目,有需要外包项目的可以联系我
那场面试一点都不像面试。
没有八股题,没有“请自我介绍”。 只有一张桌子、一块白板,以及一句像聊天一样随口的:
“我们来设计一下 App 的第一版。”
听起来应该很轻松。 但我一点都没轻松起来。
创业公司的面试,最阴的地方在于:它从不告诉你它在考什么。 它就坐在那儿,假装这是一次讨论,然后默默观察你怎么思考。
条件反射式回答
我们选了一个很简单的页面,没什么复杂交互。 我抬手画了个 View,又画了个 ViewModel,然后像所有 iOS 开发一样,说出了那句熟得像肌肉记忆的话:
“这里我们用 MVVM。”
面试官点点头。 停了一秒。 然后问:
“为什么用 MVVM?”
语气不凶。 也不质疑。 就像纯好奇。
但就是这种“纯好奇”,反而把我按在原地动不了。
我冻住了
我当然会 MVVM。 我用它用了好几年。 我用它上线过 App。 我在 Code Review 里还替它吵过架。
可那一刻我突然意识到一件很不舒服的事:
我从来没有被迫真正解释过它。
我的脑子像在搜索一个“听起来不像抄博客”的理由,结果搜出来的全是空白。
为什么这问题在创业公司面试里这么狠
大厂通常问你“你会什么”。 创业公司更爱问你“你为什么这么做”。
他们不在意:
苹果示例代码偏 MVVM
推特上大家都推荐 MVVM
你上三份工作都这么写 他们只关心一件事:
这个选择,是在帮我们更快上线,还是只是在让你自己安心?
于是那一秒,MVVM 突然不再是“显而易见的正确答案”。 它变成了一种需要被证明的成本。
我开始说话(然后开始错)
我张嘴了。 而这往往是灾难的开端。
我开始抛出那些熟悉的词:
“关注点分离”
“整洁架构”
“可扩展性”
面试官没有打断我。 这在创业公司面试里通常不是好事。
因为那种沉默经常意味着:
“听起来像背的。”
我忽略的上下文
这不是一个成熟产品。 这是V1。
他们脑子里想的是:
以“周”为单位上线,而不是以“月”为单位
可能会被推翻的功能
用户反馈回来之后需要大改甚至重写的代码 而我在干什么?
我在为一个“可能永远不会到来”的未来,提前搭架子、堆层次、抬成本。
我当时防守的不是系统,而是自己的习惯。
他们真正想测的是什么
他们不是反 MVVM。 他们测的是:我有没有判断力。
他们想听到的,可能更接近这种话:
“第一版我会先把逻辑放在 ViewController 里。 如果逻辑开始膨胀、或者测试变痛苦了,我再抽 ViewModel。”
这个回答背后暗含了几件创业公司非常在意的能力:
你有产品思维(先上线再优化)
你有成本意识(不过度设计)
你不怕重构(知道什么时候该拆) 在创业公司,这些比“画得干净的架构图”更值钱。
资深开发者的陷阱
经验有时候会害你。
在大代码库里待久了,模式会变成一种“负责的信仰”。 而选择简单,会让你本能觉得“这很不专业”“这很危险”。
但创业公司看法不一样:
过度架构会拖慢团队
多一层抽象就多一层摩擦
“很干净”的代码如果上线晚了,仍然是错的
那次面试之后,我怎么改了
我现在准备这种题,会换顺序。
我不先谈架构。 我先问问题:
我们要多快上线?
这个页面未来变化概率大吗?
谁负责维护?我走了以后谁接?
什么是“最简单但不会害我们”的方案?
只有这些问题有了答案,我才决定 MVVM 到底值不值得上。
最关键的是:我会练习把这种判断说出来。因为创业公司面试考的不是“你知道什么模式”,而是“你能不能解释你的权衡”。
那句能救命的一句话
如果能重来,我会这么答:
“MVVM 在逻辑变复杂之后很有价值。 在那之前,我会先保持简单,等它开始让人痛了再重构。”
这一句话,比任何花里胡哨的架构图都更显高级。
最后
我不是因为选了 MVVM 而失败。 我失败,是因为我在捍卫一个模式,而不是捍卫一个决策。
创业公司面试不奖励“完美架构”。 它奖励的是:判断力。
如果你看完这段故事觉得不舒服——很好。 那种不舒服,正是创业公司面试想制造的感觉。
全栈AI·探索:涵盖动效、React Hooks、Vue 技巧、LLM 应用、Python 脚本等专栏,案例驱动实战学习,点击二维码了解更多详情。
最后:
CSS终极指南
Vue 设计模式实战指南
20个前端开发者必备的响应式布局
深入React:从基础到最佳实践完整攻略
python 技巧精讲
React Hook 深入浅出
CSS技巧与案例详解
vue2与vue3技巧合集