No. 03写出方案,说清取舍

技术面试练习:写代码、跑用例、讲清取舍

无需搭环境,就能为技术面试热身。选一道练习题,在浏览器里用 JavaScript 或 Python 作答、运行公开用例,再画出架构,像面对面试官一样讲清你的取舍。

早期体验期间免费,开始前先注册免费账号,无需银行卡。

示意画面:一段 Python 草稿及其公开用例。

01使用流程

如何使用

  1. 01

    选择练习题

    选择编程题和语言,动手之前先想清输入与边界情况。

  2. 02

    运行测试

    在浏览器中用公开用例运行代码,反复迭代直到通过。

  3. 03

    讲清取舍

    把方案带给面试官讨论,说明复杂度与设计上的取舍。

02适用场景

技术练习:适合谁,什么时候用

包含内容技术练习

  1. 01JavaScript 与 Python 直接在浏览器沙盒中运行,无需安装任何环境。
  2. 02运行公开用例,对照预期输出与实际输出。
  3. 03系统设计白板,用来绘制组件及其连接关系。
  4. 04保存草稿,再与面试官讨论你的方案。

适合谁

  • 准备编程面试、想快速得到反馈又不想搭本地环境的工程师和学生。
  • 能把题做出来,却讲不清复杂度和边界情况的候选人。
  • 想把编程题和系统设计草图放在一起练的人。

什么时候用

  • 技术面试前几周,每天做一次简短热身。
  • 用例全部通过后,练习面试官接下来可能追问的问题。
  • 系统设计面试前,画出组件和连接关系,再口头讲一遍。

03示例输出

一次公开用例运行

下面的题目和公开用例都来自练习室本身;结果由示例解法实际计算得出。

查找目标和 · Python示例

草稿 · 目标复杂度 O(n) / O(n)

def solution(nums, target):
    seen = {}
    for i, n in enumerate(nums):
        if target - n in seen:
            return [seen[target - n], i]
        seen[n] = i
    return []

公开用例 · 4/4

输入预期结果
[2,7,11,15], 9[0,1]通过
[3,3], 6[0,1]通过
[-2,4,6], 4[0,2]通过
[1,2], 9[]通过

AI 点评 · 节选

复杂度
时间 O(n),额外空间 O(n),与目标一致。
值得讨论的边界
重复元素,如 [3, 3]:先检查、后记录下标,因此同一个元素不会被使用两次。
追问
如果输入已经排好序,你会如何用 O(1) 额外空间解决?

示例:使用练习室真实的题目和公开用例运行;代码与点评节选为示意内容。通过公开用例并不代表对所有输入都正确。

04边界

技术练习:局限与说明

  • 题目数量不多,集中在哈希表、栈、区间、滑动窗口、缓存等常见题型,用于热身,而不是一个完整的题库。
  • 只会运行公开用例;全部通过并不代表对所有输入都正确。
  • 每次运行都有时间上限(JavaScript 约 2 秒,Python 约 3 秒);首次运行 Python 需要几秒钟加载 Pyodide 运行时。
  • AI 点评会指出缺陷、复杂度和边界情况并给出提示,但不会直接给你完整解法。

05常见问题

技术练习:常见问题

关于这个工具的具体问答,依据它的实际工作方式整理。通用问题请见首页。

阅读面试指南
01支持哪些编程语言?

JavaScript 和 Python。每道题都提供两种语言的初始代码,同一组公开用例在两种语言下都能运行。

02练习室会点评我的代码吗?

会,在你请求时进行。AI 点评会列出正确性风险及修复提示、你所提交代码的时间与空间复杂度、值得讨论的边界情况、可读性建议,以及面试官可能追问的一个问题。

03有系统设计白板吗?

有。你可以添加组件及其连接关系,随草稿一起保存,并把架构图一并交给 AI 点评。

06搭配使用

  1. 对话式 AI 模拟面试

    与善于追问的 AI 面试官完成三轮真实流程的模拟面试。问题围绕你的简历、岗位描述和目标公司展开,追问紧扣你的回答。

    4 位面试官R1–R3文字 · 语音
  2. AI 语音模拟面试

    与 AI 面试官实时语音对话,可以自然打断。面对真实通话,会议辅导只静默提示回答结构,从不代写答案。

    实时15–60 分钟
  3. 面试口语练习

    用英语或中文录下面试回答,查看估算语速、疑似口头禅与停顿,由 Fish Audio 语音识别完成转写。

    语速口头禅 · 停顿

早期体验 · 免费

今天,记下第一轮练习。

带上简历或岗位描述,或者只写下想要的岗位。从第一个回答开始,训练日志就会记录你的进步。