2020 年春季招聘黄金季降至,如何拿到心仪的 Offer,进入梦寐以求的大厂,实现自己的职业理想,达到程序员的小康水平。3 月是招聘黄金季,但此时,聪明的你现在就要开始物色和准备,物色目标、准备简历、找渠道、夯实技术、掌握面试套路。我之前写过一篇关于 Java 面试的 Chat《搞定 Java 面试》,订阅和口碑都还不错,是纯粹面试知识点的总结和梳理。而面试者除了需要扎实的技术功底之外,你还需要认真准备技术面试的各个环节。所以本篇文章将手把手地教你如何准备技术面试,照着做,你的面试成功率将会提升很多。

适合人群: 正在找工作或准备换工作的 IT 人员

2020 年春季招聘黄金季降至,如何拿到心仪的 offer,进入梦寐以求的大厂,实现自己的职业理想,达到程序员的小康水平。3 月是招聘黄金季,但此时,聪明的你现在就要开始物色和准备,物色目标、准备简历、找渠道、夯实技术、掌握面试套路。我之前写过一篇关于 java 面试的 Chat:搞定 java 面试,订阅和口碑都还不错,是纯粹面试知识点的总结和梳理。而面试者除了需要扎实的技术功底之外,你还需要认真准备技术面试的各个环节。所以本篇文章将手把手地教你如何准备技术面试,照着做,你的面试成功率将会提升很多。

本场 Chat 主要内容:

一、面试前准备1、找准自己的定位2、明确目标和方向3、写简历二、面试中策略1、电话面试(技术一面)2、现场面试(技术二面、三面)3、HR 面试三、面试后复盘1、总结面试内容2、整合期望及职业规划

适合人群: 正在找工作或准备换工作的 IT 人员

序言

给大家讲个故事,我前几天面试了一个 39 岁的程序员,来面试外包工作的,没学历没背景能力一般,真的很心酸,虽然我看他简历第一眼就知道他一定会被 pass,但是依然给他机会,按流程走完面试,面试完还告诉他应该怎么样提高。我知道他其实没有太大的进步空间了,看到他走时弯腰感谢我,回头后落寞的背影,真的很不忍心伤害这么一个前辈。程序员真的太不容易了,尤其是大众化的程序员。

这不是个例,而是绝大多数初级程序员的现状。有人说是行情变了,许多公司都在裁员,像 Oracle 这种国际大厂都不例外,正是因为行业的不景气导致许多程序员失业,再就业也变得非常难,程序员的好日子已经一去不复返了,互联网的红利已经成为过去了。真的是这样的吗?

