Skip to main content

面试指南

·3365 字·7 分钟
程序员成长
Table of Contents
面试 - This article is part of a series.
Part 1: This Article

钱多事少离家近,位高权重责任轻

好工作 #

找工作最核心的一个问题就是“如何判断一个好的工作”,我的定义就是:

  • 好的领导 working under a good leader
  • 有趣的工作 interesting work
  • 高的报酬 highly paid

三者兼有基本是在做梦,只能权衡。如果自己有短期、长期规划则更好,就不需要找答案了。现在的趋势是竞争越来越激烈,对于普通人而言,关键点是如何让自己受益最大,有长期成长回报。99%都是打工的,钱说了算。面试的过程相对很短,找人和找工作我自己都倾向有人介绍。

简历 #

好的简历就是你的形象和工作态度!可以直接抄用好的模版,网上很多,我自己的简历格式已经固定十多年了。

简历要简单明了的列出一些基本的事实,例如学校,工作过的公司,项目,专业资格,奖项等,面试官在“日理万机”中需要看几百份甚至上千份的简历,可以想象,他是不会也不可能每个字细看的,而且看多了,基本状况一目了然,一两分钟没有吸引到的话,就直接淘汰了。所以重点是除了简单罗列,一定要有自己东西,哪方面让你已众不同,杰出的,例如自己做过哪些具体、特别的贡献。简历也是让你选适合自己的千里马和领导,双向匹配的过程,在信息不透明的情况下,涮选掉你不希望的老板和工作,做到有的放矢。

面试 #

面试前的准备 #

  • 了解公司:公司的 CEO 和管理层,商业运作模式和策略,产品竞争力,同行,财务状况,名声,过去几年的表现(上市公司通过股票市场),近期的大新闻
  • 了解老板/面试官:资历,技术/非技术背景,所带的团队和业务,猎头反馈
  • 了解职位:技术/非技术要求,领域发展前景,薪水范畴,个人喜好
  • 大公司一般都有面经,自己去搜

相关网站: Linkedin Glassdoor Comparably Crunchbase Yahoo Finance

套路 #

  1. 个人介绍 :需要准备 1 分钟和 5 分钟两个版本,包括学习经历、工作经历、项目经历、个人优势、一句话总结,一定要自己背得滚瓜烂熟,张口就来

  2. 抽象概念:当面试官问你是如何理解多线程的时候,你要知道从定义、来源、实现、问题、优化、应用方面系统性地回答

  3. 项目强化:至少与知识点的比例是五五开,所以必须针对简历中的两个以上的项目,形成包括【架构和实现细节】,【正常流程和异常流程的处理】,【难点+坑+复盘优化】三位一体的组合拳

  4. STAR 模型:针对综合能力方面的考察,如与人交流、沟通,处理客户的能力;文档,报告,进度控制,处理项目的能力;提高团队协作,竞争力的能力;等等,可参考 免费课程 Grokking the Behavioral Interview

    • S Situation 事情是在什么情况下发生;
    • T Task 你是如何明确你的任务的;
    • A Action 针对这样的情况分析,你采用了什么行动方式;
    • R Result 结果怎样,在这样的情况下你学习到了什么。

STAR模型

  1. 压力练习:面试的时候难免紧张,可能会严重影响发挥,通过平时多找机会参与交流分享,或找人做压力面试来改善
  2. 表达练习:表达能力非常影响在面试中的表现,能否简练地将答案告诉面试官,可以通过给自己讲解的方式刻意练习
  3. 重点针对:面试官会针对简历提问,所以请针对简历上写的所有技术点以及个人优势进行重点准备

面试也是一种沟通,注意沟通技巧,要留心对方的动作,语气,意图

“普遍性”问题 #

通常都是些傻 B 问题,没错,但对于这类问题态度要诚恳,表达、用词、铺垫很重要,事先要有所准备,不要陷入负面信息上,点到为止。一般如果碰到过多纠缠这样的问题,我对面试官、职位、和公司的印象分大减,面试官难道自己没有找过工作?

  • 请介绍你自己?

    self-intro

    这不是要你介绍你的历史,潜在台词都是你能解决什么样的问题,你能给公司带来啥价值,把最好的你介绍出来,把你最好的经历介绍出来,展示出相关的技能,如何与职位相关:

    • my past success is ___
    • my strength is ___
    • what I am looking for is ___
