“2023金三银四”又来了,关于面试,你需要知道的这些事

举报
IT学习日记v 发表于 2023/03/27 22:47:52 2023/03/27
【摘要】 2023年最新后端面试真题+简历优化

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

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

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

image-20230325192907978

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

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

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

面试准备

  主要大纲如下:

面试大纲

简历编写

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

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

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

image-20230326170340554

  教育背景模块:

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

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

image-20230326170103511

  求职意向模块:

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

image-20230326165634910

  专业技能模块:

image-20230326165738288

  技巧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,SpringCloudSpringMybatisPostgreSQLRedisPromethuesGrafana等

    项目职责:
         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知识小屋

  简历可能提问问题大纲:

image-20230326155004831

  面试题目大纲:

image-20230326154818024

  部分题目列举:

  如何进行自我介绍?

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

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

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

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

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

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

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

  你开发的项目中都是使用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等层级代码

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。