代码质量。比如代码是不是清晰易懂,该检查的边界条件检查了没,给变量取名的时候名字是不是合理,公用的代码有没有单独抽出去作为一个函数等等。这一点上有经验的和没经验的人差别会非常大。
数据结构和算法。这个主要是看选的数据结构和算法有没有问题。如果被面试人的解法不算太糟的话其实可以让被面试者先开工,等最后写完了再问能不能进行优化。当然,这里可以顺道问问解法的复杂度和为什么选择XX数据结构。
沟通能力。比如候选人是一上来就闷头写代码还是先交流思路确保对题目的理解没有问题,以及候选人在描述解法能不能讲清楚。
测试。等被面试者写完后让他自己提几个case来测试自己的解法。好的候选人应该可以提供好几个case来覆盖到各种情况,差的嘛估计就只能给个最简单的例子