在问 · 免费在线工具

AI 代码面试:在线模拟算法与编程面试

AI 面试官出题、看代码、追问,像真实的手撕代码环节。

登录后首次免费无需安装
代码会发送给 AI 阅读,不会实际运行。想真实判题?去题库练习 →

使用方法

  1. 选择编程语言和难度,可选填写想练的题型。
  2. 点击「开始面试」,AI 给出一道题。
  3. 在代码框里写出解法,可附上思路说明,然后提交。
  4. 回答 AI 的追问,最后点击「结束并生成评估」。

适用场景

这个工具模拟的是面试中的写代码环节,不是判题系统。它更关注你的思路、代码质量和复杂度分析,适合在刷题之外练习表达和应变。

  • 准备互联网公司的技术面试,想模拟手撕代码环节:边写边讲思路,再回答复杂度和边界情况的追问。
  • 平时刷题习惯提交后看判题结果,想练习在不能运行代码的情况下,一次写出正确的解法。
  • 某类题型比较薄弱,例如动态规划或二叉树,可以在「题型」里填写,集中练习。
  • 换一门语言参加面试,例如从 Java 换成 Go,想检查自己的写法是否规范。
  • 面试前想了解自己在问题理解、算法设计、编码质量等方面的大致水平。
  • 想熟悉不同难度的题目强度,可以在「简单」「中等」「困难」之间切换,先从能独立做出来的难度开始,再逐步提高。

示例输出

下面的示例来自一场虚构练习:语言选择 Python,难度选择「中等」,题型填写「哈希表」。这里截取出题、一轮点评和最终评估的部分内容。

每次提交后,面试官会按正确性、复杂度、改进方向的顺序回复。这道题解决后,会接着提出追问或下一道题。一场面试可以连续做几道题,最后的评估会覆盖所有题目。

面试官:
难度:中等。考察点:哈希表、前缀和。
题目:给定整数数组 nums 和整数 k,求和为 k 的连续子数组个数。
示例:nums = [1, 1, 1],k = 2,输出 2。
数据范围:1 <= nums.length <= 2 * 10^4。
你可以先讲思路,也可以直接写代码。

(提交双重循环的暴力解法后)
面试官:
1. 正确性:结果正确,负数元素的情况也能处理。
2. 复杂度:时间 O(n^2),空间 O(1),数据规模较大时可能超时。
3. 改进方向:考虑用前缀和,配合哈希表记录每个前缀和出现的次数。
追问:改用前缀和之后,哈希表的初始值应该是什么?

(点击「结束并生成评估」后)
面试评估:
综合评分:70 / 100。录用建议:可以进入下一轮,需加强优化意识。
维度评分:问题理解 4,算法设计 3,编码质量 4,复杂度分析 4,沟通 3。
每道题的表现:先给出暴力解,在提示后完成前缀和优化。
参考解法要点:前缀和加哈希表计数,时间 O(n)。
推荐练习的题型:前缀和、滑动窗口、哈希表计数。

注意事项

下面几点能帮你把一场代码面试练得更扎实。

  • 代码框和思路说明可以一起提交,也可以只填其中一项。先讲思路再写代码,更接近真实面试的流程。提交后,代码框里的内容会保留,方便根据点评修改后再次提交;思路说明框会清空。
  • 你没有主动要求时,AI 只给改进方向,不直接给出完整代码。想看参考写法,可以在说明里明确提出。
  • AI 对正确性的判断也可能出错,尤其是细小的边界问题。有疑问时,把代码放到本地,用空输入、极大值等用例跑一遍。
  • 每次提交的代码和说明合计最多 8000 字。只提交与本题相关的代码,不必附上大段测试代码。不要粘贴公司内部代码、密钥或账号信息。
  • 免费体验的一场面试最多可调用 16 次,出题、每次提交和最终评估各算一次。生成评估后本场结束,想再练请点击「重新开始」。对话轮次过多时,较早的内容可能不会再发送给 AI。一场练两三道题比较合适。
  • 难度和题型只是出题方向,具体题目由 AI 生成,可能和常见题库里的题相似,也可能不同。题目会给出输入输出、示例和数据范围。动笔前先看清数据范围,它决定了需要什么复杂度的解法。

常见问题

代码会运行吗?
不会。AI 只阅读你的代码并分析正确性和复杂度,不实际运行。想要真实判题,可以去在问题库练习。
代码会上传到服务器吗?
会。代码和说明会发送到在问服务器,由 AI 模型分析,不会公开展示。
怎么收费?
每个账号可以免费完成一次代码面试(包含若干轮问答和最终评估)。免费次数用完后,按在问积分计费。
代码框里能用 Tab 缩进吗?
可以。按 Tab 插入 4 个空格,选中多行后按 Tab 或 Shift + Tab 可以整体缩进或取消缩进。
支持哪些语言?
Python、Java、C++、Go 和 JavaScript。

更多AI 求职与学习

你可能还需要