当前位置: 首页>后端>正文

一个跨专业选手的后端java实习经验,已拿阿里美团字节offer

说在前面先说下自己基本情况,我是本科土木, 保研本校计算机, 保研的时候因为跨专业所以被调成了专硕, 总共两年, 所以只读了半年就要准备找工作. [跨保相关的经验, 我最后有链接] 我们实验室基本都是做的纵向课题, 并且专硕学硕的培养计划是一致的, 接触横向的机会并不多. 考虑到做算法两年时间(实际上只有一年)很难有竞争力, 并且这两年算法的内卷比较严重的情况, 我开始了自己的自学研发的道路.

一个跨专业选手的后端java实习经验,已拿阿里美团字节offer,第1张

4月8号收到阿里钉钉实习的口头offer,我的春招实习基本进入尾声,面的岗位都是后端java(字节要转go),以美团字节阿里的oc收官。总体结果挺出乎我的意料的,因为我的简历上没有别人那么漂亮的java项目(两个项目一个是我毕设的车辆路径算法设计cpp,一个是做的横向课题web开发python), 也没有大厂的实习经历, 我觉得简历能看的主要就是加权和数模一等奖这些. 我自己从一月底开始琢磨实习的事情,过完大年初三开始复习准备,总体时间甚至有些仓促,而且作为一个开始准备的时候,用java写leetcode都要偶尔翻doc查api的菜鸡,我都有点意外我可以走到现在. 回顾整个过程, 我觉得一定是我做对了什么事,所以把自己的经验梳理一下,给大家作为参考。

要不要投实习

实习招聘战场上,通常有两人,一类是已经准备的差不多的大佬,在我都不敢投大厂的时候,oc已经拿到手软。一类是啥都没准备,突然意识到秋招前我是不是该先试试水的菜鸡,比如我。

所以这里第一个问题, 要不要投实习实验室不放的话投实习有什么意义实习面试太菜会不会影响秋招

首先是要去投, 就算没有准备好, 也要边准备边投. 实习面试的经历非常重要, 甚至对于没有准备好的同学更重要, 没有准备好通常的状态, 比如我手上没有实习经历, 没有见过大厂的真题, 没有感受过大厂面试的过程. 这种情况, 春天的实习招聘就是你的复活甲, 投不了吃亏投不了上当, 血赚不亏. 如果这个时候不投, 秋招的时候就真的裸奔上战场了, 实习0offer可怕还是秋招0offer可怕, 应该大家都有衡量.

比如我们学校很多实验室是不放实习的, 我和朋友聊的过程也经常遇到这种情况, 我们实验室也是理论上不放实习, 但我觉得实习固然重要, 对于没有实习经历的同学, 实习面试的经历也很重要, 像阿里这种来不了实习也可以直通终面的情况,真的非常友好. 因此, 即使实验室不放, 我也强烈建议要去投一投, 把面试经验沉淀一下. 如果过了, 接到oc去不了拒掉的话,好好和hr沟通,据说人家秋招还会来问你意向(不是鸽offer,鸽offer可能被拉黑)

然后面试被刷影不影响秋招, 我面过的大厂, 都是回复的有通过记录的秋招有优势, 没有通过也不会影响. 我甚至之前看到过大佬的分享, 说进阿里的童鞋有很多是有不止一次面试记录, 是否能过与能力, 部门情况, 运气, 临场表现息息相关, 过了不代表强, 不过也不能代表一无是处.

总结就是,实习阶段的面试是很低成本的试错机会, 大家要抓住这样的稳赚不赔的机会.

面试准备

接下来说下我的面试的准备,两个月的时间边准备边面,比较仓促, 但也很适合目前还没有准备好的同学。

计算机基础,操作系统,计网和数据结构。我在面试前都把教材过了一遍,并且要总结,有的我用了我以前的笔记,有的搬了些博客和github的内容. 这部分复习花了大概15天, 期间也每天在刷算法题. 有了自己的知识点总结, 之后是一个查漏补缺的过程,把牛客上见到的题不会的,找到答案补充进去,高频的问题,拎出来答案准备好,每次面试前过一遍。参考我的github,note_md高频部分, 另外, 推荐大家可以借鉴github上cyc2018的这种总结方式, 对知识点进行梳理. 上面提到了我自己的项目, 但是做的的确不如cyc好, 链接在文末会给出.

计算机基础是大厂面试的重中之重,并且千万不要背答案, 背不完也没有用. 阿里的面试为例, 操作系统和算法的部分, 有的地方我记不住的,面试官提示一下,我给面试官展示了把完整的知识点推出来的思路, 我觉得这个过程其实比直接给答案更加分。

