程序员面试金典第5版及面试简历准备

 快典   2018-04-15 13:00   672 人阅读  0 条评论

 

 

全面而详尽地介绍了程序员应当如何应对面试,才能在面试中脱颖而出。第1~7 章主要涉及面试流程解析、面试官的幕后决策及可能提出的问题、面试前的准备工作、对面试结果的处理等内容;第8~9 章从数据结构、概念与算法、知识类问题和附加面试题4 个方面,为读者呈现了出自微软、苹果、谷歌等多家知名公司的150 道编程面试题。适合程序开发和设计人员阅读。

下载地址:

https://github.com/gaoweibupt/offer/raw/master/%E7%A8%8B%E5%BA%8F%E5%91%98%E9%9D%A2%E8%AF%95%E9%87%91%E5%85%B8%20%E7%AC%AC5%E7%89%88.pdf

程序员面试金典中面试考题的代码实现:

https://github.com/gaoweibupt/offer/tree/master/src

 

写好简历的要则

一、优秀简历的特点

  1. 以成就作为导向
    • 突出自己做过什么,而不是自己应该做什么!
    • 职责作为导向的描述–“分析新型市场并探索进入中国市场的可行性策略”
    • 成就作为导向的描述–“主导了……而且成功地……从而使得利润提升了7个百分点”
    • 少用”做出了贡献”,“参与了”,“帮助了”等(这表明自己更重视职责而不是成就)
  2. 可量化的结果
    • 少用“缓解了服务器的延时”等类似的话语
    • 之前的版本:“实施了系统崩溃报告功能,并应用其修复了三个最为严重的导致系统崩溃的错误”
    • 改进后的量化版本:“实施了系统崩溃报告功能,并应用其修改了三个最为严重的导致系统崩溃的错误,从而使得客户技术支持电话减少了45%
  3. 目标明确
    • 简历应该针对具体的公司,如想去某创业公司(那就很可能需要自己处理客户支持事务)
    • 多调研公司
  4. 有通用意义
    • 避免缩写,尽量将高度技术化的术语转变成平实的文字
  5. 清晰、专业、简洁
    • 简洁:尽量避免大段的文字,只罗列要点(1-2行)
    • 拼写错误
    • 语法
    • 页面空白:理想状态下,页面空白应该有1英寸
    • 正常字体:Times New Roman 或是 Arial,大小不小于10pt
    • 一致性:用逗号或者分号来分隔列表中的项目,但前后要保持一致(若每个要点以句号作为结束,要么加,要么不加),确保在粗体字、下划线、斜体等格式上一致
    • 空格:要美观
    • 不使用第一人称:除求职意向之外,其他部分应该尽量使用第三人称
  6. 组织得良好清晰
    • 问自己“哪些东西最能将自己和其他求职者分开?”, “哪些因素会使得招聘人员将自己的简历放在好的一堆里?”
    • 如下,第二份则更突出了特点(大公司)
         软件设计工程师(2008-至今)
         微软公司
             设计了Visual Studio 的一些模块
         软件工程师(2006-2008
         因特尔公司
             改善了芯片中的嵌入式代码
         软件工程师(2002-2006
         思科公司
             6年工作生涯中发布了8个产品
         ================================
         微软公司(2008至今)
         软件设计工程师
             设计了Visual Studio 模块
         因特尔公司(2006-2008
         软件工程师
             改善了芯片中的代码
         思科公司(2002-2006
         软件工程师
             6年工作生涯中发布了8个产品

二、简历的结构

简历既可以按照时间排列,也可以按照功能组织。后者的按功能组织的结构可分为:领导力、工程和销售。
时间排列(逆序)一般会包括:工作经验、教育经历、项目经历、求职意向

  1. 求职意向
    • 这个可不需要,除非能增加一些重要信息,比如自己想换个方向
  2. 简介(或主要成就)
    • 可客观的展示自己的附加价值,一般不需要
  3. 工作经验
    • 在最近一份工作尽力中列出4、5个要点,每一个要点占一两行的篇幅,每个要点注重自己的成就
    • 工作经验应回溯到多久之前?
      • 在避免空白期的情况下,应该只列出最具相关性的职位(通常最好不超过2-5份工作)
      • 简历没必要成为完整的职业生涯历史记录
  4. 项目经历
    • 那些拥有大量非工作相关经历的软件工程师应该在简历中加一个“项目经历”部分
    • 可突出自己的特点
  5. 教育经历
    • 标准条目(学校名字、入学年份、毕业年份、地点)
    • 部分包括:专业、学历、GPA、课外活动、相关进修课程、奖项
    • 教育经历摆在工作经验前(对于尚无经验的毕业生)
  6. 技术技能
    • 部分列出软件、编程语言、外语能力或者其他你掌握的特定技能
  7. 奖项和荣誉
    • 如果有,可将其列在“工作经验”或“教育经历”部分,最好量化!
    • 如果单独列出,则取决于其含金量
  8. 简历的长度
    • 对于资深职场人士:两页
    • 对于只有5-10年的求职者,简历最好只有一页
  9. 精简简历
    • 求职意向和简介(大部分人直截了当的将其删除)
    • 没必要写自己具有很强的沟通能力,和职位无关的兴趣等
    • 不需要长篇累牍的讲述过去的经历
    • 是否列出了超过3份工作经历,或者列出了10或15年之前的经历?如果是资深人士,不需要回溯至10或15年前的东西。

求职信和推荐人

  1. 为什么需要撰写求职信
    • 现在的邮件其实就起到了求职信的作用,因此遵循求职信的标准
    • 简历只是一份按工作经历排列的成就列表,而求职信可以更具有针对性
  2. 求职信分类
    • 针对性、无针对性、广而告之
  3. 求职信的结构
     亲爱的[招聘人员或招聘经理的名字]:
       我对发布在[网站名或着其他来源]上的[职位名称]很感兴趣。我在[实际的技能列表]方面有着深厚的背景,而在[领域名称]方面也有过[数年]的经验,我有信心能够[你能解决的问题]。
       我具备以下的资格:
       - [具备的资格1]:[此处证明自己具备该资格]
       - [具备的资格2]:[此处证明自己具备该资格]  
     我很愿意再进一步与您探讨这个工作机会。我随后会在[一段时间]内与您联系,确认我的工作申请已送达,然后看您是否方便做进一步讨论。
       此致
      [你的名字]
  4. 优秀求职信的五大特征
    • 针对性
      • 不要只是简单的修改以前写过的求职信,因为自己会舍不得删掉以前光彩的描述
      • 人有一种倾向:会沉迷于自己的文字,而不愿意将其删除
      • 申请每一个职位时都应该重新撰写求职信!
      • 找不到职位描述的情况下,多搜索或者找其他公司类似的职业要求
    • 用事实证明
      • 量化
    • 简明扼要
      • 三四个简短的段落
      • 每一段都针对公司的需求
    • 简单、直接的写作
    • 专业化
      • 正确的拼写
      • 找一位值得信赖的朋友审阅
      • 不知道对方性别时,要用中性词
  5. 推荐人
    • 根据技能需求挑选不同的推荐人,推荐人最好能……
      • 了解你的工作情况
      • 有很强的表达能力
      • 积极乐观的交流者
      • 了解你期望的职位
      • 有空闲时间并乐于助人
    • 让好的推荐人变成优秀的推荐人
      • 征求许可、描述自己的应聘职位、重温自己做过的事情
      • 更新自己的信息
      • 建议他们该强调哪些方面
      • 讨论不好的方面
      • 跟踪后续进展
    • 推荐人的问题
      • 小心在背景调查之后失去某个工作机会,最后请求推荐人重复回答的问题
      • 信息核实,背景调查:可能需要填写以前工作单位的联系人(证明人)

 

面试准备

  1. 明白科技公司需要什么样的人
    • 对技术的激情,对公司的激情,创意无限,积极主动,将事情办好,聪明睿智
    • 需要准备的只是如何证明这些
    • 当被要求从无到有设计一个产品或者解决问题时,自己能否跳出思维定势并反问一下有什么前提或者限制条件吗?
    • 积极主动方面:是否自己撰写过博客?是否层主动承担过份外之事?
  2. 练习如何推销自己
    • 着重展示自己最近的工作(甚至可以把自己的话录下来,然后回放给自己听或者请朋友帮忙)
  3. 面试前复习简历
    • 设想面试官问“这简历一行是什么意思?”,并确保自己将“这是什么,怎么样和为什么”都解释清楚了
  4. 面试准备表格
    • 提前准备表格,针对自己的问题准备好内容(模版如下)
      问题 AA项目 BB项目
      最具挑战性的方面(最难的bug) ………… …………
      学到的东西
      如何影响道其他人
      碰到过的冲突
      犯过的错误
  5. 做好公司的调研
    • 公司喜欢有热情的人,而深入研究某个公司、职位和公司职员能够证明自己拥有此份热情。
    • 了解公司*生产什么样的产品怎么生产如何盈利的?(亚马逊为什么能够售出这么多产品?因为,他们有最好的物流系统和配套设备!)
    • 从新闻、竞争对手、在职的和以往的员工、企业文化入手!(比如,有些公司崇尚搞怪文化,可能面试会问“谈谈自己违反规章的经历”, “设计一款新的披萨饼的配料”)
  6. 准备提问
    • 预先准备10-15个提问
    • 好的习惯:可以带着记事本去参加面试,这样把想问的问题记录在上面,面试时可作为参考
    • 模版问题
    • 真实的问题(自己确实想知道的)
      1. “你有多少时间是花在写代码上?”
      2. “整个团队有多少人?大家如何分工的?”
      3. ”现在这个团队面临的最重大问题是什么?”
      4. “做决策的流程是怎么样的?谁来做最后的决定?谁来给出决策?”
      5. “员工离职率或换岗率?”
    • 有见地的问题(自己做过研究)
      1. “前段时间的新闻XXX,是XX在消费市场所采取的和XX对抗的举动吗?”
      2. “为什么XX会在这个产品中采用XX协议?是出于公关策略还是出于技术层面的考量?”
      3. “贵公司在利用开源软件的同时,你们最主要的顾虑是哪些?”
    • 显示出兴趣的问题
      1. “尽管我没做过XX,但我很想学会如何XX,请问作为一名合格的员工,我需要哪方面的技能?”
      2. “我对你之前提到过的技术不太了解。你可以再详细解释一下吗?”
      3. “如何让您评价一下过去做过这份工作的员工,是什么因素导致一些人成功了?另外一些人却没有成功?”
  7. 与招聘人员配合
    • 尊重招聘人员,保持良好的关系,可能对方还会为自己提供一些信息
    • 礼貌待人、提出问题
    • 征求他们的意见
    • “哪些技能会更为看重?”
    • “如何准备面试?”
    • “下次面试时,我应该注意什么呢?或者准备什么呢?”
  8. 学习控制面试的节奏
    • 面试官一直没有问到点子上时,可以引导他们进入到自己准备的“小故事”上
    • “关注面试官是不是在瞄他们的电脑或电话?” ,如果是,则可以改变自己的讲话模式(如提高语调)或者讲个故事
    • 回答要有调理,分1、2、3,首先……其次……
  9. 展现自信
    • 注重眼神交流
    • 配合面试官的语调
    • 不过分和面试官争辩
    • 注意自己紧张时的习惯(不要抖腿!!!
  10. 特殊类型的面试
    • 电话面试
    • 准备计算器(最好20以内的乘法能背下来)、铅笔和纸、简历、面试准备表格、笔记
    • 找个安静的地方,尽量不要改期,微笑(打电话的时候也要微笑)
      - 筛选面试
    • 喜欢XX运动的人一般具备坚强的意志和团队合作精神
    • 可能会设计问题来考察自己的“硬伤”
      1. 自己是否换工作平凡了?
    • 关于薪水的问题
      1. 尽量不要给出具体数值,以避免设定一个过高或过低的预期
      2. 最好提前调研过
        - 午餐面试
    • 不要点惹麻烦的事务
    • 不要喝太多饮料
    • 饭后检查仪容
      - 后续面试
    • 自己多准备一些问题
  11. 面试结束之后
    • 每次面试后,总结经验教训
    • 脑海中一遍又一遍的重温面试过程,问自己是否表现的怎么样?有没有犯错?
    • 感谢信
      1. 可以给招聘人员发个简短的感谢邮件,感谢她为你安排了面试
      2. 感谢信最好有针对性、突出专业技能和热情
    • 从招聘人员那了解后续计划
    • 积极询问进展,但不要太频繁
  12. 推荐人
    • 在面试前,多和推荐人聊一聊,强调自己具有哪些方面的技能
  13. 被拒的回复
    • “听到这个消息很……不过还是要谢谢……希望未来还能……如果有下次,那下次我应该注意什么呢?”

面试的重点是会讲故事!!
挑一个最近的故事介绍一下
介绍自己碰到问题,然后详细说明自己是如何解决问题

 发表评论


表情