面试的考察点
挂的原因
首先我们总结一下我们通常挂的原因有哪些? 这里列举了几个常见的挂的点,希望大家可以引起共鸣。
- 没有一遍 AC(accepted)
- 没有 bug free
- 直接碰到过的问题,不加思考,直接快速背答案。 正确的做法应该是先复述,再做假设,再讲思路,然后给出一个稍微差一点的符合直觉的答案,最后慢慢优化给出最优解(或更优解)。
- 思路混乱,不能给出优解,甚至暴力解法都不能很快给出
- 忽略沟通,其实在解不出来的时候,面试官很多时候会给你些小提示的。 即使你可以解决出来,也要注意沟通,不然会给人“不好沟通,埋头就是干”的感觉。因此一定要“沟通反馈”。
- 代码不规范,体验不出工程性(封装,拆分),逻辑严密性。
- 经常会说“我觉得xxx”,“应该是xxx”, “可能/好像/似乎xxx”等,这样不确定的话。
- 面对质疑和反问,就害怕了,不敢发声,不敢反驳。
...
考察点
通过以上这些问题,我们来总结一下面试中考察的点,这里总结了以下几点:
- 分析问题,解决问题的能力
- 抽象,定义问题的能力
- 分治
- 思维严密性
- 沟通能力
- 思路能否讲清楚
- 是否能很好的和面试官沟通
- 是否能够听懂面试官的要点信息
- 代码能力
- 防御式编程
- 能否自我检查
- 工程性,代码规范,编程思想
- 命名/注释
- 功能拆分
- 好奇心,学习能力,尤其是自学能力
比如常见的问题,“你是如何学习前端的“, ”你碰到过的最困难的问题是什么?怎么解决的?“。
如果你平时会用技术去解决一些工作上的问题,或者有自己的博客和开源项目,那么可以很好的体验你的好奇心强,学习能力强
。
对新技术保持敏感,关注社区也完全能够反应你的学习能力和对技术的热情。
Tips: 面向Google 编程也是一个很重要的点,如果你只会百度,很有可能你效率低,可能会减分。
Tips: 英文能力也能给自己加分
- 执行能力,抗压能力
面对质疑,你的应对是怎么样的,是自信从容面对还是直接慌了开始怀疑自己。
面对一些很难完成或者无法完成的需求,我们怎么处理?是置之不理,说无法实现,还是 不断沟通,合理取舍。
- 如果你是技术管理岗位,还会考察管理知识。
比如你需要知道”项目计划“,”项目跟踪和控制“,”风险管控“,”数据分析“,“机会成本分析”,”复盘总结“, ”人员管理(奖,惩,晋升,绩效等)“等等。
小建议
另外给大家提个醒,对于电话面试/视频面试,以及现场面试,当面试官提出问题的时候,不要着急回答。 可以考虑从以下几个方面进行”重复“。
- 原文复述
- 明确面试官没有讲清楚的地方,有歧义的地方
- 提出一些约束条件。 比如“我是否可以假设数字不大于 Int 最大值?我是否可以假设 xxx”
通过以上的步骤可以给面试官留下靠谱,善于沟通,思维严密的好印象。