Java后端开发暑期实习经验总结,记一个在互联网寒冬转码的同学的煎熬

从开始为转开发找工作做准备已经过去半年了,距离自己确定实习去向开始躺平也有半个多月了,上海也终于解封了,趁假期做个简短的总结。

今年正值互联网寒冬,大厂花式裁员,上海疫情爆发,数月封控,可以说是雪上加霜。从3月开始面试到拿第一个offer花了一个多月,之后又迫于导师压力而放弃,期间的焦虑和打击接连不断,甚至陷入该不该选择这条路的自我怀疑。

值得庆幸的是,运气最后还是到来了,在5月上旬拿到心仪大厂实习的offer时心里就在想:

可能这就是好事多磨吧

本文简单缕一缕以下东西

结果一览,到底有多难,看看结果

时间线,这半年怎么过的

经验总结,重要的事情和教训

各大厂面试特点,吐槽

结果一览

通关进度

公司

占比

评价

无面试机会

米哈游、小红书、腾讯、网易、百度、京东、花旗

6/16=38%

面子都不给,点名批评米哈游

面试挂

阿里(CTO、支付宝)、美团、华为、招行、携程

6/16=38%

面试是一种折磨,特别是不通过的时候

发offer

字节(抖音支付、电商)、拼多多、PayPal

4/16=25%

谢谢救命之恩

最终选择

PayPal

1/16=6%

外企真香,虽然是唯一一个面试的外企

为了拿到实习我一共投了16家公司的后端开发岗位,极少数公司没有笔试,总计笔试11场。10家公司进入面试环节,面试23次

按发offer为有效进行计算,笔试的有效率为9%,面试的有效率为57%

按最终选择为有效进行计算,笔试的有效率为0,面试的有效率为17%

Why PayPal?

字节、拼多多、PayPal三家公司,为什么选PayPal:

搜前辈的工作体验。脉脉提问,知乎搜公司工作氛围,PayPal评价远高于其他两家。

1075工作制,工作生活平衡,实习之余还能有更多的时间准备秋招、娱乐

部门里分配的组和自己技术栈高度匹配,自己也比较感兴趣

面试体验非常好,交流愉快,印象深刻

因为我只投了两家外企,其中只有PayPal进入了面试,不清楚这些优点是不是外企的普遍风格,秋招一定会多投外企,具体情况到时候分享。

时间线

阶段

具体事项

心态

2021.10~2021.11

准备工作

初识数据结构与算法,上手Java项目

转码而已,硬卷

2021.12~2022.2

刷算法题,背面试题

leetcode剑指offer+hot100,codetop高频题,javaguide八股文汇总

卧槽怎么这么多,卷不动了

2022.3~2022.4

背题,笔试及面试

高强度时间段,主要是背题而不是刷题。基本上所有笔试和面试都在这个期间。在生日收到了人生中第一个offer,字节抖音支付。

长时间没有offer的焦虑,收到第一个offer的开心,offer被迫放弃的心累

2022.5

决策,躺平

选择paypal的offer,进入入职流程,终于开始无忧无虑地搞自己的事情

连收三个offer,柳暗花明,有了选择的权利

2022.6

入职

租房,正式入职

好起来了

经验总结

基础很重要

要拿到大厂的offer,算法题和八股文是必考察的。

算法题怎么刷,按顺序来

对于转开发的同学,基本没有编程经验,首先最好看一个讲算法的视频,我用的这个,熟悉下算法到底是个什么东西有哪些

有了基本认知后上leetcode刷题,不用刷很多,两项就够了:先刷剑指offer,再刷hot100

上codetop刷高频题

codetop怎么选题做

部门划分太细了,导致出来的结果太少,不用选。一般选择公司和岗位就可以了。例如我的截图里面选字节跳动的后端开发岗位,就出来了数百道真题。

点击频度,按面试问到的几率从高往低做。

选两三个心仪的大厂,然后刷掉高频前100就足够了。

算法题实际考察情况

分为两种:笔试算法题、面试算法题

笔试算法题基本不可能出现原题,是比较开放的题目,有点测智力的感觉,难度也会偏高。但是只要前述leetcode以及codetop刷得足够熟练,肯定是可以做出一部分的。好消息是,笔试结果基本上不影响你的后续流程,就算拿满分也可能进不了面试(点名批评网易),就算只做出来一点也可能进面试(阿里),有的厂甚至没有笔试(点名表扬PayPal,字节),大家就当练手吧。

面试算法题基本全是原题,只要按着上述刷题步骤来,可以说没啥问题。面试题的目的不是考察思考能力,是考察最基础的敲代码的能力,能把代码顺利敲出来解释清楚就给过了。

