面试前准备
公司近况,项目情况 准备合适的问题问面试官
电话面试
- 弄清楚面试官的意图
现场面试
描述项目经验
* 简短的项目背景
- 项目规模,开发的软件的功能,目标客户
* 完成的任务
- “参与”,“负责”(框架设计,核心算法,团队合作)
* 为完成任务做了哪些工作,怎么做的
- 在什么工具,哪个平台下应用了哪些技术,测试手段等
* 自己的贡献
- 按期完成了多少功能,做了哪些优化,修改了多少个bug
* 项目中碰到的最大的问题,如何解决
* 从项目中学到了什么
* 和团队成员的冲突,如何解决冲突
描述技能
* 了解
- 书上学过的,没有实际项目的
* 熟悉
- 应用过一段时间,可以通过查阅文档解决大部分问题的
* 精通
- 得心应手,有信心当老师的
找工作的动机
* 寻找更有挑战的工作
- 陈述为何厌倦了原来的工作,对面试职位为何有兴趣
技术面试
越是简单的题,面试官的期望值越高 对于复杂的题,面试官可能并不期望短时间内解决问题,但是清晰的思路是必要的 努力寻找时间和空间上的优化 沟通能力和学习能力也是同样重要的 知识迁移的能力,新问题,老办法
* 边界条件
* 错误处理
* 程序的鲁棒性
编程语言
* 面向对象特性
* 构造函数&析构函数
* 动态绑定
* 设计模式和UML图
* 内存管理
* 并发控制
操作系统
* 计算机系统基础知识
* 内存管理
* 文件操作
* 程序安全
数据结构与算法
* 算法复杂度
提问环节
- 职位和项目的背景
- 主要业务,项目进展
- 培训机会
HR面试
- 薪水在HR面试环节问,不在技术面试环节
- 面试中不打听能否拿到offer