美文网首页
看完这篇文章,后端面试再也不会一轮游了!!!

看完这篇文章,后端面试再也不会一轮游了!!!

作者: 程序员小鬼 | 来源:发表于2023-07-24 01:34 被阅读0次

    我是一名程序员,主要从事后端开发的工作,目前工作6年,在两家公司待过,最近在看后端开发的机会,但是几次面试下来,情况都不是很理想。总结了一下原因,大概是几种情况:

    客观因素

    1.互联网行业不景气

    当前的互联网行业正在经历前所未有的危机。曾经是最具生命力的领域之一,每天都有新的创新和突破。然而,如今一切都在发生改变。创业公司倒闭的速度越来越快,投资者们不再愿意将资金投入这个行业。大公司也面临着巨大的挑战,市值正在下滑,利润也在逐渐减少。

    这一切的根本原因在于,互联网行业已经变得过度饱和。越来越多的人试图进入这个领域,竞争异常激烈。这种激烈的竞争不仅导致了行业的拥挤,还使得创新变得越来越难。因为每个人都在试图复制别人的成功,而不是寻找自己的突破口。

    这种过度饱和的局面也影响了整个市场的投资氛围。投资者开始更加谨慎,对互联网公司的投资变得更加审慎。以往那种盲目的热投资现象逐渐减少,他们更加倾向于投资那些具有真正差异化和创新能力的企业。

    在这样的形势下,互联网行业需要进行深刻的思考和调整。对于创业公司来说,要找到真正独特的切入点,避免盲目跟风,寻找具有持续竞争优势的业务模式。对于大公司来说,需要重视技术创新,不断优化产品和服务,以保持市场竞争力。

    虽然互联网行业当前面临挑战,但这也是一个机遇与挑战并存的时期。只有通过创新和不断超越自我的努力,才能在竞争激烈的市场中脱颖而出,并持续保持活力。

    2.僧多粥少,岗位竞争力大

    互联网行业通常是一个充满竞争的领域,因为许多求职者都希望在这个行业中找到机会。互联网行业吸引了大量的人才,其中包括技术人员、市场营销专家、产品经理、设计师等各种不同的职业。

    这种"僧多粥少,岗位竞争力大"的现象有几个原因:

    • 行业吸引力:互联网行业具有创新性、灵活性和潜在高回报的特点,因此吸引了大量求职者希望在这个行业发展。上面也提到过了,之前互联网涌入了太多的人,一旦行业不景气,裁员变多,市场上找工作的人就多,以前一个岗位只有5-10个人竞争,现在一个岗位可能有上百个人竞争。

    • 技术进步:互联网行业不断发展和变化,新技术的出现和老技术的淘汰导致了不同技能需求的变化,求职者必须持续学习和提升自己的技能,以保持竞争力。AI的火热,让很多工作可以用机器代替,所需要的人力缩减了不少。

    • 创新和创业:许多人梦想着在互联网行业创业或参与初创公司,这也导致了创业公司的大量涌现和对有限职位的竞争。

    • 城市集聚效应:一些大城市通常成为互联网行业的中心,例如硅谷、北京、上海等,这也导致在这些地区的岗位竞争更为激烈。

    • 知名企业吸引力:一些知名的互联网企业因其品牌和福利待遇吸引大量求职者,从而增加了岗位的竞争。

    面对这种激烈的竞争,求职者需要有所准备和谨慎选择,同时不断提升自己的技能和知识,增强个人竞争力。建议寻找适合自己背景和兴趣的领域,灵活适应市场需求,积极拓展人脉,提高自己在市场上的知名度和竞争力,以增加获得心仪岗位的机会。

    主观因素

    1.准备不够充分

    后端开发岗位的面试需要准备的东西比较多需要做好充足的准备才能在几百号人中脱颖而出。后端面试需要准备的东西主要有下面这些内容

    (1).源码阅读

    hashMap、ThreadPoolExecutor、ThreadLocal、AQS、CurrentHashMap、ReentrantLock、spring(可选)

    (2).算法准备

    多线程:生产者消费者模式、多线程顺序打印、单例模式

    算法:排序、二分、双指针、滑动窗口、回溯、二叉树、动态规划

    (3).原理理解

    JVM、内存模型、垃圾回收器、类加载器、线程池(创建流程、核心线程怎么保持的?非核心线程怎么回收的?线程怎么重复利用的?)

    JVM.png

    (4).Redis

    为什么快?高可用是怎么实现的?

    redis.png

    (5).MySQL

    ACID是怎么实现的?不同存储引擎也有什么区别?高可用怎么实现?

    mysql.png

    (6).spring

    原理、循环依赖怎么解决、注解的理解

    (7).消息中间件

    作用是什么?消息怎么储存的?高可用怎么实现?

    rocketMQ.png

    (8).计算机基础

    操作系统、计算机网络、数据结构

    (9).软技能

    项目推进:(如何推荐一个项目?遇到问题怎么处理?)

    优点缺点:优点往个人习惯、能力上说,缺点往经验上说

    学习能力:技术调研、归纳总结、反思

    未来规划

    (10).项目经历

    做过的一个项目(一定要提前准备):背景、过程、难点、怎么解决的

    项目中遇到的问题:慢sql、full gc、慢接口排查

    (11).系统设计

    常见的系统设计问题:秒杀系统、短URL系统、关注关系(feed流)、设计10亿流量的IM系统、设计网盘...

    设计流程:需求了解(需求澄清 requirement clarification)、系统接口定义(System interface definition)、粗略估算(back-of-the-envelope estimation)、估算系统的规模、定义数据模型(defining data model)、系统核心模块的类图、高级定义(high level design)、细节设计(detail design)、识别并解决瓶颈(identitying and resovling bottlenecks)

    (11).场景题目

    消息积压处理、订单结束,2天后自动评价、大key问题、缓存穿透、缓存击穿、缓存雪崩

    面试准备.png

    2.回答问题不够条理

    如果你觉得回答不够条理,可以采取以下方法来改进你的回答:

    1. 制定提纲:在回答问题之前,可以先列出一个简单的提纲或者按照问题要求,把回答的关键点先想好,确保回答的结构清晰。

    2. 分段回答:将回答划分为几个段落,每个段落讨论一个主题,这样可以更有条理地组织你的想法。

    3. 使用连接词:使用连接词,如"首先"、"其次"、"最后"等来引导回答的进程,帮助听众更好地理解你的观点。

    4. 简洁明了:尽量避免冗长的叙述,保持回答简洁明了,突出重点。

    5. 重复关键信息:在回答的过程中,适当地重复关键信息,以加强印象和理解。

    6. 实例说明:在回答问题时,可以举例说明,这样能够更加生动地展现你的观点,并且更容易让人理解。

    7. 练习口头表达:口头表达的能力可以通过练习来提高。可以找一些朋友或家人进行模拟面试,或者在镜子前练习,提高自己的表达流畅度和清晰度。

    8. 自我评估:在回答问题后,可以对自己的回答进行自我评估,看是否条理清晰,有没有遗漏重要信息,并进行适当的调整和改进。

    记住,条理清晰的回答能够更好地展现你的思维和能力,帮助你在面试中留下良好的印象。练习和准备是提高口头表达能力的关键,多进行练习和反思,可以帮助你在面试中表现更加出色。

    回答问题.png

    相关文章

      网友评论

          本文标题:看完这篇文章,后端面试再也不会一轮游了!!!

          本文链接:https://www.haomeiwen.com/subject/yzyqpdtx.html