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

 

posted @ 2026-06-22 20:01  黄增松  阅读(23)  评论(0)    收藏  举报