写点什么

“找工难 & 金三银四”,关于面试,你需要知道的这些事

作者:IT学习日记
  • 2023-03-27
    广东
  • 本文字数:7411 字

    阅读完需:约 24 分钟

“找工难&金三银四”,关于面试,你需要知道的这些事

  一年一度的“金三银四”又到来了,本以为疫情放开后求职环境会变好一些,没想到反倒是比之前更差了,最近也有许多读者通过各种方式跟博主沟通,询问关于面试的一些问题,刚好趁着这段时间有些空闲,整理了一下去年跳槽的一些经验,希望能够帮助到有需要的朋友。


  博主先做下简单的自我介绍: 坐标深圳,22 年底跳槽(骑驴找马),在近一个多月时间内面试了:南方电网,格力,顺丰,KLook,维信金科,富德保险、联创杰等 20 多家公司,收到南方电网,KLook,格力,维信金科等 10 几家公司 Offer(还有几家走到 2,3 轮面试因为收到心仪 offer 而没有继续参加后续面试),最后选择了一家岗位匹配度和薪资比较符合个人预期的游戏公司,现在主要负责游戏数据中台开发。


  下面是之前收到的一些录取意向,因为 Boss 沟通信息有时效性,很多录取信息找不回来了,现在很多公司都是要你确定入职后,才会发实际的 Offer,在未确定之前,很多都是口头 Offer(口头 Offer 没有法律效应,大家面试时要慎重考虑)。



  废话不多说,下面就聊聊个人的面试经验,主要可以分为两部分即:面试准备,面试复盘。


  面试准备: 主要是关于简历的编写,投递,面试题目准备,与 Hr 沟通技巧等相关知识。


  面试复盘: 主要是面试过程中的问题发现,经验总结

面试准备

  主要大纲如下:


简历编写

  一般简历包含的模块(只是个人看法,仅供参考):个人信息、教育背景、求职意向、专业技能、工作经历、项目经历,自我评价七大模块


  注意:涉及到时间的,如工作经历,项目经历,要按照时间逆序写,即先写最近发生的,再写以前发生的,面试官更加关注的是你最近的一个状态


  个人信息模块: 简历中需要在个人信息中明显体现:自己的工作年限和联系方式



  教育背景模块:


  有工作年限的朋友在教育背景处无需编写一大段学习过的课程名称,而是应该简洁地写出自己在工作或者学校中非常突出的特点,比如获得过蓝桥杯 XX 奖状,国家励志奖学金。


  如果是应届生的话,可以抽选几个与岗位要求匹配的相关科目写上即可(尽量写自己成绩比较好的,有些岗位可能要提供成绩证明)



  求职意向模块:


  薪资和入职时间写【面议】,一般不建议直接写明,给自己预留空间,薪资实际上是根据面试情况浮动的,不要给自己固定死,表现好就适当提高自己的预期



  专业技能模块:



  技巧 1:要具体不要抽象,一定要避免跟大多数网上教程一样写精通 XX 技术,熟悉 XX 技术,单纯从文字谁也看不出来你是真是假,反倒可能给后续面试留下隐患。


        推荐的方式:结合STAR原则,简要介绍,如:
反例:精通/熟悉SpringCloud技术栈
正例:熟悉SpringCloud技术栈的使用,曾使用它们独立完成XX项目基础搭建,开发,并定位开发中使用产生的一系列问题。
这样两者一对比下来,显然下面的描述面试更加具体,专业技能描写要尽量避免抽象,这样也方便后续面试官进行具体的面试问题询问。
复制代码


  技巧 2:突出优点, 如在工作获得过年度优秀个人(最好写明有多少个开发者),个人有开源项目,博客等(前提是有价值的,不是个人随记那种价值意义不大的)



正例: 有个人开源项目,获得XXStar,地址XXX。 有个人博客,在主流XX平台有XX粉丝数,是XX平台签约作者。
复制代码


  技巧 3:烂熟于心, 对于自己编写的技能一定是比较熟悉的,不要看网上教程就乱写, 面试官大多数是会根据这个进行询问,自己不熟悉的写上去反倒是扣分项。


  工作经历模块:


  这个模块一定要有(如果是应届生就写实习经历), 许多人可能会觉的是不是跟【项目经历模块】功能重叠了,其实不是,面试官通过这个模块可以一眼看到你的整个工作生涯,而项目经历一般细节篇幅较长,很难让人直观对面试者整个工作经历有一个全面的认知


  包含信息: 公司名称,部门,时间,在公司的职责,业绩


