跨专业选手的实习面经总结

说在前面

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

在整个学习和准备找实习的过程中, 牛客真的给了我很大帮助, 所以在我上岸之后, 在学长的建议下对我自己的经历进行一个总结, 回馈牛客, 大家如果有什么问题欢迎留言和小窗.

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,跑通过的东西记忆会深刻很多, 同时要写博客或做笔记, 以后这就是你知识体系的外存 。

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

怎么准备简历

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

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

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

面试套路

首先说一下我最近面了这么多的一个感想,实习不一定要有好看的项目,但是基础一定要扎实,同时要带着面试官往你擅长的地方走,自己的战线不要打得太开。举个反例,一下说自己熟悉mysql,一下说自己Spring用的6,再往zk,dubbo一扯,面试官对你的期望很高,一问都没看过源码,然后很容易凉凉。

相反,开始不要给面试官太高期待,比如我,我知道我菜, 所以自我介绍的时候就说熟悉javaSE,用过mysql,redis,Spring还在学,源码这些可能不太熟。 然后面试官在你圈的范围开始问了之后,一旦问到了你精心准备的部分可以给他设个连环套,面试官可能会对你刮目相看。比如hashmap套concurrentHashMap套volatile, 他如果顺着准备的这条问,就这三条我聊源码可以说40分钟不止,类似的在mysql,redis,以及其他的JavaEE框架这些技术上也有对常问的点准备到侃侃而谈,不常问的点不至于一句都说不上来,一个面试的基本盘就搭起来了。面试官他有可能会跳出你画的圈,对我来说比如问到javaEE相关的,如果正好你也有准备,同样是回答一个知识点,面试官在不同期待值下的感受应该是有区别的。

另外,遇到不会的知识点,但是你有自己的推测的,可以说,这部分我不太熟,如果我来做可能会xxx,因为我觉得(推测原因),我下去会了解下这一部分。在我有限的尝试中,这里面试官点头的情况还蛮多的,主要是我瞎猜的准? 对于那种要么是要么不是或者你就算猜都编不出理由的,坦诚地说不好意思这部分有点糊。一方面,你需要展示出你遇到问题时,是比较主动的想解决方案的姿态,另一方面也要坦诚,但是如果你这不会那不会说的太多,估计要凉。比如我的蘑菇街,我说最近自己写demo做了一个比较简陋的web服务器,多嘴说了句参考了tomcat源码,然后被抓住问了一堆tomcat我不太熟的,就没了。

策略和心态

我是从牛客的贴意识到去面实习的重要性,也是在牛客上找的大部分实习,以及面经。也是因为牛客,我那时每天过的都非常难受,不敢刷牛客,感觉人和人的差别真的太大了,又对自己没有什么信心,面了的都要么凉要么没有消息,每天晚上一两点不敢停下学习,不敢睡觉,躺床上也会怀疑人生。

我自己准备过程的心态的确不够好,非常焦虑,但是我觉得策略上还是有可取之处。面试准备上点面结合, 高频题是点, 计算机基础是面; 选择公司时, 没有面试经验的时候,适当多投一些,自己想去的公司往后排一点。再重复一遍, 过了不管一面还是两面都是有积极作用的,没过的话,不会影响秋招, 白嫖一个心仪厂的试错机会。像我这种面着面着就进去了的也是可能的,我是真的菜鸡。

btw。 选择计算机行业, 意味着在一定程度上以技术安身立命, 投机取巧一定是不牢靠的,要做好长期规划和持续集成,比如我缺的分布式相关的知识和项目练习,我也会在近期尽快补上,努力成为一个真大佬。

资源福利

Update!!!!!

2021年的钉钉实习春招已经开始啦,今年钉钉的hc相比去年又翻倍了,可以说是性价比极高的阿里部门了,大家抓紧时间准备和投递呀!

更新一下我所在的团队的直招!

【 直招岗位】
前端开发、服务端开发
【 团队介绍】
我们团队是 钉钉企业金融服务团队,承载着基于钉钉组织关系打造的组织收付款管理、红包、助贷等相关业务核心处理,是钉钉千万级组织、亿级用户的核心资金处理处理的必经之路,同时未来我们将基于数据 + 算法 进一步打造新一代企业资金管理、风险控制、智能决策以及企业治理体系等相关业务。期待优秀的你加入到我们,一起打造最专业的组织金融服务,助力组织实现 ” 资金在线 “ ,发挥技术的魅力助力组织实现数字化升级。
【 岗位要求】
1、2022届毕业生,本科及以上学历,985、211优先;
2、计算机、数学、电子、通信等相关专业;
3、熟练掌握至少一门主流编程语言(
前端: HTML/CSS/Javascript
服务端:java,c/ c++);
4、良好的逻辑思维和分析能力,具备团队合作精神;
5、热爱技术,具有一定的抗压能力;
6、工作认真负责,积极主动,善于沟通和学习
7、有实际动手经验,并有一定的成果者优先
8、成绩优秀、有重要学术论文发表、重大奖项获得者优先。
【 简历投递】
方式:发送简历到邮箱:hanhan.hhh@alibaba-inc.com
也可微信加我好友,咨询详情,也可以找我帮忙查询面试状态!
微信号:H3DE2719840951

