面试官会如何面试你:
1)首先面试官让你自我介绍,会对比和你个人简历的差别。
这个介绍你要突出重点。有语言来描述很多在书面简历无法准备表达的东西。
当然你要声音要宏亮,显得有自信。
2)你工作的团队有多大?15个成员?哦,那么,你实际上负责哪部分的?消息队列?很好!请描述一下一个高优先级的任务向一个低优先级的任务发送消息时会发生什么情况?请你描述一下你曾发现过的一个特别有挑战性的bug,以及你是如何修复它的。
3)了解你做软件有多长的历史
- 你是怎么进入到软件开发这一行的?
- 你曾经学过的第一种编程语言是什么?
通过这个问题可以了解你的功底和经历以及对软件这样是否真正的喜爱
4)经验的分类
- 在很小的团队或小组里工作。
- 参与过很多各种各样的项目。
- 对一个大型项目的各个抽象层面上都有很详细的了解。
- 在一个项目组里作为主要开发者。
5)验证你的经验
面试官在对应聘者有了一个基本的真正经验水平的感觉后,就开始对他们进行重要的实际编程经验的验证了。几分钟的时间对于一个真正的测试肯定是很不充分的,但也只有这样了。我们可以通过对编程开发的各个领域进行提问来认识应聘者对这些知识掌握的深度和广度。通常如下的主题是最经常被问到的:
- 数据结构和算法
- 多线程
- 字节操作
- 内存分配
- 对象,继承,设计模式
- 递归
- 汇编知识和程序运行原理
对以上的每个领域都有一个精心挑选的很基础的问题(“什么是一个信号?”)。问题很基础,只要应聘者在这个领域做过一些工作就能回答上这些问题。每个领域都有一些其它的较深入的问题。候选人对这些问题的回答能证明他们到底是不是专业。例如,如果你问一个有经验的嵌入式软件开发人员如何把0×4c转化成二进制,他写出一个4×16+12,这就可以马上判断出他的经验的真假了。
英文原文: