23届后端上岸大厂总结

众所周知,受疫情影响,互联网迎来了『寒冬』,大厂 HC 骤减,腾讯基本不招人,华为也不再是有手就行,阿里某些部门流传只招 23 所院校,在如此严峻的形势下,上岸大厂变得愈发困难...

1. 个人介绍

大家好,我是一枫。本科末流 211,硕士中流 985,均是电子信息专业,非科班、无实习、无比赛,最终上岸字节跳动,岗位是后端开发。

我是在读研的时候接触到的 Java,在 B 站学习了 Java 基础、MySQL 基础、JavaWeb、SSM、SpringBoot,但是那时候只是懂个皮毛,比如 MySQL 就只会 Insert、Update、Select、Delete,像什么索引、事务、慢查询等都一窍不通。

正式准备秋招是从 2022 年的一月份开始的,经过长达大半年的努力,拿到了字节、美团、携程等 offer,虽然说并不多,但也是很满意了。

在我的面试过程中,基本上技术面都能够通过,很多是在 HR 面或排序中挂掉了,如蚂蚁、OPPO、蔚来等,在这里还是提醒一下大家,如果有机会实习的话,一定要实习,因为现在后端开发比较卷,在大家知识面差不多的情况下,企业肯定还是会倾向于招聘有实习经验的同学,比如我在面京东的时候,面试官就很可惜的说,我虽然基础较好,但是前面的几个竞争者都有美团、华为等公司实习,我这方面比较吃亏,还安慰我说可能还有其他部门捞...

2. 面试经验

下面是对秋招整个过程的一点小建议,希望有所帮助。

  • 在制作简历时,有些自己只懂皮毛的,最好不要写上去,主要写自己比较熟悉的内容,比如之前我在简历上写了 ElasticSearch,但是每次面试官问,我都回答的不太好,反而减分,之后就将它从简历上删掉了。
  • 对于简历投递,建议大家越早越好,因为现在的形式是 HC 较少,而候选人较多,到了后期很可能就没有面试机会了,而且如果投的早,即使挂了,后面也可能被捞。我有些公司就因为投递较晚失去了机会,比如 zoom 二面结束后,公司全面锁了 HC,即使面试表现很好,也无济于事。
  • 建议大家总结一份属于自己的知识点笔记。面试中有很多高频问题,经常会被问到,比如 synchronized 的锁升级过程、Java 运行时区域有哪些、浏览器输入 URL 后回车发生了什么等,大家可以提前准备好一个面试版本,如果面试官问你了,就可以『背诵』笔记上的内容。
  • 建议大家多面试,不要怕,刚开始可以从一些中小厂练起。面试也是有一定技巧的,刚开始面试的时候难免紧张,可能语无伦次,答的很差,但随着面试多了,慢慢的就找到了感觉,不仅能够流畅的回答问题,甚至可以逐步引导面试官问自己懂的部分,彰显出自己的实力。对于不能实习的同学,建议也参加一下暑期实习招聘,主要就是让自己了解面试的过程,总结套路,并知道自己有哪些不足,同时有些公司面试通过了还可能会发放秋招直通车。
  • 在面试过程中,如果遇到自己可能不太懂的知识点,不要立马说自己不会,可以先思考一会,说不定就想起来了。同时即使有些内容不会,也可以一些与之相关的,比如问 Redis 的字典底层原理,如果不会,可以说自己懂 Java HashMap 的底层原理。并且对于一些自己比较熟的内容,可以适当的延伸,不要总是等着面试官问。比如面试官问 HTTP 和 HTTPS 的区别,除了简单地说几点区别外,还可以主动聊 HTTPS 为什么安全,SSL/TLS 握手的过程等。
  • 因为现在主要是线上面试,大家可以对自己的面试过程录屏,然后进行复盘,一方面是查一下自己不懂的知识点,另一方面是看一下自己在语速、表情、姿态、语言等方面是不是有需要改变的地方。

3. 学习经验

