华为编程题的评分通常基于以下几个方面:
代码正确性:
评审者会检查提交的代码是否能够正确解决问题,包括输入处理、算法正确性和输出结果的准确性。代码能够通过所有测试用例即可得到满分,否则根据通过测试用例的数量来计算得分。
代码质量:
评估代码的质量涉及可读性、可维护性和性能等方面。可读性包括代码结构清晰、命名规范和注释完整;可维护性涉及代码修改和扩展的难易程度;性能则关注代码执行的时间和空间效率。
算法和数据结构的运用:
对于涉及算法和数据结构的题目,评审者会根据解题思路的合理性和对算法及数据结构的运用情况来评估,并给出相应得分。
时间和空间复杂度:
评审者会评估算法的时间和空间复杂度,并根据其效率给出得分。
综合评估:
华为校招编程笔试会综合考虑代码正确性、代码质量、算法和数据结构的运用以及时间和空间复杂度等因素,以综合评估编程能力并得出最终成绩。
此外,有些情况下会采用去掉一个最高分和一个最低分,再求平均分的方法,以确保评分的公平性、公正性和公开性。
建议在实际编程和评分过程中,考生应注意代码的规范性、可读性、可维护性,并优化算法的时间复杂度和空间复杂度,以提高得分。