正例:       XX公司,IT部门(20xx.08-23xx.09)
职责:作为XX组长/开发者,负责XX架构技术,技术文档编写,CodeReview等工作
业绩:负责的XX项目如期交付,达到XX目标,为公司带来了XX
复制代码


  项目经验模块:


  注意,简历编写的目的是为了让面试官看懂,应尽量具体不要抽象,用行业通用专业术语而不是大量描述词,写完后反过来问自己或者给朋友参考,通过第三视角观察:如果是别人提交这样的简历,自己是否能够看懂。


  编写一般包含以下信息:公司名称(项目始末时间)、项目名称,项目简介、技术栈、个人职责,项目难点,工作成绩


  示例:


    XXX公司 IT部 XX项目(项目起始时间-项目结束时间)
公司简介(可选,如果是比较知名或者和应聘岗位有契合度的建议写):XX公司,国内做XX项目Topx,主营XX业务
项目简介:XX项目是为了解决XX问题,通过XX技术/算法实时计算/处理数据,然后进行XX数据分析,并可视化输出XX指定各类型统计信息,给XX业务提供数据支撑。
技术描述:JDK8,SpringCloud,Spring,Mybatis,PostgreSQL,Redis,Promethues,Grafana等
项目职责: 1、负责与产品进行需求沟通,探讨技术可行性 2、负责项目的整体架构设计,设计文档编写 3、负责XX核心模块开发,项目进度跟踪,阶段性复盘
负责功能(可以结合STAR法则描述具体负责的开发模块): 1、使用XXX技术进行实时数据接入,通过XX算法/方式对数据进行XX维度统计,输出XXX数据,完成XXX可视化展示。
项目难点(后面面试官基本都会问你是如何解决的,所以对于写上去的一定要能够自洽): 1、项目的架构设计,服务拆分和技术选型 2、保证数据接入服务的可靠性,高可用性和大数据量下XX数据实时处理的稳定性
工作业绩: 1、XX项目对实时数据提供了可靠,准确的数据处理(准确率达到了xx),为XX系统可视化展示各类型指标,运营进行各决策制定提供了数据支撑,给公司XX带来了XX帮助。
复制代码


  自我评价


  还是一句话,要具体不要抽象,不要写努力,刻苦,不懂可以学之类的,要写有证据证明你的观点,否则不如不写。


  正例:自驱动力强,对自己职业规划有清晰认识,在业务时间会自己钻研新技术,并通过编写博客和开源项目 XXX 进行输出等(这样就跟你前面举例的专业技能相呼应)。

简历编写时常见的疑问

  简历是不是一定要一页?


  个人觉的视情况而定。不知道这个结论是从哪里冒出来的,确实看到有一些面试官是如此说,但是,对于 IT 专业,一页简历很难将你的个人特点展现出来。


  除非你是行业内非常 nb 的 ,直接将名字或者个人开源项目放到简历就能让人脑海浮现的人物外,不然,还是不用太纠结这个问题。所以,简历的篇幅尽量简洁的前提下,不要超过 4 页最好,打印的时候单页打印,方便面试官查看。


  一般写多少个项目经验好呢?


  考虑到前面的模块篇幅+面试官时间,阅读体验等因素,一般推荐编写 2-3 个项目经历即可,因此要挑选最近,最具有代表性的项目。


  如何对自己的简历熟记于心?


  最好的方式就是以面试官的视角看自己的简历,然后提出问题,用专门的文档整理出来,不但可以加深自己的记忆,还可以在下一次跳槽时使用。


     比如:你在简历的专业技能模块中提到自己熟练使用SpringCloud技术栈,并且独立进行项目搭建和开发。
那么可能面试官视角可能就会问你,你使用这个技术搭建过什么项目,为什么要选择这个技术栈,使用XX技术栈代替不行?在进行技术栈选型时有做过什么调研,你们最终选用的是哪个版本,搭建过程有没有出现过什么问题等等。
考虑到面试官可能会提问这一系列的问题,因此你必须提前做好应对准备,不要回答说没有参考,然后自己定的 ,即使真实情况确实如此,你也要说出选型的依据,不然面试官就会对你产生质疑,毕竟如果以后让你负责一个项目,你没有依据的选型,后续项目如果出现问题,你是否考虑过应对方案,没有责任心的人面试官的印象分总是很低的。
复制代码