因为我主要准备的是 Java 后端,下面说一下个人的经验。

在一场面试过程中,一般包括三方面的考察:基础知识、项目经历、算法能力,都比较重要!

(1)基础知识

这方面涉及的内容比较多,我认为以下内容是较为重要的:Java 基础、JVM、Java 并发、MySQL、Redis、计算机网络、操作系统、Spring。一般情况下,我会先看 B 站上的视频入门,然后再看书籍深入,不懂的或者欠缺的知识点再搜博客看。

  • Java 基础

    对于 Java 基础部分,重点是 Java 集合,比如 HashMap,这块我没有看过具体的书籍(《Java 核心技术 卷一》一直在吃灰...),主要是看的博客和源码,也会看一些网上总结的面试指南,如 JavaGuideCS-Notes 等,都是非常全面的。

  • JVM

    这块我以前也没了解过,一直感觉比较难,但后来面过几场试后发现,问得问题都比较固定,比如 Java 运行时的五大数据区域、垃圾收集算法&垃圾收集器、类加载过程等。推荐如下:

  • Java 并发

    这块比较重要,面试高频点,比如 synchronized 锁升级、volatile 原理、ThreadLocal 原理、线程池原理等。推荐如下:

  • MySQL

    这块比较重要,作为后端,我们需要经常和数据库打交道,推荐如下:

  • Redis

    这块面试题较为固定,比如 Redis 的数据结构、持久化、哨兵、缓存击穿、缓存穿透、缓存雪崩、Mysql 和 Redis 的数据一致性等,推荐如下:

  • 计算机网络

    这块重点需要掌握以下协议:HTTP、HTTPS、DNS、TCP。推荐如下:

    • 视频:计算机网络微课堂(有字幕无背景音乐版),用动画演示,通俗易懂,而且视频相对不长。
    • 书籍:《网络是怎么连接的》,内容不长,像读小说一样,能够知道计算机网络的一个全貌。
    • 博客:图解网络,小林coding 的文章汇总,应付秋招基本够用,平常会分享一些秋招的面试题,对我帮助蛮大的。
  • 操作系统

    这块我被问到的很少,基本也就是问一下为什么要有虚拟内存、进程调度有哪些算法等。推荐如下:

  • Spring

    对于 Java 开发而言,Spring 肯定是非常重要的,推荐如下:

  • 其他

    • 目前对于 MQ 的考察慢慢多了起来,我学习的是 RabbitMQ,比较简单,大家也可以学一下 Kafka,用的更多一点。同时可以了解一下 SpringCloud 相关内容(没时间就算了),RabbitMQ 和 SpringCloud 我是看了视频:SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud
    • 面试中也可能会出现海量数据处理的问题,可以看这篇文章
    • 面试中也可能会出现一些智力题,我是看到牛客的一些面经上的智力题后,百度搜了一些常见的,如赛马问题、过桥问题等。
    • 随着后端的不断内卷,现在校招生也可能会被问到设计模式了,这块挺难的,毕竟是思想性的东西,大家需要提前准备一下,不需要了解全部设计模式,只需要熟悉其中的几个能够在面试中说即可,比如单例模式(必会)、代理模式、工厂模式等。
    • 同时目前面试中也出现了越来越多的场景题,这个也是挺困难的,它不像基础知识那样会有固定的答案,属于一种开放性问题,更考察小伙伴们的系统设计能力以及知识的全面性,我是搜了一些经常会出现的场景题,比如秒杀、微博发帖、短地址设计等,然后在面试中如果遇到,就考虑如何引导面试官问一些基础性的问题,比如 MySQL、Redis、RabbitMQ 等。

(2)项目经历

因为没有实习,所以这块我是比较匮乏的,大家能去实习还是要去实习!我简历上一共写了两个项目,分别是牛客网的仿牛客论坛项目以及读研期间做的一个导师横向课题。因为做的横向课题与后端关系不大,基本没有被问过,大部分面试官都是问我仿牛客论坛项目。

