程序员面试考察的5个方面
面试时程序员绕不过去的话题,我的理解是具体分为如下5个方面:
1.基本功
正所谓美团说的基本功,程序员面试的基本功,每个人的理解不一样。但无外乎几个方面:编程语言+数据结构+算法+平台编程经验。
平台编程经验举个例子是你用java,你能够在后端框架写程序还是能够移动端开发安卓。
2.编码规范
编码规范不是背一下就行了,背后体现的是项目经验的积累,如何写出高质量的代码,比如编写的代码稳定,可靠,满足安全性和鲁棒性等特点,同时有清晰的注释和缩进等格式特征。
3.分析解决问题的能力
现实世界程序员面对的很多问题都是未知的,如何分析并且解决掉就是一个很重要的能力。
这个主要是考验的是一个人的抽象问题,分析思维,逻辑思维等能力。
比如如何得到一个解题思路:
1.具象思维,画图 2.类比思维,举例子。3.归纳思维 4.反向思维等。5.拆解问题等
4. 优化能力
程序员更多指的是优化代码,提高效率,比如时间,空间效率等,其他具体维度:优化一些流程等,比如打包流程,上线流程,自动化测试流程,包大小等
5.学习和沟通能力
这部分决定了一个人的长期能力和软实力。
学习在面试中主要考察对新概念的理解和知识迁移能力。
沟通主要体现了你的沟通风格和效率,效率方面比如金字塔模型等。