查看原文
其他

找实习,上岸拼多多!

编程导航-郑宗洋 编程导航 2024-01-21

面试是在职业生涯发展过程中非常重要的一环,它不仅是获得职位的关键,也是展示自己专业能力和个人素质的重要机会。无论什么行业,无论是什么职位,面试往往是必不可少的一步。

因此,面试过程中发挥的表现和所展示出的能力将直接影响到是否获得理想的职位,并影响职业发展和成长,所以需要充分重视面试这个关键环节。

今天给大家分享一篇编程导航星球中的一位鱼友的学习以及面试总结,他今年 2 月份开始准备的实习,一直到 3 月份接到第一个面试,后面一共面试了 7 家公司,最后成功上岸拼多多 Java 后端开发,希望能对小伙伴有所帮助。

以下是星球原文内容。

星球原文链接:https://t.zsxq.com/0eOc9O9Xd
本文已获得郑宗洋授权

前言

大家好,我是 4everyang。我在鱼皮的星球已经一年多了,这次来分享一下我找实习的经历。我是今年 2 月份开始准备的实习,前期基本是在刷题,后期一直在完善自己的八股。从 3 月初开始接到第一个面试,一直到 5.23 面完华为云的二面。一共面试了 7 家公司,最后获得了拼多多、OPPO、万得金融、荣耀的 Offer,还剩华为(已 OC)。目前准备入职拼多多,职位是 java 后端。

面经我之后会陆陆续续的发出来,这次分享主要是想分享一下我的经历和心路历程,给鱼友们一点正能量。记住,甭管自己是不是科班、本科是不是双非,只要有一丝的机会,铆足劲往前冲就完事了,千万不要陷入自我的精神内耗之中。

学习经历

我是去年 3 月份开始学 java,本科是 C 语言用的多,研一是 python。java 的基础我过了一个多月左右(比较慢)。4 月份开始学习MySQL(学的也比较久,而且感觉内容极其枯燥)和 JDBC(感觉 JDBC 时间赶可以先直接跳过)。之后就是准备期末考试和进行研究生的科研项目。6 月尝试看了用户中心的项目(根本看不懂,只能跟着鱼皮一行行代码敲了,说实话不要这么学,非常 低效),一直到 7 月才开始学习 JavaWeb 和 Spring,因为当时需要部署一个机器学习算法到平台,速成了一下 Django,做了一个简易的服务器项目。8月开始学习 MyBatis,9 月学习 spring MVC 和 Spring Boot,看鱼皮的用户中心项目入门 SSM 项目开发。到 11 月左右使用 SpringBoot 开发实验室项目。在 8 月份到 12 月份期间,陆陆续续开始在刷算法。将代码随想录勉强过了一遍。

1 月 11 开始正式准备暑期实习,当时觉得东西实在是太多了,根本准备不过来,也是那个时候开始紧张起来的,前期一直没有紧张起来,其实紧张是好事,但是紧张过度到焦虑,那就适得其反了,所以大家一定要控制好自己的情绪,一定要乐观。

开始准备暑期实习的时候,我一开始没有方向,直接去看了 JavaGuide 和小林 Coding(我感觉是第一个坑),看了几天感觉实在是太多了,没有重点,也记不住。随后我像师兄请教,拿到了师兄去年的面经。我开始转换思路,首先将师兄面经的重点问题进行归类,然后根据重点问题开始逐步击破。


这里只截了一小部分供大家参考。事实证明,面对面经来准备面试绝对是最高效的复习方式,经过了一周多到两周的复习,我大概对面试会问什么问题有一个初步的了解。并且从 12 月以来,我的算法就几乎没有停过,每天都保持这刷题的题感。


面试经验

从我的经验来看,想进大厂,题是一定要刷的。并且不能随便刷,那样非常浪费时间,先刷重点题型数组、链表、树..动归什么的没有时间可以先放一放(但是动归很重要,只是面试的时候出现的概率没有前面的大),贪心算法我个人觉得就是模拟,回溯算法也是非常重要,如果这个帖看的人比较多,我会尝试分享一下我刷算法的经验。我一开始是将题的数据结构进行分类,后面整理的时候,我开始对每种数据结构涉及到的题目开始分类,碰到什么特征要用什么方法,自己做了一个思维导图,形成自己的解题框架。并且我是一题多刷,反复提炼。从我考研的经历来说,能力的提升不是你刷了多少题,而是你做了多少总结,所以我还是按照我考研的习惯,对我做过的错题反复总结。