自我介绍的黄金公式
开头 展现自身价值让对方知道你的价值所在,通常可以从最近的一份工作里比较好的案例说起,让对方一开始就知道你是对的人。
中间 PST 凸显自身优势主动来连接工作中的重大转折,让对方知道你是怎么变成今天的你。
结尾 设定对话方向明确的告诉对方,你今天为什么要来到这里。
  • 为什么选择这份工作或者想换工作?一般我都是三选一来回答(尽量不要讲原来的不好,虽然都是套路):

    1. 对这份工作感兴趣,可以吹一下对方的公司和职位 - 有更好的发展空间:目前工作完全胜任,但觉得自己能力可以有更大的发挥,接受更大的挑战 例如“在过去的公司中,我们的企业文化并不鼓励我去主动创造,而在这家公司(比如 Facebook),我可以获得很多创造的机会,我为此感到炒鸡兴奋!”;
    2. 试一试更好的机会,猎头找上门,大力推荐;
    3. 为了更好的薪水:自信说出你要大幅涨薪的想法;
  • 自身有啥缺点?两种策略,一种是把特点包装成缺点,远期目标包装成近期缺陷,例如关注技术过多,产品,设计方面,缺少关注;二是自己还比较弱的方面 (但千万别和应召职位冲突),例如某方面的知识和经验,然后报告自己如何改进和学习的,变被动为主动。

  • 能接受加班吗?瞎编一下,目前或以前已经经受过加班的考验,家常便饭,顺便问一下公司的加班情况,自己顺便掂量一下是不是好公司。

  • 职业规划?学更多的技术,干更多的活,带更大的团队,赚更多的钱,也是不痛不痒的地方胡诌一下。

反向面试 #

这是个很多人忽略的地方:面试官最后通常都会问你你有什么想问的,这其实是我面试中最喜欢的部分,碰到优秀的面试官/老板,互动性很强。从这里可以了解未来的老板以及公司,直接正面的反馈最重要。

职位 The Role:

-   这个职位的挑战是什么?
    What are the challenges of this position?

-   职业前景如何?
    What is the career path?

技术 Tech:

-   目前公司采用哪些技术栈?对不同技术是如何选择的?为什么这样选择?
    What is the common tech stack used in the project and company? why you choose that over another?

-   有开发文档吗?
    Do you have development document for the code?

-   你们现在是如何做 CI/CD 的?部署一次有多快?
    How do you do CI/CD now? How fast you can deploy?

-   目前衡量软件质量的最重要指标是哪些?
    What are your most important software product metrics?

-   如何追踪 bug,以及生产环境发生问题,如何处理?
    How to identify and track the bug and what do you do after a production incident?

-   如何计划和处理技术和商业目标?决策过程如何?
    How to plan and manage technical goals and business goals? what is the decision making process?

团队 Team:

-   团队大概多大,新手多还是老手多,能介绍一下团队成员背景吗?
    How big is the team,more juniors or seniors? Can you share the background of the team members?

-   技术决策如何作出的以及如何向团队沟通?
    How are the technical decisions made and communicated?

-   团队目前面临的问题有哪些?
    What are the problems the team faces right now?

公司 Company:

-   目前最大的竞争对手是谁?
    who are the major direct competitors?

-   公司的财政状况稳定吗?过去几年都赚钱了吗?
    How is the company financial stability? How is the company funded? Is the business is profitable for the past years?

-   公司的加薪,奖金情况如何?
    Do you do annual salary increases?
    How is the annual bonus for the past years?

-   公司的文化如何?
    What is the culture like at the company?
    Does company encourage and sponsor staff to learn and develop?

-   什么让你觉得这家公司会取得成功?
    what makes you think this company will be successful? What do you like most working in this company?

参考 反向面试

准备 #

Java & 架构师资源 #

海量面试资源 & 八股文

  • 面试鸭

  • interview_internal_reference

    2021 年最新总结,阿里,腾讯,百度,美团,头条等技术面试题目,以及答案,专家出题人分析汇总。持续更新中。

  • 最新 10000+ 道,280 多份,面试题,汇总

    2022 年最新版:题库非常全面,累计 16000+ 道

  • JavaGuide

    「Java 学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!

  • Doocs

    • advanced-java
      互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识。
    • leetcode
      多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解。
    • source-code-hunter
      互联网常用组件框架源码分析。
    • jvm
      Java 虚拟机底层原理知识总结。
    • coding-interview
      代码面试题集,包括《剑指 Offer》、《编程之美》等。

系统学习,成效才会卓著(入坑需谨慎),系统学习资源:

FAANG 面试指南 #

和考试类似,需要有的放矢


小结: 找工作一般不是一个快速、顺利的过程,面试发挥有时好有时不好,也要看面试官心情,不是每个公司都适合你,你也不是喜欢每一家公司。一个公司找人和一个人找公司,后者其实所付出的风险和代价要大得多,所以随着经历,需要逐渐把被工作选换作定向选工作来思考和处理。

面试 - This article is part of a series.
Part 1: This Article