仿牛客论坛这个项目涉及的内容挺丰富的,而且技术栈比较多,非常适合练手。我是在跟着敲完这个项目后,对项目进行了重构,比如它原先使用的是 Kafka,我换成了自己熟悉的 RabbitMQ,比如使用 SpringSecurity 和 JWT 重构了登录部分,又比如将项目重构出了一个前后端分离的版本(前端找的实验室同学做的)。本来还想着将私信功能用 WebSocket 进行重构,但是时间不够,我也不想再折腾了...

大家在做项目后,也可以想想能不能利用自己的所学知识点对项目进行重构,同时提前想好如果面试官让介绍项目时应该如何说,问项目的亮点和难点时,应该怎么回答(如果实在没有亮点或难点,也可以说一下自己学到了哪些知识,比如如何限流的、用到了 Redis 的哪些数据结构等)。

(3)算法能力

近些年来,算法是后端面试的重中之重,基本上每场面试都会写至少一道算法题,大家务必重视。

我是先看了《算法 第 4 版》这本书了解了一些基本的知识之后,便开始在力扣刷题了,一共刷了 200 道左右,主要刷的就是 Hot100剑指 Offer,期间也看了一遍代码随想录,学习了挺多做题套路。

在刷题过程中,Hot100 是超级重点,很多面试官都会出上面的题目,基本上 Hot100 能吃透,面试题目问题不大,我整个秋招一共刷了 3 遍 Hot100 和 2 遍剑指 Offer,后期刷的速度越来越快,比如写快排基本都不用怎么想,几分钟就完整写出来了。

4. 碎碎念

在准备秋招过程中,我觉得最重要的一件事就是做笔记了,毕竟后端的知识非常多,某个知识点一旦不回顾,可能很快就忘了,整个过程中,我一共记录了超过二十万字的笔记,有三百多页。

请添加图片描述

网上总结的知识点笔记一方面可能知识点不全,另一方面可能写的比较难懂,甚至有些错误。而自己整理的笔记,毕竟是写给自己看的,那么肯定是更易于理解的,下次忘了的时候也能够通过看笔记迅速回忆起来。

每隔一段时间,我都会全面复习自己的笔记,甚至『背诵』,而且会经常对自己的笔记进行重新整理,毕竟伴随着学习的深入,很多知识点可能理解的更为透彻。

最后,大家要稳住心态,不要放弃任何机会,加油,你一定会找到理想的工作!

#面试##秋招##春招##面经##实习#
全部评论
跪求笔记
4 回复 分享
发布于 2023-03-09 22:56 湖北
原来真的有没实习能进大厂的牛人
3 回复 分享
发布于 2023-03-09 16:13 广东
求笔记
点赞 回复 分享
发布于 2023-03-08 22:16 辽宁
求笔记
点赞 回复 分享
发布于 2025-08-28 22:45 黑龙江
求笔记
点赞 回复 分享
发布于 2025-02-12 19:31 北京
求笔记
点赞 回复 分享
发布于 2024-08-19 00:05 上海
求笔记
点赞 回复 分享
发布于 2024-06-25 14:35 四川
大佬求笔记
点赞 回复 分享
发布于 2024-05-12 19:51 上海
求大佬笔记
点赞 回复 分享
发布于 2024-03-06 14:16 浙江
求大佬笔记
点赞 回复 分享
发布于 2024-02-18 17:28 安徽
大佬求笔记
点赞 回复 分享
发布于 2024-02-13 17:07 云南
求笔记,跪求!
点赞 回复 分享
发布于 2024-01-11 20:42 安徽
求笔记大佬
点赞 回复 分享
发布于 2024-01-09 16:54 甘肃
大佬求笔记!
点赞 回复 分享
发布于 2023-12-24 15:40 湖南
大哥,请问可以发下笔记吗
点赞 回复 分享
发布于 2023-12-11 12:16 陕西
求笔记
点赞 回复 分享
发布于 2023-11-24 17:33 湖南
求笔记!
点赞 回复 分享
发布于 2023-09-07 00:17 湖北
大佬能发笔记吗
点赞 回复 分享
发布于 2023-08-14 20:29 重庆
大佬求笔记!
点赞 回复 分享
发布于 2023-08-10 16:10 广东
大佬求笔记!
点赞 回复 分享
发布于 2023-08-09 18:21 四川

