剑指Offer(学习笔记一)

230 阅读3分钟

第一章 面试流程

个人简介,基本信息介绍

电话面试

  • 应聘者在电话面试的时候应尽可能用形象的语言把细节说清楚
  • 如果在英语面试时没有听清或没有听懂面试官的问题,应聘者要敢于说Pardon

共享桌面远程面试

  • 编程习惯及调试能力
  • 思考清楚再开始编码
  • 良好的代码命名和缩进对齐习惯
  • 能够单元测试,先写单元测试用例,再写解决问题的函数
  • 熟练地设置断点、单步跟踪、查看内存、分析调用栈,能很快发现问题的根源并最终解决问题

现场面试

  • 规划好路线并估算出行时间
  • 准备好得体的衣服
  • 注意面试邀请函里的面试流程
  • 准备几个问题

面试的几个环节

  • 行为面试

  • 应聘者的性格特点

  • 自我介绍:主要学习、工作经历

    • 项目经验
      • Situation:简短的项目背景,比如项目的规模,开发的软件的功能、目标用户
      • Task:自己完成的任务。这个要写详细,要让面试官对自己的工作一目了然
      • Action:为了完成任务自己做了哪些工作,是怎么做的
      • Result:自己的贡献
      • 你在该项目中碰到的最大的问题是什么,你是怎么解决的
      • 从这个项目中你学到了什么
      • 什么时候会和其他团队成员(包括开发人员、测试人员、设计人员、项目经理等)有什么样的冲突,你们是怎么解决冲突的
      • 突出介绍自己完成的工作及取得的成绩
    • 应聘者掌握的技能
      • 描述技能掌握程度时也要注意**“了解”“熟悉”“精通”**的区别
    • 为什么跳槽
      • 不要抱怨,也不要流露出负面的情绪
      • 现在的工作做了一段时间,已经没有太多的激情了,因此希望寻找一份更有挑战的工作
      • 为什么有些厌倦现在的职位,以及面试的职位我为什么会有兴趣
  • 技术面试

  • 扎实的基础知识、能写高质量的代码、分析问题时思路清晰、能优化时间效率和空间效率,以及学习沟通等各方面的能力

    • 简单的问题,应聘者一定要注重细节,写出完整、鲁棒的代码
    • 复杂的问题,应聘者可以通过画图、举具体例子分析和分解复杂问题等方法先理清思路再动手编程
    • 不断优化时间效率和空间效率,力求找到最优的解法
    • 不断优化时间效率和空间效率,力求找到最优的解法
    • 扎实的基本知识
      • 编程语言、数据结构算法
      • 熟练掌握链表、树、栈、队列和哈希表等数据结构,特别是链表二叉树
      • 查找、排序等算法,重点掌握二分查找、归并排序和快速排序**,**动态规划和贪婪算法
    • 高质量的代码