写于2018年3月,刚好在找实习,搜集了一些<剑指offer>上和其他关于面试的建议,记录下来.
1.着装及外貌
- 衣服不用过于正式,整洁干净就可以了.
- 保持思维敏捷,容光焕发
2.自我介绍
- 时间: 30s - 1min (面试官手中已有你的简历,因此自我介绍不用过于详细)
- 内容: 主要学习,工作经历(没有工作经历就简短说一下做了什么项目)
3.项目介绍
建议使用STAR模型描述自己经历过的每一个项目
- Situation:简短的项目背景,比如项目的规模,开发的软件的功能,目标用户等.
- Task:自己完成的任务,在用词上注意区分”参与”和”负责”
- Action:为了完成任务自己做了哪些工作,怎么做的.详细介绍
- Result:自己的贡献.如果是参与功能开发,可以说按时完成了多少功能;如果做优化,可以说性能提高的百分比是多少;如果是维护,可以说修改了多少个bug.
面试官可能会问的问题:
- 你在该项目中碰到的最大的问题是什么?怎么解决的?
- 从这个项目中你学到了什么?
- 什么时候会和其他团队成员有什么样的冲突?怎么解决冲突的?
note:介绍项目时,少讲背景,突出自己的贡献.
4.掌握的技能
- 了解:指对某一个技术只是上过课或看过书,但没有做过实际的项目.
- 熟悉:如果我们在实际项目中使用某一项技术已经有较长的时间,通过查阅相关的文档可以独立解决大部分问题,我们就熟悉它了.(在简历中我们描述技能的掌握程度大部分应该是”熟悉”).
- 精通:如果我们对一项技术使用得得心应手,在实际开发过程中我们都有信心也有能力解决,可以说精通这个技术.
5.面试官面试考察interviewee的几个方面
- 1.扎实的基础知识:编程语言,数据结构,算法等-
- 语言:至少掌握1-2门编程语言
- 数据结构:熟练掌握链表,树,栈,队列和哈希表等数据结构和它们的操作
- 算法:查找,排序,贪心,动规,dfs等
- 2.能写高质量的代码:能写出正确,完整的,鲁棒的高质量代码;面试官会格外关注边界条件,特殊输入等看似细枝末节但实质至关重要的地方.
- 3.分析问题思路清晰:思路清晰,解决复杂问题
- 4.能优化时间效率和空间效率:能从时间,空间复杂度两方面优化算法效率
- 5.学习和沟通能力:具备优秀的沟通能力,学习能力,发散思维能力等
- 团队合作能力
- 沟通能力
- 举一反三能力