简历投递平台和规则

  有哪些简历投递平台?


  Boss:岗位和专业程度相比最高,回复较快,建议作为主要投递网站


  拉勾:岗位数量一般,回复较慢,使用体验是在 Boss 外最好的


  猎聘:猎头较多,一般你活跃后他们打电话给你推荐岗位,在应用上岗位数量一般


  前程无忧 51Job:岗位数据量较少,旧岗位比较多,可以用于参考,回复较少


  智联招聘:外包居多,备用参考


  脉脉:实际岗位少,贩卖焦虑和广告居多,不过猎头也不少


  投递简历时的注意事项?


   简历命名:姓名-岗位名称-工作年限,方便 HR 望名知意


   简历统一以 PDF 方式投递,防止在某些平台查看时出现布局错乱


   投递分先后顺序,不要上来就海投: 自己有意向的岗位先收藏,先尝试面试一些意向比较低的岗位,这样一来可以让自己先熟悉面试流程和进入面试状态,熟悉了之后再投递有意向的岗位把握性更大

与 HR 沟通术语

   要自定义打招呼术语:不要使用招聘平台默认招呼语,突出自己的特点。 试想一下,HR 每天要查看成百上千个面试者的招呼,如果你的工作经历和学历不是非常突出,你如何吸引 HR 的注意力,打招呼将是你可以掌握主动权的一个时机,千篇一律很容易被埋没。


示例:  HR您好,刚刚仔细阅读了您发布的岗位要求,发现与我较匹配,希望能与您进一步沟通,下面是简单的个人介绍:
先前就职于XXX,有X年工作经验,XX年毕业于XX大学-XX专业(学信网可查),曾主导过XX等项目,负责核心的XX架构设计和开发,对线上问题定位,调优有个人的理解。
在校/工作期间获得过XX奖,成绩一直处于前TopX,有XXX开源项目/博客,访问地址如下:
对贵司的该岗位很感兴趣,希望能够得到您的回复,谢谢。
复制代码


  最好能够添加 HR 微信(就说可能有时候不注意看消息,如果方便的话加个微信): 有时候很多岗位信息,很容易遗漏,通过微信沟通可以更加方便,许多面试平台的沟通信息存储都是有时间限制的,过了时间就找不回来了。


  再者说,量变引起质变,当你添加到一定量之后,以后的面试都可以直接从微信中找了 HR 了,熟悉的肯定更有优势一些。

面试预约的细节

  如何合理预约面试时间 &地点?


  在接受面试之前一定要提前做好计划,因为很多时候面试邀请都是并行的,你接收了这个面试时,之前的面试可能就有回复准备进行下一阶段面试,如果不合理安排很容易出现冲突或者面试频繁的现象,频繁的面试是非常耗费精力,而且会影响面试的成功机率。


  合理的面试时间:一天一面或者三天两面,要给自己预留出面试复盘的时间,不要以为紧凑的面试能够提高成功机率。


  同时,在接受面试之前,尽量了解一整个面试的流程,如果有多轮面试,可以沟通看看第一轮面试是否可以远程(这样可以减少出行机率,在自己熟悉的地方面试氛围也会更加轻松些)


  如何合理协调多个面试?


  可以使用敬业签,番茄 Todo 等 app 记录每日面试的安排,合理调整时间

