现在很多公司都在面试的时候加重了算法方面的比重,无论前端后端机器学习岗位
算法面试成功与否至关重要的几个因素
- 公司招多少人
- 应聘者人数
- 应聘者有多少经验
- 应届生考察基础
- 有经验的社招人员,是增加项目经验与系统设计方面的考察
算法面试误区
- 算法思路正确,想出来就能过
- 把显示代码写出来就能过
- 做过的题和简单的题一定没问题
造成上面失败的原因:在于面试官的角度上来讲,面试官角度下的求职者,首先看到一点的是,对面坐的是我未来的同事,是每周5天内合作的人,在面试官的角度上来说,选的是团队的一员,团队也是有团队性格的,也看你合不合适~~~
- 求职者是未来的同事,一起工作的人
-求职者的思维方式与工作模式是否符合公司价值观与工作流程 - 求职者的代码可读性
-是否在code review中需要浪费大量的时间 - 求职者的编程习惯
-是否遵守基本的编程原则
-是否有良好的QA意识
面试的关键点
- 代码风格
-变量命名,代码缩进 - 编码习惯
-bug free
-异常检测,边界处理
-抽象 - 沟通交流能力
-让面试官明白你的意图与想法
-展示你自己的沟通交流能力 - 测试
-给出测试用例
-覆盖所有情况
算法面试问题解答流程
- 明确问题:与面试官交流明确需要解决的问题//这是最重要的一点,你一定要问清楚他的需求,他想解决什么问题????
- 举例分析:用一些例子来尝试解决问题
- 描述大体思路:让面试官了解你的思维过程
-先给出暴力解法:不要担心效率,done is better than perfect
-尝试优化:BUD原则,头脑风暴
-walk through - 代码实现:写干净的代码,注意抽象模块化
- 给出测试例
- 分析算法复杂度,回答问题