拿下技术面上传简历

请手写一个函数把一个字符串转成 32 位有符号整数(相当于自己实现 atoi)。规则:先跳过前导空格;然后可以有一个可选的 '+' 或 '-';接着读连续的十进制数字,遇到非数字字符就停止;如果前面根本没读到数字,返回 0;如果结果超出 [−2^31, 2^31−1] 就截断到边界值。写代码之前,先把你打算用来验证的边界输入列出来,并说明每个用例期望的输出。

代码能力与调试排障现场编码校招知识点 1 个

面试官在考什么

看候选人是不是真的想过「这段代码会在什么输入上挂掉」,而不是只对着一个正常样例写通就交。

边界处理

回答框架 · 前两步

  1. 状态推进顺序明确:跳过前导空格 → 读一个可选符号(记下正负)→ 循环读数字,遇到非数字立即 break;一位数字都没读到就返回 0。
  2. 溢出必须「提前判断」:在 res = res*10 + digit 之前先比较 res 是否大于 (INT_MAX - digit)/10,或全程用更宽类型累加、最后再统一判断并截断。

还有 3 条答案要点、 3 层追问、 6 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

同一能力域的其他题