给大家看几组数据(图片来自搜狐网-2019 年上半年 IT 互联网行业人才洞察报告 http://www.sohu.com/a/341100845_99997300 ):如何准备技术面试2019 年 TOP10 难招职位有 9 个为技术岗,其中招聘难度最大的岗位是 web 前端开发工程师。web 前端工程师市场需求旺盛,人才储备也较为充沛。但由于岗位培养周期较长,具有丰富经验的人才较少,该岗位具有工作经验的人才成为各大 IT 互联网企业争夺的香馍馍。

TSI 指数为统计周期内,有效需求的岗位数与有效求职人数的比值。当 TSI 指数大于 1,人才需求大于人才供给,人才较为稀缺;当 TSI 指数小于 1,人才需求小于人才供给,人才资源较为丰富。如何准备技术面试2019 年上半年 Top10 热招职位中,后端开发需求最旺盛。

通过这些数据可以看出,IT 行业依然有大量的岗位需求,互联网依然是个朝阳产业,程序员依然是个高技术含量的职业,只不过是门槛变高了,技术的发展越来越精细化了,对技术人才的要求越来越高了,以前那种在培训班简单培训几个月就能上岗,只要身处这个行业就能拿到高薪的时代一去不复返了。

我们应该感谢这个伟大的时代,技术的高速发展带来了人们生活的巨大变化,根本不敢想象,10 年前我们还是用着诺基亚按键手机,而 10 年后智能手机已经普及到千家万户,社会进入万物互联时代。

时代在进步,社会在发展,只要这个社会还需要用到自动化解决的问题,那么我们程序员这个职业就不会消失。许多程序员的中年危机实则是日益增长的人力成本与日渐消失的学习力之间的矛盾,企业要创造价值要盈利,而部分中年程序员价值逐渐消失,付出与收益不匹配,则必然导致削减成本的结果。要想避免,则必然要不断的进步,持续创造价值,保持核心竞争力。只有这样才能在不断变化的技术浪潮中游刃有余,而不被拍死在沙滩上。

检验自身能力最好的方式就是面试,让行业内的顶尖企业的技术大佬来面试你,衡量一下自己的斤两,一方面有利于掌握目前行业的技术动态,另一方面也能对自己有更深层次的认识,如果有合适的机会,还能拿到满意的 offer。那么,我们今天就来聊聊,如何准备技术面试?

一、面试前准备

1.明确技术方向,匹配岗位要求

学历、工作年限、技能、项目经历、软实力。找准定位,是要做技术还是偏管理。划重点:做技术就不要提管理。面试官非常讨厌技术不扎实的人,明明是面试技术,却总是提管理。这里不是说不需要管理能力,而是要分清楚主次,只有你的技术使面试官满意了,管理能力才能为你加分。

2.盘点个人价值,找亮点

在 HR 们的眼中,我们都是商品,你要把自己的价值以最直观的方式体现出来,不要扯其他没用的。明确了自己有什么价值,你需要问自己一个问题:以行业标准衡量,你觉得你是哪个领域的专家?因为你只有是某个领域或者方向的专家,性价比高,HR 们才会觉得这笔买卖很划算。不要自惭形秽,你之所以平庸,是因为你没有深挖自己的亮点,在简历最后一栏自我评价里,把亮点一一列举出来,如果你实在是找不到,那总做过项目吧,能吃苦吧,善与人相处吧,逐条写出来。划重点:项目经验多不代表能力强,要总结而不是叙述,千万不要逐个项目长篇叙述业务模块。面试官对你做过的项目业务逻辑根本不感兴趣。你需要把项目中你用过的技术列举出来。最好是只写最近的或者你最有成就感的项目,把你了解的技术栈全都写上

3.内推和猎头,机会大很多

选择公司也很重要,是互联网公司还是传统企业,传统企业相对重视业务,而互联网公司比较重视技术。公司主要是做什么产品、用的什么技术 。如果你的资历不够,学历双非,但技术很强,想去大厂也不是没机会。划重点:找内推、找猎头推荐要比自己投简历要机会大得多。

4.知己知彼百战不殆

薪资、福利、平台优势、晋升机制、工作环境、人际关系、工作强度、社会地位等等,把这些全都列出来,做个表格,排好优先级。现在业界对于跳槽涨薪的幅度大都控制在 30%以内,了解一下你的城市、这个企业这个技术方向的平均薪酬来参考。划重点:知己知彼才好跟 HR 谈薪。

5.练习自我介绍

直接划重点:①限时 3 分钟,不要太长不知所云,也不要太短显得你没准备;②姓名、年龄、学校、学历、工作年限,一个都不能落下,不要因为学校或者学历一般而不介绍,躲不过去的不如坦然面对;③两三句话概括你做过的项目,千万不要摊开了讲,否则你下面就不要说了,面试官一般会直接打断你,进入问答环节;④以总述的方式来讲你所擅长的技术,注意只谈技术别扯其他,诸如管理能力、组织能力、兴趣爱好等等千万别扯。

6、工作项目准备

拿得出手的经典项目准备一个,刷刷面试题。还要准备一些非技术类问题,比如这个必问的经典问题:你为什么离职?关于这个问题,说心里话,没必要那么固执。不要回答“上个公司加班太多,工作生活不能兼顾诸如此类“,这样回答虽然没毛病,但是却不是标准答案,试问哪个互联网公司不加班?如果有,谁不想去?这个问题标准答案是:我的个人职业规划的原因,我需要一个更大的平台来施展,不断的见识、学习和成长。最后还要准备一两个问面试官的问题,标准答案:贵公司当前使用的主流技术栈有哪些?如果我顺利通过面试,我将会加入哪个团队?我未来的工作方向是什么?千万别扯别的,诸如你们公司薪酬大概是多少?(保密的不知道吗),你们加班多不多?(废话)。管住好奇心,这些问题等你过了技术面试,留着 HR 来回答你。

7.写简历

简历中最重要的是工作经历和项目经验。大家看以下 2 个类型的简历:

1、介绍项目业务型

本项目为 XXX 系统,面向 xxx 人群,包含 xxx 模块,每个模块的业务逻辑是 xxx。

2、介绍技术栈型

本项目使用 xxx 框架,前端页面采用 xxx 技术,后端服务采用 xxx 技术,用了 xxx 中间件,xxx 数据库。

第一种介绍业务型的,除非你的项目业务跟你要面试的公司业务相近,否则面试官没有那么多时间和耐心听你长篇大论的讲述业务逻辑,所以第一种简历:不合格。

第二种是介绍技术栈型的,罗列了一大堆技术栈,绝对大多数都是项目用到的技术名词。面试官看到这里就会一个个的追问这些技术,尤其是写着熟练掌握的,许多我认识的面试官都很讨厌浮夸的人,明明不是你做的,就不要写上来,只是知道这门技术或者干脆只是听过这个技术名词就不要写熟悉,甚至熟练掌握。面试官一般都有技术癖好,一旦发现“熟练掌握”这种字眼,一定会打破砂锅问到底,这样写很容易坑了自己。

那最好的写法是什么呢?写你在项目中的工作和经验总结,要有条有理,示例如下:

项目名称: 营销平台 项目时间:xx 年 xx 月--xx 年 xx 月 项目职位: 架构师

项目描述:简述业务模块及设计拆分即可,不超过 30 字。

架构设计有以下特点:

1、微服务架构:项目采用微服务架构设计,前后台分离,后端 springboot+dubbo。

2、敏捷开发: 采用“敏前台、强中台”的架构设计,使用敏捷式工程方法,分三批次进行系统迭代开发。

3、devops(CI/CD):每日自动化构建(jekins)、自动化测试(sonar)、自动化部署。

4、自动化配置:可视化、可操作、修改立即生效的配置中心(apollo),方便维护大量的分布式微服务。

5、系统监控:包含服务监控(zookeeper monitor)和基础监控,对异常能及时预警和定位。

6、性能:2000 并发,登录和一般页面系统加载、查询时间小于 3s;并且运用 mycat 中间件,设计了 mysql 读写分离和单独的报表读库。

7、安全:设计了数据 MD5 加密、权限系统、日志系统、HTTPS 以及网络安全策略等。

8、高可用:设计了负载均衡、双机热备、业务中台服务集群、中间件集群、mysql 数据库集群、主从、冷备等部署策略。

我的工作:

1、架构设计:软件架构设计、部署架构设计、INFRA 架构评审、数据库架构评审

2、安全设计:应用安全设计、INFRA 安全设计

3、微服务设计:业务边界划分、服务拆分

4、规范制订:java 开发规范制订、UI 设计规范评审

5、分布式环境搭建:开发、测试、UAT、生产 4 个环境的基础架构部署

6、公司监控平台和自动构建平台搭建

7、团队能力同步,培训

8、重难点问题攻关、性能优化

9、系统上线发布技术总控

不同的企业、岗位需要的技能不同,你需要制定有针对性的简历。划重点:①不要随便写与岗位不匹配的技能;②只写项目中你负责的工作即可;③简历中的内容不要坑自己,每一句都要做到心中有数;④把项目成果最好能量化体现

大家看看,面试前都要准备那么多,如果是资深工程师岗位或者技术专家岗位,你可能起码要准备 3 个月,即便是初/中级工程师,面试前也要认真准备 1 个月,这样你的面试成功率才会高很多。

写了很多,大家发现我很爱说“划重点”,“标准答案”,“千万别扯”之类,因为真的就是这样。仿佛回到高三时,语文老师教我答题,他的口头禅是:不要乱写,不要你以为,按标准答案去“套”。非常感谢我当时的语文老师(语文没有拖我的后腿,偷笑),以理科状元的优异成绩考入华科。所以,我认为求职并不是一场对等的谈判,而是一场考试(当然如果你是 bat 系的大神,另当别论,这里不纠结哈),高考有考霸,那么面试呢自然也会有面霸,都有套路,这取决于你对套路的掌握程度。

二、面试中策略

面试流程:

  • 技术一面许多公司的技术一面是电话面试,一方面有些候选人的居住地距离面试公司比较远,来回一趟也很辛苦,单凭简历并不能了解候选人的技术能力,所以综合考虑,为了降低面试成本,会首先安排一轮电话面试,对候选人有个初步的了解。虽然是电话面试,也不能轻视,往往这轮是技术最强的,因为一轮的技术面试官担负起从广大候选人中筛选出合适人选的重任,大多数候选人后栽在一面上。
  • 技术二面、三面技术二面一般是一个团队 leader,这个团队 leader 有可能擅长的是技术,也有可能擅长管理。如果是技术 leader,他会更关注面试者的全局掌控能力,不过这时候应该不会再追着你问一些技术细节,大多数是会拿一个你做的好的一个项目来介绍,例如架构设计,高性能设计,实际问题处理思路等。一般职位没有技术三面,二面就够了,如果有技术三面,一般是高级工程师了 ,这时候大多是部门主管面试,此时考核的更多的是面试者的软实力,例如沟通表达,逻辑思维,团队协作,职业规划等,感觉大多数内容都跟情商有关。
  • HR 面试HR 面试是最后一关,如果到了这一关,恭喜你,你基本上已经达到录取的条件了。这时候 HR 们会对你进行最后的把关。主要是个人期望、三观认同、企业文化、入职时间。当然,最重要的还是薪资期望。

面试技巧:

  • 形象最好还是穿工作便装或者休闲装,但是要干净整洁,不要邋遢,胡子刮一刮,还是要修修边幅的。HR 一般都是女孩子,所以最好体面一点。另外,保持微笑,表现得热情、开朗和幽默是非常重要的。每个人都喜欢和开朗风趣积极向上的人相处。面试时千万不要像挤牙膏一样,面试官问一句,你答一句,最好能够掌握主动,以聊天的方式而不是问答的方式。
  • 遇到不会的话题面试中有一些问题很难,但是不要直接说放弃,很多时候,面试官并不期待你能在很短的时候内解出一道难题,他只是想看一下你遇到难题时的态度和思维方式。如果你能证明给面试官看,你解决问题的方向和方法是正确的,就算是没有找到答案,也是很不错的。如果实在解不出来,可以委婉点,说这个问题我现在可能不知道怎么解决,但是我知道如何找到解决办法,如果给我时间,相信我一定能处理好。
  • 面试引导主动引导面试官,一般情况,面试官准备的问题都不是独立无关的,经验丰富的面试官会准备一连串的问题,先抛出一个话题,聊到一个技术点,通过一些理论和概念了解候选人的基础是否扎实,然后逐渐深入。对于候选人来说,如果这个话题没有很大的把握的话,可以有个小技巧,你在回答面试官第一个基础问题时,主动带出一些你熟悉的知识点,引导面试官往你熟悉的领域去考核你。其实很多面试官也不太愿意循规蹈矩的,一个问题一个问题的问下去,面试官还是比较欣赏能有自己的经验总结的人才,就好像是一次技术交流,你说我听,有疑问的地方我会打断你,然后跟你交流一下经验,这样的情景是最舒服的,当然,给面试官的印象也是最好的。
  • 最后一般来说,面试结束的时候,都会问你有没有什么问题要问面试官。这个时候,一定要准备好问题。但可以问一下面试官对你的评价,让他指出你的不足和需要改进的地方,因为每次面试都是一次学习的过程,也认清楚自己需要努力的方向。另外,还可以问下对方目前遇到的急需解决的问题或者未来研究的方向是什么,这样便于你提前了解公司的技术趋势。

三、面试后复盘

总结面试内容

每一次面试结束后,都要尽快找时间复盘。把整个面试过程回顾一遍,包括面试官的问题和自己的回答。事后,站在面试官的角度思考一下,为什么面试官为问这样的问题?大公司的面试官在面试的时候基本都不是随便问问题的,这时候可能有些同学会反驳我说,他就遇到一些面试官技术很水,也没认真准备面试题,就是随便问,想到哪问到哪。这种情况我承认确实存在,但是是满足以下条件的存在:

  • 你面试的是外包岗位,这里我不是歧视外包岗位,因为是项目需要一些简单的执行层人员,所以才用到外包,对技术能力要求不高。
  • 岗位已有目标候选人,有些企业为了比较,选择更优的人才,一般会超额面试,如果用人部门已经有意向的目标人选,那么后续的面试只是为了完成任务而已,除非候选人能力非常强。
  • 面试官临时有紧急事情处理,只好派手下的人去面试。

除了上述那些情况,相信绝大多数面试官都不是水货,能担任面试官的,基本都是在部门有两把刷子的。

回顾完整个面试过程后,重温一下每个问题和自己的回答,看看是否有更好的答案,下次如果遇到类似问题,采取哪些措施,可以改善回答效果,给自己加分。

整合期望及职业规划

面试结束后只有两种结果,一是被通过,一是被否掉。无论何种结果,都是一次对自己能力的清晰认识。这时候要做一件事,就是做好自己的职业规划。

通过了,则可能即将开启新的职业生涯,到了新的公司,如何快速的适应新的环境,融入都新的团队中。你需要提前了解一下公司产品,部门岗位工作内容,并在试用期把你最好的一面表现出来。

否掉了,也不要气馁,还好大把的机会呢,是金子总会闪光。可能只是这家公司的需求跟你的能力不匹配而已,并非你的能力不行,有的公司可能需要的是全栈,而有的公司只需要你在某一领域够专,也或者有的公司更看重你身上的某个品质。

认真的整合一下自己的期望,做好清晰的职业规划,不以一时成败论英雄。

阅读全文: http://gitbook.cn/gitchat/activity/5e1587b15dc3817f093fdf0d

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

如何准备技术面试

相关文章:

  • 2021-11-01
  • 2021-07-10
  • 2021-10-04
  • 2021-04-13
猜你喜欢
  • 2021-10-22
  • 2021-08-08
  • 2021-04-21
  • 2021-09-10
  • 2022-01-09
  • 2021-06-04
  • 2021-09-27
相关资源
相似解决方案