面试复盘

  复盘的目的在于发现面试中自己未注意/查觉的问题,常言道:旁观者清, 复盘就是通过第三视角来观察自己,更能帮助我们全面了解自己,增强面试自信,下面是一些复盘的技巧。


  一、面试流程复盘: 可以借助思维导图等工具将对应的面试流程归纳总结起来(如果后续你收到多个 offer 时,也有助帮助你挑选,毕竟很多时候第一感觉就是对的),内容如下:


  具体内容有:时间,地点,公司,岗位,面试时间,面试官信息,是否拿到 offer/大概什么时候知道面试情况,面试感受


  面试中了解到的公司,岗位信息(大概需要面试几轮,可能的时间,为了最大程度在多个 offer 出现时,横/纵向对比拿到心仪的 offer)


  二、面试问题复盘


  面试中涉及到的知识点(适当的情况下可以录音方便复盘)


  主要的内容有:面试中回答准确的问题,面试中回答比较模糊的问题,面试中未回答出来的问题


  三、面试中自己提问问题的回复


  针对提问面试官的问题:尽可能通过面试官的的回答了解到自己的面试情况,不是直接问,通过委婉的方式,如:面试官您觉的本轮面试我哪些方面可能需要更加深入或者加强呢?


  针对 HR 的问题:主要了解薪资,福利,公积金等问题,特别是五险一金的档次和比例(但这些问题一般是留到最后一轮,如果前面几轮的话,可以主要询问关于公司的文化方面的问题)


  这个是建议每次面试都要记录下来:随着面试场次增多,很多时候不同公司的回复可能容易造成记忆混乱,对于自己权衡挑选 Offer 影响不好。