相关推荐

02-23 19:06
已编辑
西北工业大学 Java
点赞 评论 收藏
分享
02-25 09:55
已编辑
门头沟学院 Java
2.4 一面2.6 二面2.9 三面(hr面)2.13 oc1.15号收到面试电话那会就开始准备,因为一开始没底所以选择推迟一段时间面试,之后开始准备八股,准备实习可能会问的东西,这期间hot100过了有六七遍,真的是做吐了快,八股也是背了忘,忘了背,面经也看了很多,虽然最后用上的只有几道题,可是谁知道会问什么呢自从大二上开始学java以来,一开始做外卖,点评,学微服务,大二下五六月时,开始投简历,哎,投了一千份了无音讯,开始怀疑自己(虽然能力确实很一般),后来去到一家小小厂,但是并不能学到什么东西,而且很多东西都很不规范,没待多久便离开,大二暑假基本上摆烂很怀疑自己,大三上因为某些原因开始继续学,期间也受到一俩个中小厂的offer,不过学校不知道为啥又不允许中小厂实习只允许大厂加上待遇不太好所以也没去,感觉自己后端能力很一般,于是便打算转战测开,学习了一些比较简单的测试理论(没有很深入的学),然后十二月又开始继续投,java和测开都投,不过好像并没有几个面试,有点打击不过并没有放弃心里还是想争一口气,一月初因为学校事比较多加上考试便有几天没有继续投,10号放假后便继续,想着放假应该很多人辞职可能机会大一点,直到接到字节的面试,心里挺激动的,总算有大厂面试了,虽然很开心,但同时压力也很大,心里真的很想很想很想进,一面前几天晚上都睡不好觉,基本上都是二三点睡六七点醒了,一面三十几分钟结束,问的都不太难,而且面试官人挺好但是有些问题问的很刁钻问到了测试的一些思想并不是理论,我不太了解这方面,但是也会给我讲一讲他的理解,但是面完很伤心觉得自己要挂了。但是幸运的是一面过了(感谢面试官),两天后二面,问的同样不算难,手撕也比较简单,但也有一两个没答出来,面试官人很好并没有追问,因为是周五进行的二面,没有立即出结果,等到周一才通知到过了,很煎熬的两天,根本睡不好,好在下周一终于通知二面过了(感谢面试官),然后约第二天三面,听别的字节同学说hr面基本上是谈薪资了,但是我的并不是,hr还问了业务相关的问题,不过问的比较浅,hr还问我好像比较紧张,而且hr明确说了还要比较一下,我说我有几家的面试都拒了就在等字节的面试,三面完后就开始等结果,这几天干啥都没什么劲,等的好煎熬,终于13号下午接到了电话通知oc了,正式邮件也同时发了,接到以后真的不敢信,很激动但更重要的是可以松一口气了,可以安心的休息一下了终于可以带着个好消息过年了,找实习也可以稍微告一段落了,虽然本人很菜,但是感谢字节收留,成为忠诚的节孝子了因为问的比较简单,面经就挑几个记得的写一下一面:1.实习项目的难点说一下2.实习中用到了哪些测试方法3.针对抖音评论设计一下测试用例4.手撕:合并两个有序数组二面:1.为什么转测开2.线程进程区别,什么场景适合用哪个3.发送一个朋友圈,从发出到别人看到,从数据流转的角度说一下会经历哪些过程4.针对抖音刷到广告视频设计测试用例5.手撕:无重复字符的最长字串
厂办龚彪:锲而不舍 金石可镂
查看8道真题和解析
点赞 评论 收藏
分享
评论
127
790
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务