算法面试攻略
一分钟提问数据边界条件
思考时间复杂度
先朴素方法,后考虑优化(分治法、动态规划),最后考虑贪心。
算法面试评判标准
面试评估
小白
一般
扎实
优秀
编程
不能实现想法
写伪代码
代码不可读
对所选语言缺乏了解
能实现简单想法,但犯下逻辑性错误
未检查所有边界条件
语言运用不熟练
能完整实现并自我检查
代码可读且风格统一
合理运用语言特性和库
展示级别的专业码力
能提前意识到潜在问题
并主动预防
代码干净,结构优美
数据结构与算法
对常见数据结构缺乏 了解,没想出算法或 者只会暴力
不会分析复杂度
基本了解常见数据结构
算法有错或效率较低
较好地实现并分析朴素算 法,但最终未能优化
理解常见的数据结构
能提出并实现一个较高效但不一定最优的算法
能够分析算法优劣
运用最合理的数据结构和最优秀的算法
一题多解,并分析对比解法有创造性和拓展性
阅读理解与沟通
不理解题目考点
不理解面试官的提示
自己的算法表述困难
理解大部分内容,但未抓住重点或矫枉过正
算法表述有容易误解的点
理解题面并提炼关键点
算法表述专业、清晰、 有逻辑性
深刻理解题目甚至加以扩展,算法表述理论与实例结合、生动形象,
无任何令人疑惑的可能
效能
解题效率很低,在较 差解法上浪费时间
需要大量帮助但还是 没能解决问题
解题效率相对较低
解决了问题但需要较为细致的帮助和指导
解题效率与难度匹配
可能需要适当的提示或帮助来解决问题
快速提出解法并快速转化为代码实现,甚至解决扩展问题,只需要少 许无关紧要的提示
最后更新于