算法题要刷,我的顺序是两遍剑指,挑出还不会的最优解的, 再过一遍. 然后cyc2018的leetcode题库,先刷完数据结构部分,再刷算法部分。面试手撕原题命中率很高。刷题时,遇到不太熟的,比如我是dp和trie字典树不熟的,系统性的翻教材学一遍做好笔记,针对性的做点算法题巩固。算法题啊,没必要死磕,刚开始刷的时候20分钟完全没头绪很正常,看一遍答案,明天回头自己写一遍。 我剑指上都有三刷记不住最优解的,记不住的別强求。每天一个半小时起步吧,开始的时候每天花半天时间。

再是java基础,这个部分比较杂,我建议找个比较全的java知识点思维导图,掌握的勾掉,不熟的先从高频到低频准备,然后对导图上的知识一个个补洞, 准备的过程并不是找到高频题答案就行了, 最好能读一读源码(时间不够可以看源码分析的博客, 然后和自己学的操作系统/计网的知识点串一串)。学习资料和顺序,JavaSE我推荐《core java 第一卷》, 比较厚, 前六章一定要看, 后面的按需跳着看, 最好能和《java编程思想》比较着看,我觉得后者讲的更清楚。 jvm只要看最经典的《深入java虚拟机》那本,我自己对java基础的复习主要是看博客+源码,并发这部分有看《java concurrency in practice》 的中文版,但是直接看博客+源码也还行。时间不够的话不要太留恋难点,我到现在AQS都没完整读透,准备的过程要写demo,跑通过的东西记忆会深刻很多, 同时要写博客或做笔记, 以后这就是你知识体系的外存 。

然后再回到计算机基本功,问的高频题和简历延伸到东西都是比较容易准备的。 难的是开放题,没法准备只能靠自己的计算机基础去尝试给答案,不过也可能是我自己基础不扎实或者见识有限积累不够。但我的总体建议是, 联系你学过的操作系统,计网中学过的解决问题的方法进行迁移。这部分真的靠日常积累。

怎么准备简历

首先是策略和态度, 你要对自己简历的每个字负责。如果认真准备它们就是你的亮点, 否则就是面试官抓到你的漏洞。简历是你最能控住全场的部分,别的问题没法准备, 但是简历上的东西是可以提前准备的。每个字都要想面试官会拿着这个怎么问,自己按照背景,亮点,不足,可能可以改进的方向准备好回答,然后积累不同面试过程中面试官对你项目问的问题,简历相关的东西面几次就脱口而出了。

简历没有java项目怎么办,我觉得面试Java用java相关当然最好,但是我真的没有完整的好看的Java项目,这是我的短板,被阿里hr吊着打,差点挂我。但是没有的话临时凑的不如一个不是Java但是非常完整的,完整到你复盘过,和更好的比较过,最好比较完回头改进过,如果做到最后一步这个项目就比较完整了,我只做到找优秀的相似项目比较,但是也因此得到过好评。 Java项目可以反映你对这门语言和其生态的熟悉程度, 但是一个不完整的项目也会让你在面试时漏洞百出。

自己的项目,用过的框架相关的高频面试题一定要熟,源码有余力最好能读一读,读不完没关系, 从来没看过就是态度问题。 问到源码没有看过的部分, 可以说那部分没看过,但是正在看这个部分,就扯回你熟悉的领域了。我自己会暗搓搓搜一些Spring面试高频知识点,但是主要是为了应急啦,我现在不急了还是每天啃一点spring源码。

然后关于简历模板,身边居然有很多朋友问我要这东西,这点我其实挺想不通的,这玩意网上应该很多吧,这里也给大家看一下我整理的一些模板吧,都挺简约的,没什么花里胡哨的

一个跨专业选手的后端java实习经验,已拿阿里美团字节offer,第2张
一个跨专业选手的后端java实习经验,已拿阿里美团字节offer,第3张
一个跨专业选手的后端java实习经验,已拿阿里美团字节offer,第4张

spring cloud微服务

一个跨专业选手的后端java实习经验,已拿阿里美团字节offer,第5张

这些练手项目, 如果是自己如果想不到做什么可以模仿的项目, 但是我依然建议大家自己去想一想项目, 比如模仿spring写个IoC容器, 模仿tomcat实现个小web服务器, 这些都是我这样的菜鸡的选择, 大佬绕道.


https://www.xamrdz.com/backend/3tb1924333.html

相关文章: