ios开发工程师面试 关于cursor和claude 会问什么
明白了,你是想问面试中关于使用 Cursor、Claude Code 等 AI 编程助手的考察点,而不是机器学习本身的题。这块2026年大厂 iOS/移动端面试已经比较常见了,主要考察你对工具的理解深度和使用方法论,整理如下: 🤖 iOS 面试中 Cursor / Claude Code AI 工具高频问题 一、基础使用与工具选型(几乎必问) • 你平时开发中用过哪些 AI 编程工具?Cursor 和 Claude Code 的区别是什么? - Cursor:AI-first IDE,深度集成 Xcode/VSCode 环境,适合 inline 补全、Cmd+K 局部修改、Composer 多文件联动,日常写业务代码、UI、单元测试首选。 - Claude Code(CLI):终端交互,上下文窗口大,适合读整个工程、梳理调用链、分析崩溃日志、跨文件重构、写脚本,偏"任务级 Agent"。 • 加分答法:Copilot 做实时补全,Cursor 做文件级修改,Claude Code 做模块级理解与重构,按任务粒度选择。 - 你们团队对 AI 工具有什么规范?敏感代码能贴给 AI 吗? 答:核心鉴权/加密/支付逻辑禁止送外网 AI,使用私有化部署或仅本地模型;配置 .cursorignore 排除敏感目录;AI 生成代码必须人工 Review + 单测覆盖后才合入。 二、工程实践与 Prompt 技巧(中级追问) • 你怎样让 Cursor / Claude Code 更好理解你的 iOS 项目? • 写 CLAUDE.md 或 .cursorrules,声明 Swift 版本、UIKit vs SwiftUI 偏好、架构模式(MVVM-C/RxSwift等)、命名规范、禁止修改的文件。 - 先让它读 Podfile + 核心 Module 生成项目结构文档,作为后续对话上下文。 • 新任务开新对话防上下文污染,关键约束放最新消息里。 • 举一个用 Claude Code 或 Cursor 解决实际问题的例子?(STAR 回答) 例:老 OC 项目混 Swift,让 Claude Code 分析 Delegate 调用链定位野指针崩溃;或用 Cursor Composer 批量给 Network Layer 加 async/await 包装并同步改调用方。 - 怎么验证 AI 生成代码的正确性? 不只看能否编译——写单测(正常/边界/异常输入)、跑 Instruments 查内存泄漏、人工 Review 线程安全与回调时机,尤其 Swift 的 actor/MainActor 标注是否缺失。 三、进阶/开放题(大厂高级/iOS 资深岗) • MCP 是什么?你用过哪些 MCP Server? MCP(Model Context Protocol)让 AI 工具连接外部数据源/工具(文件系统、Git、数据库、Jira 等)。可以说用过 Filesystem/Git/Brave Search MCP,让 Claude Code 直接读工程结构或查文档。 - AI 编程工具最大的风险是什么?怎么规避? 能力退化(关键逻辑要手敲理解)、架构失控(AI 引入不必要抽象层)、安全漏洞(SQL注入/XSS/硬编码 key)——对策是强制 Code Review、SAST 扫描 CI 集成、敏感模块禁 AI 生成。 - AI 会取代 iOS 开发吗 / 未来 iOS 工程师的核心竞争力? 不取代但改变——搬砖(样板代码/CRUD/单测)效率提 50%+,核心竞争力转向:系统级设计(App 启动优化/卡顿治理/组件化)、复杂业务建模、性能稳定性治理、精准 Prompt + AI 输出判断力。 💡 回答建议 • 普通 iOS 高级岗:重点准备「工具区别 + 项目中的实际使用案例 + AI 代码如何 Review」,别只说"好用"。 • 大厂/资深/iOS 偏架构岗:补充 CLAUDE.md/.cursorrules 写法、MCP 认知、上下文管理、团队规范。 - 如果被要求现场用 Cursor/Claude Code 写个小功能(部分公司现操),重点是看你怎么拆需求写 Prompt、怎么审 AI 输出的边界 case,而不只是结果跑通。 需要我给你一份Cursor .cursorrules iOS 项目模板或Claude CLAUDE.md 示例方便你背下来跟面试官聊吗?
.cursorrules 示例
--- description: iOS Swift Project Coding Rules globs: ["**/*.swift"] alwaysApply: true --- # iOS Project — Cursor Rules ## Tech Stack - Language: Swift 5.9+, minimum iOS 15.0 - UI: SwiftUI primary, UIKit only when necessary - Architecture: MVVM (View -> ViewModel -> Service/Repository) - Concurrency: async/await, Actors; no callback hell - Package Manager: SPM only (no CocoaPods) ## Coding Conventions - Prefer `guard` for early return; NO force unwrap (`!`) - Use `final class` for ViewControllers; `@Observable` for ViewModels (iOS 17+) - All closures capturing self must use `[weak self]` - Naming: UpperCamelCase for types, lowerCamelCase for vars/methods - 2-space indent, max line length 120 ## UI Rules - SwiftUI: extract subviews if body > 40 lines; use `NavigationStack` not `NavigationView` - UIKit: AutoLayout code-only preferred, no Storyboard for new screens - Use SF Symbols; respect Dynamic Type & Dark Mode ## Restrictions (Hard No) - Do NOT introduce new architecture patterns (RxSwift/Combine) unless asked - Do NOT put business logic in Views/Layer - Do NOT modify `.xcodeproj` file manually - Do NOT hardcode API keys / secrets — use xcconfig or Keychain ## AI Behavior - Make minimal, localized changes — ask before large refactors - Run build/test commands via user; don't auto-execute xcodebuild - Add brief // why comments for non-obvious logic
在北京的灯中,有一盏是我家的。这个梦何时可以实现?哪怕微微亮。北京就像魔鬼训练营,有能力的留,没能力的走……

浙公网安备 33010602011771号