将近 300 道题我提交了 1065 次。很多题就是反复刷,直到真正弄懂为止,相信我,这不是浪费时间。



2 月 1 日开始整理简历,2.13 在编程导航上请鱼皮帮我修改简历,当时我的简历是这样的。


鱼皮给我的意见是这样的


其实看到鱼皮给我的建议,我一开始是感觉我凉了,我也知道自己学的技术不是很多,但是我的目标还是大厂(这个目标一直都比较坚定,也希望有跟我一样目标的鱼友不要放弃),所以我选择性的采纳了鱼皮哥的建议,每天其实一直在看算法和八股。3 月份的时候,非常多的笔试,但是由于我前期在算法上的积累,笔试几乎没有挂过。拼多多是我第一次笔试,当时特别紧张,但是我四道题做出了三道,第四道实在没时间写了,但是看了一下也是有思路的。笔试是进入大厂的第一步,有的同学不重视笔试,其实我觉得这个因人而异,于我而言,我觉得刷题的过程中我不断在思考,对我的代码能力提升还是有很大帮助的,而且说实话很多笔试其实和 leetcode 题目还不一样,leetcode 相当于计算题,而笔试都是应用题,更考察你对问题的快速建模和解决能力,但是前提就是你的基本功需要够扎实,而且刷算法题在面试中给了我意想不到的帮助。在拼多多三面主管面的时候,面试官问我 SpringMVC 路由匹配的底层,并且让我自己写一个路由匹配的算法,时间复杂度不能是 O(n),如果当时我没有刷过前缀树的题目,我估计我肯定是 G 了。

3 月 5 号我面试了阿里云,我感觉答出了 70% 左右,但是还是被挂了。其实我当时还是有期待的,想着我明明都答出来而来怎么还把我挂了,直到我在 b 站上看到了别人的面试实录,发现那位同学也是都答出来了,但是如果我是站在面试官的视角,感觉他很多时候答非所问,而且抓不到重点,并且背的痕迹非常明显,我自己都有点听不下去,听的很难受。我想估计我第一次面试也是一样:你以为你答出来了,其实并没有。从那个时候开始,我开始注重自己八股的逻辑性,建立了自己的八股知识导图。


期间,感觉网上很多八股很杂碎,不成体系。我认真研读了《Java 并发编程的艺术》和《MySQL 是怎样运行的》这两本书,给我了非常大的帮助,我也强烈建议有时间的小伙伴在背完八股的同时,要去看专业的书籍将自己的知识串起来,否则你只是在应付面试,对之后的工作意义不是很大。只有真正知道自己背的东西和学的东西在哪里可以用,才是有效的学习。在自己动手写了数据库连接池和线程池之后,我感觉自己是真的学到东西了,自己的编程能力真的提升了,不是简简单单的死记硬背,对Java提供的多线程方面提供的高级API有了更深刻的理解。

当然并不是什么都要去看书,比如 JVM,我就觉得背八股被看书更高效,等之后有时间了再去看书。所以一定要灵活的根据自己的实际情况作出调整,不要听风就是雨,适合自己的才是最好的!

到了 3 月中旬,我感觉天天看八股有点烦了,开始去看鱼皮的伙伴匹配项目。注意我是看,而不是像之前那样跟着鱼皮的项目一行行敲,特别的,我直接跳过了前端的部分。当时学习用户中心项目,想追求完整性,把前端也一字不落的敲完了...其实根本没必要。并且我着重的去看鱼皮解决问题的思路,想办法将他融入到我自己的项目中来。

这个项目我看的很快,根本原因我觉得是我前期八股的积累,比如鱼皮的多线程+批量插入提高数据的插入速度。我当时的项目就是一次性插入上千条数据,导致我的线上接口的调用时间是我本地算法测试时间的好几倍,我当时一直不知道是什么问题,因为插入数据也是用了高级的 API。直到我意识到了这个问题,我才知道这个 API 默认是单条插入模式,当我改成了批量插入,性能大大增加。还有鱼皮的组队功能我也有所借鉴,我这边刚好有需要实现一个项目共享的功能,需要管理多个用户能够访问同一个项目,和组队的思路很像。我也根据自己的需求对代码进行了修改,使用了 Redisson 分布式锁来解决同一个用户多次加入同一个项目的问题。所以经过这个项目之后我的简历变成这样了。


