面试技巧

一、梳理自身的技能

  • 编程语言(Java)功底

    • 你熟悉的语言有哪些亮点特性?
    • 你能运用这些特性写什么框架?
  • Android系统原理

    • 程序是怎么运行的?
    • 窗口是怎么显示的?
    • 声音是怎么播放的?
  • 项目经验

    • 有哪些难点如何突破的?
    • 有哪些你失败之处?
  • 架构设计

    • 为什么选这个方案?
    • 如何进行模块边界的划分?
    • 如何实现模块解耦?

二、明确自己的目标

  • 了解市场需求
  • 明确自身水平
  • 确定面试重点

三、面试过程中的STAR法则(根据STAR法则去回答问题)

  • 情境(Situation):所处什么情况?

  • 任务(Task):接到了什么任务?

  • 行动(Action):你怎么做的?

    • 你怎么分析思考的?
    • 选择什么方案?为什么?
    • 你怎么进行方案落实的?
    • 你怎么协调团队推进项目的?
    • 你怎么监控结果的?
  • 结果(Result):结果如何?

    • 你的方案效果如何?
    • 收益是什么?
    • 具体数值是什么?
    • 不要“大量”、“很多”这样的词汇

四、准备合适的简历

  • 基本信息简明扼要
  • 求职意向清晰明了
  • 根据JD(面试官意图)定制简历
  • 拿出你的项目成果
  • 避免空洞的自我评价

五、简历模版

基本信息

男 | 本科 | 6年工作经验 | 长沙

TEL:19973310316

Email:chzhgoo@163.com

期望岗位:Android工程师

期望工作城市:长沙

项目经历

xxxx年x月-xxxx年x月 XXXX有限公司

项目:XXX客户端

介绍:我主要负责部分页面的开发,尝试对页面过度绘制进行优化,优化后页面平均绘制耗时从20ms降到3ms(数值瞎写的);活动、频道等功能的架构优化,对这些模块彻底解耦,降低维护成本约30%(工作量排期、做需求的时间估算出来的);评论模块组件化通用化,在其他三个项目中得到复用,每个项目节省10人天的工作量。

(职责 - 背景 - 任务 - 行动 - 成果)

期间独立负责XX地图SDK的开发维护(职责),期间考虑到XXX原因导致项目可维护性较差(背景),主动进行一次彻底重构和优化(任务),将SDK接口与业界对齐(行动),包体积下降20%,方法数减少35%,(结果),删除冗余设计(行动),代码行数由x万行精简到y万行(结果),新增功能若干。此后也针对不同合作伙伴的定制发版碎片化问题进行统一梳理,开发构建工具,实现构建零人工,每次发版节省人力n人天。

自我评价

注重效率:习惯编写各种工具类、组件等提升工作效率

乐于分享:经常在团队内部组织技术研讨和交流

六、简历的关键词

  • 通过简历内容提取三个左右的关键词
  • 关键词要与招聘需求匹配

七、简历的“四要、四不要”

  • 要聚焦核心技能(不要写工具的使用,如git、svn等)、不要到处熟练精通
  • 要突出技术亮点、不要罗列开源框架
  • 要体现业务背景、不要堆积项目细节
  • 要明确项目成果、不要陈述项目过程

推荐两本书:Java虚拟机规范、Java语言规范