刷多少才够量?

按前述步骤来刷,考虑到一些重复的题,差不多可以达到200~300道,我目前只刷了两百多,感觉已经入门了,解决大多数面试算法题不在话下。刷题的时间最好在面试前几个月,面试的时候真的很累,主要是复习刷过的题,再去刷新题容易心力憔悴而且作用也不大。

给大家看下我目前为止力扣截图,我自从3月开始面试后基本没有刷过新题!

八股文

按期望从事的编程语言、工作内容做准备,除非时间特别充裕不要自己总结,去github找现成的总结仓库。以java后端开发为例,一个网站就可以搞定。

背javaguide足以应对面试,遇到不懂的学会google然后记笔记。需要注意的是要结合自己在简历里写的技术栈重点准备,因为基本上都是根据简历提问,只有简历上写了才会问你。

简历决定一切

找工作,简历就是一切:

简历没写好,面试资格都没有

简历写得差,面试官问不出东西,肯定会挂

简历写得好,回答流畅疙疙瘩瘩,怀疑造假或者经历划水,肯定会挂

简历写得好,回答流畅体现出自己的能力,给过

具体怎么写:

推荐WonderCV平台,找优秀示例对着自己模仿

一定要和岗位高度匹配,推荐根据要投递的岗位工作描述进行撰写,尽可能写和其相关的技能和经历

如果实在没有匹配岗位的经历,就写体现自己能力的重要经历

学会在面试中展现能力

面试我个人体验下来主要就考察两点:基础是否扎实;有没有能力胜任这份工作。

除了基础的算法和八股文,最能体现能力的就是自己的经历了,所以简历里面的实习或者项目经历至关重要,面试前一定要牢记,尽可能问啥啥都能答得上来。

什么样的经历最吃香:

实测CRUD的工作面试官是不在乎的,除了前述的算法和八股文以外,面试官基本只问体现个人思维能力的经历。

我写了两段,第一段是和java后端开发高度匹配的,但是主要是CRUD;第二段和java匹配度较低,但是来源于实际项目,有较大的工作量及产出。

结果即使我投递的java开发,基本都问的我第二段经历,问得我都快吐了,23次面试基本都问了,你们知道把同一段经历说23次是多么痛苦吗。

好事多磨

互联网竞争真的很激烈。如果你不是能力突出或者不是卷王,势必面临面试的洗礼。如果你还跟我一样是个非科班的转开发同学,第一件事就是做好心理准备。

面试是场持久战,学会接受失败,学会等待。

这句话也是送给我自己的,当收到自己心仪公司的感谢信的那种失落,说实话我自己也难以释怀,伤心过后还得准备下一轮面试,失败没关系,失败后快速进入状态是关键。

保持乐观,缓解焦虑,尽全力之后需要做的就是等待好消息了。

缓解负面情绪的方式很多,我会锻炼一会、洗个澡、睡个觉、吃点好吃的。

大厂面经

推荐上牛客搜,数不胜数,我这里列举下参加过面试的大厂主要考察内容和面试特点。

公司

考察内容

特点

阿里

算法,八股文,项目经历,系统设计

喜欢问让你写一个xxx系统,怎么设计,难点及优化。推荐上微信公众号或者CSDN搜一下相关面经,背几个系统设计就熟悉了。我找到了一个不错的讲系统设计的仓库,说明国外面试貌似也考得很多

美团

算法,八股文,项目经历

侧重基础考察,八股文占主体

华为

算法,八股文,项目经历

侧重项目经历和算法,面试算法考得很难

招行

八股文,项目经历

侧重基础考察,八股文占主体

携程

八股文

遇到个很差的面试官,问了八股文就草草结束了

字节

算法,八股文,项目经历,系统设计

考察比较全面,难度适中,而且包容度蛮大的,golang开发可以接受java背景的,甚至面试直接问java的八股文

拼多多

算法,八股文,项目经历

考察比较全面,难度适中;拼多多对基础知识的考察是我印象最深刻的,从题目项目出发一路延伸聊各种技术原理,只能说完全对拼多多这家公司改观了,技术很牛,做技术的人也很牛。

PayPal

算法,八股文,项目经历

侧重项目经历,主要考察个人解决问题的能力,算法八股文很少很少。还要考察英语,包括自我介绍、项目介绍、为什么选择这个岗位、职业规划等。聊天过程相当轻松,面试官比其他公司明显更有活力和热情,可能这就是wlb的魅力吧。。。

感谢阅读,祝愿屏幕前的你前程顺利٩(๑>◡<๑)۶