其实后面的 6、7、8,我并没有部署到我实验室的项目上,但是我知道我的项目中有这些可以优化的点。而且我对他们的实现方式写了几个 demo 去验证,这样我就可以说我在项目中去解决了这些问题,这比直接去一个大系统中解决这些问题要高效很多。从我面试的经验来看,5、6、7、8 是面试官猛问我最多的点。而这些是我第一个版简历根本没有的。而这些东西很多都是我从鱼皮的项目中去借鉴的。

还有一个建议,大家在看鱼皮的解决思路的时候,不要局限于一种解决思路,一定要去看看其他的解决思路,有一个大致的对比和优劣分析。在用一个技术的时候,不要仅限于当前场景的使用,还要去对当前技术多多进行扩展,因为你永远不知道面试官的思维是怎么样发散的,对自己用的写在简历上的每一项技术,都要有深入的了解,否则一旦被面试官问懵了,是非常减分的。就像拼多多一面的时候,由于我提到了使用 CompletableFuture(其实是因为鱼皮用了),面试官就猛问我这点。还有限流算法,由于我是用 Redis 去实现(也是在网上看被人这么用的),淘宝面试官让我用 java 手写其他的限流算法。这些如果没有去深入了解原理,大概率是扛不住的,所以你写的东西其实是给你减分的。

最后

今天就分享这么多,马上就要入职开启一段新的旅程了。如果大家还有什么想了解的可以留言告诉我,我会尽可能的分享自己踩过的坑和建议。今后也会在星球多多分享我自己的学习笔记。大家一起加油!

非常感谢鱼皮创办这个星球,最近刚刚跟完API这个项目,收获一次比一次大,非常佩服鱼皮的毅力,并且从能够看出鱼皮哥真的花了很多心思在这个星球上,非常不容易,我能做的就是继续支持,并且跟着星球的脚步不断进步!


星球活动

1.点击领取星球精选高频前后端面试题汇总(https://t.zsxq.com/0d7Nw7YGw),搞定高频面试题,斩杀面试官!

2.欢迎已加入星球的同学 免费申请一年编程导航网站会员 !

3.欢迎学习 鱼皮最新原创项目教程,手把手教你做出项目、写出高分简历!

加入我们

欢迎加入鱼皮的编程导航知识星球,鱼皮会 1 对 1 回答您的问题、直播带你做出项目、为你定制学习计划和求职指导,还能获取海量编程学习资源,和上万名学编程的同学共享知识、交流进步。

💎 加入星球后,您可以:

1)添加鱼皮本人微信,向他 1 对 1 提问,帮您解决问题、告别迷茫!点击了解详情

2)获取海量编程知识和资源,包括:4000+ 鱼皮的编程答疑和求职指导、原创编程学习路线、几十万字的编程学习知识库、几十 T 编程学习资源、700+ 精华帖等!点击了解详情

3)找鱼皮咨询求职建议和优化简历,次数不限!点击了解详情

4)鱼皮直播从 0 到 1 带大家做出项目,已有 50+ 直播、完结 4 套项目、10+ 项目分享,帮您掌握独立开发项目的能力、丰富简历!点击了解详情

外面一套项目课就上千元了,而星球内所有项目都有指导答疑,轻松解决问题

星球提供的所有服务,都是为了帮您更好地学编程、找到理想的工作。诚挚地欢迎您的加入,这可能是最好的学习机会,也是最值得的一笔投资!

长按扫码领优惠券加入体验(三天内不满意可全额退款),也可直接在公众号后台回复客服,添加客服了解更多星球信息:



往期推荐

编程导航,火了!

外包,想跑路了

这样的简历,真坑!

从编程新手到熟练工:我的学习转变

下定决心转行了

勇闯腾讯!

继续滑动看下一个

找实习,上岸拼多多!

编程导航-郑宗洋 编程导航
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存