当前位置: 首页 > news >正文

我在创业公司面试里画了 MVVM。对方问“为什么”。我当场宕机。

我有一支技术全面、经验丰富的小型团队,专注高效交付中等规模外包项目,有需要外包项目的可以联系我

那场面试一点都不像面试。

没有八股题,没有“请自我介绍”。 只有一张桌子、一块白板,以及一句像聊天一样随口的:

“我们来设计一下 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技巧合集

http://www.cnnetsun.cn/news/100186.html

相关文章:

  • 高盐高铵根工业废水去除重金属
  • 某211高校讲师晒工资条,网友:公积金数额令人瞩目...
  • Nature Electronics 一种用于多模态皮肤信号监测的柔性触觉接口
  • 小鼠T细胞激活:如何系统解析其发育分化与免疫功能表征?
  • 基于springboot和vue的民航飞机票务管理系统设计与实现
  • 2025年12月-2026年4月,计算机领域涵盖的前言学术会议推荐!
  • 基于单片机的智能镜子系统设计(有完整资料)
  • 国产化替代SSD的标杆之路:天硕TOPSSD以自主可控存储解决方案重塑高端工业存储格局
  • EmotiVoice本地化部署优势:数据安全与响应效率兼得
  • 【Java毕设全套源码+文档】基于springboot的数据库课程在线教学系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 【Java毕设全套源码+文档】基于springboot的实验室安全考试系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 基于QT(C++)实现的翻金币游戏
  • 基于 Spring·Boot和 Vue 框架的校园快递代领系统设计与实现
  • NVIDIA设置疑难杂症诊所:万字终极实战指南
  • 边缘Agent的Docker监控实践(资源利用率提升90%的秘密)
  • 揭秘Docker Scout漏洞导出功能:如何快速获取镜像安全报告
  • 【云原生Agent资源调度实战】:Docker环境下高效分配CPU与内存的5大黄金法则
  • 增长有毒?流血三闯港股!希迪智驾带病叩钟:115亿市值撑得住“白条狂欢”吗?
  • 多模态Agent性能骤降?可能是Docker网络隔离没做好(附诊断清单)
  • 为什么你的Docker镜像总被攻破?:可能是扫描频率设置错了
  • 背胶条分类识别:基于计算机视觉的修复状态差异检测与质量评估系统
  • 【新】基于SSM的高校实验室管理系统【包括源码+文档+调试】
  • Python 爬虫实战:沪深 300 股票(下)—— 适当进阶!爬取往期批量数据
  • 超声波传感器:无人机低空飞行的“隐形守护者”
  • 我的服务器被被DDOS攻击了
  • Docker MCP 网关协议转换(企业级应用案例深度剖析)
  • 【编程实践】Windows + PySide6 + Matplotlib 绘图时 WinError 32 的完整排查与解决方案
  • 手把手教你实现生产者-消费者模型(条件变量版)
  • Tool-to-Agent_Retrieval:连接工具与智能体的统一检索框架,让大模型多智能体系统更高效
  • 【Matlab】matlab代码实现随机潮流计算