面试官谈代码质量:
- 容错能力,特别输入是否考虑,如何处理;考虑异常情况和资源回收;
- 掌握基础知识点;能通过和面试官交流、请教,解决问题;
- 考虑边界情况;
- 正确命名变量和函数名称;能根据具体的问题,选择合适的数据结构;
- 关注程序的正确性和鲁棒性;关注对于输入参数的检查、处理错误和异常的方式、命名方式等;能够在面试官的提醒下,找到程序的缺陷,从而正确解决问题;
代码规范性:
- 清晰的书写: 在进行手写代码的时候,要注意书写的格式,规范性,清晰地书写每一个字母;
- 清晰的布局
- 合理的命名
代码完整性:
- 功能测试:把题目中要求的功能想清楚;
- 边界测试:考虑问题的规模;是否是大数问题,问题输入的规模;是否应该用特殊的数据结构来存储这些数据;
- 负面测试:考虑错误案例;是否存在错误输入,是否需要处理错误输入;当出现错误输入的时候,我们应该如何进行处理等;
- 三种错误处理的方法:
- 函数返回值,告诉调用者函数出错;
- 当错误发生时,设置一个全局变量;这种情况下,调用者经常会忘记检查全局变量;
- 异常;try catch 机制;当函数运行出错的时候,即抛出异常,可以根据不同的出错原因定义不同的异常类型。不同的语言有不同的异常处理情况;早期的时候的语言可能没有异常处理机制;
- 在面试的时候,针对错误处理情况要和面试官来进行讨论;选择较好的错误处理方式来进行解决问题;
- 三种错误处理的方法:
代码鲁棒性:
- Robust 健壮性;是指程序能够判断输入是否合乎规范要求,并对不符合要求的输入予以合理的处理;
- 防御性编程:提前预测错误可能发生的情况,并对错误进行应对性处理;
保持更新,转载请注明出处;更多内容请关注cnblogs.com/xuyaowen;