刷题

  • 先写一个最简单的例子,理解题意
  • 确认输入输出
  • 确认取值范围
  • 简述解题步骤/要hint
  • 开始动笔
  • 检查边界情况>还是>=,是否要-1等,corner case是否考虑全面,判断语句逻辑是否写反
  • 用最简单的例子跑一遍
  • 再用一个特殊例子跑一遍
  1. 关于电面/OA
  • 20min能做完一道新的Medium的算法题
  • 一遍AC/ 瞬间定位Bug: 杜绝低级错误(tab缩进/空格缩进)
  1. 关于Onsite
  • 白纸/白板写题思路依然如泉涌
  • 肉眼Debug能够火眼晶晶
  1. 整体
  • 除了结果正确外,还会考虑性能问题
  • 是否能够考虑到:边界问题,非法输入问题
  1. 或者
  • 如果你通过一道题目的平均提交次数在1.5次左右
  • 如果你提交的代码能够击败90%以上
  1. 杜绝
  • 使用功能比较齐全的编译器:IDE自动纠错问题,鼠标点击定位问题
如何讲清一道算法题
  • 一定要和面试官交流具体的题目内容
  • 告诉面试官:这道题很有意思,我以前没有接触过,这样就体现出你在现场是重新做这道题目。
  • 问面试官有没有限制条件,说出自己大概的想法。
  • 列出几个possible的算法和数据结构,看看面试官的反应,从中获取hints,在面试中,向面试官要hints的做法其实是应当鼓励的。
  • 能写多少写多少,要一直和面试官交流,察言观色。即使在没有思路的情况下,如果能在面试官的提示下解出来,也仍然是可以接受的。另外大家要知道,面试官在面试后也需要写很长的报告。如果你一行代码都没有写出来,那么他也无法写报告,所以面试官一般还会引导着你去答题的。
  • 看时间限制。

Reference:
算法面试,凭什么说你准备好了?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容