面试题目

  因为面试题目较多的原因,现在还有部分在答案梳理中,所以此处会给出部分面试的题目,后续会同步更新答案,想要第一时间获取最新面试题目,欢迎关注博主在 GitHub 开源的面试项目:IT知识小屋


  简历可能提问问题大纲:



  面试题目大纲:



  部分题目列举:


  如何进行自我介绍?


  您是如何进行项目架构设计的、技术选型的呢?


  您说您对线上问题处理、性能调优和线程并发有自己的理解,请问能简单介绍一下具体是什么?体现在哪里呢?


  您们是如何进行项目复盘的呢?复盘后会输出什么?


  您离职的原因是因为什么?


  你的预期薪资是多少?能谈谈上一份薪资是多少?预期薪资的来由是什么?


  你大概什么时候能够到岗?


  在编程中使用了哪些代码规范?如何进行复用?


  你开发的项目中都是使用 SpringCloud 这一套框架进行开发的?能简单谈谈你们搭建的流程?


  简单说说 SpringBoot、SpringMVC、Spring Framework 的区别


  Spring 熟悉?能简单说说其中使用了哪些设计模式?


  有阅读过 Spring 源码?能够谈谈你阅读过哪些 Spring 源码?


  既然你研究过 Spring 源码,能够谈谈 Spring 实例加载的一个过程?它是如何解决循环依赖的呢?


  你们项目中使用到了 SpringCloud 框架的哪些组件,能够简单介绍是如何使用它们的?


  能简单介绍下 JVM 的布局是怎样的呢?java 是如何进行垃圾回收的?


  在项目中有通过 Gc 日志回收问题分析的经验?你进行问题排查的流程是什么呢?有使用到哪些工具呢?


  在实际的开发中,遇到过 OOM 问题?你是如何排查的?


  有进行过 JVM 调优?有哪些方法进行 JVM 调优呢?


  JVM 有哪些核心指标,合理范围是多少?


  你有具体的调优案例?可以讲讲具体过程?


  你都用过哪些数据库呢?它们之间有什么区别?为什么项目中要选型这个数据库?


  对于 SQL 你有什么方式进行优化呢?


  如果走了索引,查询还是慢,该如何处理?


  你们的接口、数据库设计是如何进行评审的?评审后会输出什么东西呢?


  Redis 你熟悉?有哪些场景下使用到了 Redis?Redis 是单线程为什么性能这么高?


  你有使用过哪些消息队列?什么场景下使用?如何保证消息不丢失?如何防止重复消费?


  你了解多线程?在什么场景下使用了多线程,有遇到什么问题?


  你了解分布式事务、分布式锁、分布式缓存?


  项目中有使用到单元测试?如何编写的?


  设计模式你了解哪些,谈谈它们在 JDK 源码中的使用?


  如何避免重复入库问题


  什么是接口幂等性?


  如何避免库存超卖问题


  谈谈你对集合的认识/常用到集合的特点


  HashMap 和 ConcurrentHashMap 的区别


  Synchronized 和 Lock 的区别


  介绍下线程池的各个参数和作用


  为什么线程池中队列要使用阻塞队列


  线程池何时超时?


  如果数据量非常大,怎么保证接收接口的稳定性


  使用 Redis 进行库存处理,如果存在一个订单多个商品,怎么保证 Redis 执行时的原子性,涉及到多个商品库存扣减。


  redis 如何查询数据预热,如何进行数据预热,怎么知道哪些数据需要预热?


  在数据量非常大的时候,使用 redis 存在瓶颈,有没有更好方案?


  Redis 中的大 Key 和大 Value 如何处理?


  介绍下最近项目的一个技术栈以及项目上有亮点的地方整体谈谈


  谈谈项目的业务场景具体是什么?


  队列中堆积大量数据如何快速写到数据库


  列式数据库跟传统数据库或者 es,查询方面索引有什么区别?


  多个服务之间有会话,如何保证会话的一致性?


  介绍一下你觉得自己做得比较好的项目,拿出来分享下。


  在项目中,遇到过哪些比较难处理的技术或者业务问题


  你们项目中有没有遇到过如并发度等方面问题的难点


  在提供技术方案时,有没有选项报告和性能测试?


  你做的项目中,你觉的哪些是你考虑得有欠缺的,后面有时间后,重新回顾是觉的可以优化的地方。


  你们系统是使用什么垃圾回收器


  JVM 你有做过哪些调优?


  元空间内存占满后你有分析它是怎么一个使用情况?


  Spring 中一个对象注入有几种方式,它们有什么区别


  AOP 是如何实现的?


  类加载器如何避免类的重复加载即有多个实现如何选择加载哪个类?


  为什么双重锁单例要使用 volatile 关键字


  你觉的自己的开发效率如何?


  个人对于工作强度要求如何?


  对于想 SpringCloud 这一套,开发久了微服务也来越多,之间的功能会产生一些交集,想微服务之间的职责划分,一般都有哪些原则。


  有做过一个服务/领域的划分,指定一些领域内部的一些能力,是否有做过?


  平常对于自己架构能力的提升,你有哪些渠道、研究过哪些网站,系统?


  微服务里面中,分布式事务、分布式 ID、微服务发现和配置,RPC 通信,分布式锁,哪些比较熟,有读过一些源代码?


  雪花算法有什么问题?在某些情况下会产生重复的 ID


  Spring 循环依赖了解?


  声明式事务失效的场景有哪些


  为什么 HashMap 不一上来就树化?


  树化阈值为什么是 8


  栈帧中都包含哪些信息


  lambda 中调用局部变量,局部变量为什么定义成 final


  过滤器和拦截器的区别


  Http 通信和 Socket 通信在使用角度来说主要的区别体现在哪些方面?


  Http 从 1.0、1.1 到 2.0 到 3.0 中间有许多改动,这些具体的改动是哪些?


  JVM 在 8、11、13 的垃圾回收期算法的调整,有具体了解过?


  MySQL 主从节点部署,涉及到全量和增量同步,它们的大概流程是怎么样的?


  Redis 一般在使用的时候会考虑哪些问题?


  Http 协议,客户端操作服务端时需要考虑哪些问题呢?


  如何对一个接口开启跨域访问?


  有几种方法可以对接口进行限流?


  由于文章篇幅限制,部分面试题目的介绍就简单到此,想要第一时间获取最新面试题目,欢迎关注博主在 GitHub 开源的面试项目:IT知识小屋

心里话

  如果大家有任何疑问,欢迎关注/私信博主,博主会在看到消息第一时间进行回复。


  最后,祝愿大家能够找到符合心愿的 Offer。

相关推荐

  面试知识开源项目:IT知识小屋,面试真题、面试避坑、996 公司、算法、电子书籍等内容干货第一时间分享


  实用工具开源项目:轮子之王,拿来即用的常用开发工具(Github,Gitee 累计 280+star)


  代码自动生成开源项目:IT脚手架,一键生成项目基础结构(通用依赖)+数据表实体+controller+service 等层级代码

用户头像

InfoQ&阿里云签约作者,公众号:IT学习日记 2019-11-25 加入

平台:InfoQ&阿里云签约作者,CSDN、头条、知乎、掘金优质创作者,全网粉丝5w+。 领域:专注输出JAVA、数据库、算法等领域干货知识。 微信:yyuuyy1235

评论

发布
暂无评论
“找工难&金三银四”,关于面试,你需要知道的这些事_面试_IT学习日记_InfoQ写作社区