剑指offer快速回忆之面试的流程

摘要

重点是项目贡献、链表、二叉树、查找、排序、鲁棒高质量;提问项目和自己的结合问题

三种面试形式

1.电话面试

  • 有些面试官喜欢搞突袭,准备手机有电,不要长时间处于嘈杂环境
  • 表达要清晰,问题没搞明白,不懂就问
  • 外企可能会有英语电话,不懂就pardon

2.共享桌面远程面试

  • 考察编程习惯
  • 思考清楚在编码
  • 良好的命名和缩进习惯
  • 能够单元测试
  • 测试驱动编程
  • 考察调试能力
  • 断点、单步跟踪、查看内存、分析调用栈

3.现场面试

  • 规划好路线
  • 穿得体衣服
  • 注意面试邀请函里的面试流程
  • 准备几个问题

现场面试的三个环节

3.1 行为面试

  • 自我介绍(30s,主要学习工作经历)
  • 项目经验
    • 极简的项目背景(很少)
    • 自己完成的任务(参与和负责)
    • 为了完成任务是怎么做的(主要)(比如平台工具)
    • 贡献(最好能量化)
    • 遇到的问题(提问)
    • 你的收获(学到了什么,提问)
    • 如何处理冲突(提问)
      剑指offer快速回忆之面试的流程
  • 应聘者掌握的技能(了解,熟悉,精通)

3.2技术面试

  • 基础知识(编程语言、数据结构、算法)
    • 链表、二叉树、查找、排序(不要眼高手低)、动归、贪心
  • 能写出正确、完整、鲁棒的高质量代码
    • 边界条件、特殊输入、错误处理(看似细枝末节,实则至关重要)
    • 数字带符号还是不带符号
    • 最大正整数和最小负整数的溢出
    • 最简单的空指针
    • 多个输入值,应优先考虑多个输入值之间的关系不满足的情况
  • 思路清晰的分析解决复杂问题
    • 画图、举例、分解抽象
  • 能从时间、空间两方面优化算法
    • 查找、排序(切忌眼高手低)
  • 具备优秀的沟通能力、学习能力、发散思维能力
    • 最近在看什么书啊,学到了什么新技术(提问)
    • 面试官先抛一个简单问题,在抛一个复杂问题(二者关联,要从这里思考)
    • 建模能力,就是考察数据结构会写会用了吗

3.3应聘者提问环节

  • 准备2-3个问题
  • 不要薪水,不要面试
  • 要与项目和你自己的学习发展情况相关