大家如果对自己没啥信心的, 我也可以帮忙看看简历,也欢迎大家和我交流Java学习。

以上是我暂时想到的东西,然后摆一波资源

书单(也是我从别的大佬找来的通过我自己验证的优先看的章节, 其他章节也要慢慢看完)

  • 剑指offer
  • 深入理解Java虚拟机 第二章 第三章 第七章 第十二章 第十三章
  • mysql必知必会 + leetcode-database题目
  • 高性能mysql 第一章 第五章和第六章
  • redis设计与实现 字典 跳跃表 过期机制 持久化 事件 复制 Sentinel 集群 发布与订阅 事务

上面的书除了剑指都可以找我要电子版的网盘链接

项目资源

java练手项目
-秒杀系统
-购物系统集合
-购物系统

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

另外,我挺推荐java的一个付费课(我真的没收钱, 人家讲的不错)

  • 极客时间 - Java核心技术面试精讲

我自己博客, 我最近欠了好多草稿写了一半, dbq我太菜了
https://blog.csdn.net/m0_37407587?t=1

以前写的跨保的经历 不同学校的保研政策可能有差异, 供参考 https://www.zhihu.com/question/65673406/answer/514972800

#实习##学习路径##Java工程师#
全部评论
我觉得我写的挺真诚的😂 拜托点收藏的小伙伴也帮忙顶一下 度己度人😂
2 回复
分享
发布于 2020-04-10 23:22
楼主java学习的挺早吧,我刚开始😅
1 回复
分享
发布于 2020-04-11 01:06
联易融
校招火热招聘中
官网直投
tql
1 回复
分享
发布于 2020-04-11 07:30
【  直招岗位】      前端开发、服务端开发  【  团队介绍】          我们团队是 钉钉企业金融服务团队,承载着基于钉钉组织关系打造的组织收付款管理、红包、助贷等相关业务核心处理,是钉钉千万级组织、亿级用户的核心资金处理处理的必经之路,同时未来我们将基于数据 + 算法 进一步打造新一代企业资金管理、风险控制、智能决策以及企业治理体系等相关业务。期待优秀的你加入到我们,一起打造最专业的组织金融服务,助力组织实现 ” 资金在线 “ ,发挥技术的魅力助力组织实现数字化升级。 【  岗位要求】   1、2022届毕业生,本科及以上学历,985、211优先;   2、计算机、数学、电子、通信等相关专业;   3、熟练掌握至少一门主流编程语言( 前端: HTML/CSS/Javascript 服务端:java,c/ c++);  4、良好的逻辑思维和分析能力,具备团队合作精神;   5、热爱技术,具有一定的抗压能力;   6、工作认真负责,积极主动,善于沟通和学习   7、有实际动手经验,并有一定的成果者优先   8、成绩优秀、有重要学术论文发表、重大奖项获得者优先。   【  简历投递】   方式:发送简历到邮箱:hanhan.hhh@alibaba-inc.com  也可微信加我好友,咨询详情,也可以找我帮忙查询面试状态!   微信号:H3DE2719840951
1 回复
分享
发布于 2021-02-28 14:17
楼主整理的好棒!
1 回复
分享
发布于 2021-03-01 14:44
写得真不错
点赞 回复
分享
发布于 2020-04-10 23:44
给楼主点赞 希望的阿里hr面快点到来 
点赞 回复
分享
发布于 2020-04-10 23:59
厉害
点赞 回复
分享
发布于 2020-04-11 00:47
求一波书单电子版链接😃感谢
点赞 回复
分享
发布于 2020-04-11 00:58
厉害👍~数模一等奖面试开发有加分么?~
点赞 回复
分享
发布于 2020-04-11 07:49
你好,看了真的受益良多,希望书单能分享下,谢谢😊
点赞 回复
分享
发布于 2020-04-11 09:28
校友太强了呀
点赞 回复
分享
发布于 2020-04-11 10:31
tql
点赞 回复
分享
发布于 2020-04-11 10:36
楼主太强了,两map和volatile就能说40分钟,我每次问问题节奏老是特别快... 可能因为没几句话好说
点赞 回复
分享
发布于 2020-04-11 10:39
写得很棒!
点赞 回复
分享
发布于 2020-04-11 10:51
校友tql!同华科专硕,说不定同个实验室的哦😜像校友学习!
点赞 回复
分享
发布于 2020-04-11 11:40
太感谢楼主了!
点赞 回复
分享
发布于 2020-04-11 11:42
厉害
点赞 回复
分享
发布于 2020-04-11 11:55
老哥最后打算去实习吗,同实验室不放实习
点赞 回复
分享
发布于 2020-04-11 12:21
讲的很干货,楼主两个月复习这么多也是很厉害了
点赞 回复
分享
发布于 2020-04-13 09:26

相关推荐

97 323 评论
分享
牛客网
牛客企业服务