本文来自作者投稿(原作者:小胖儿),原作者是一位2021届本科毕业生,就读于一所双非(非985、非211)院校,在今年2月份的时候,我曾经帮他指导过简历,并且根据他的简历内容帮他提了一些可能会问到的问题。
4月份的时候说是已经通过了阿里的四面,最近又得知已经顺利的拿到了阿里的Offer,非常为他感到高兴。他还顺便总结了一下自己面试经历,介绍了一下自己是如何准备的,也希望能够给大家带来一些帮助。
以下是他的原文内容,我也对其中的部分内容做了些批注。
前言
学期末的时候,我收到了阿里巴巴的暑假实习offer,从学长内推开始面试到拿到最后offer经历了4面技术、一面交叉面和一面HR面。经过了漫长的等待和几次几乎折磨的面试之后,终于拿到了暑期实习offer。
我:阿里的校园招聘一般会经历4-5轮的面试,大概会持续一个月左右,每一轮结束之后到下一轮面试的时间一半不会超过两周,如果等待时间过长,不用着急,可以联系一下自己的内推人,他们可以帮忙查看进度。
自我介绍
本人来自西南某双非本科学校,在校学的专业是物联网工程。我的专业与Java开发关系不大,学校也只教过一些简单的编程课,其余的编程相关知识都是自己在课余时间在实验室学习和自学的。技术不是大牛,项目做得多但是大部分都是自己练手的小项目或者一些有意思的小项目,没有接触过真正意义上的大项目。平时没事的时候喜欢逛一逛微信公众号、简书、掘金等平台,看一看技术类文章,自己也偶尔写过一些文章。在校期间在实验室的时间偏多,喜欢写代码的过程和攻克难题的过程。
我:和本人的经历有点像,我也是毕业于某双非本科学校,相同点都是会利用自己大学的课余时间,去钻研代码。现在看来,真的要感谢那个时候努力的自己。
学习过程
Java基础最开始是在菜鸟教程和其他的一些教程网站上自学的,后来又通过阅读《Java编程思想》、《Effective Java》、Hollis大神的“成神之路”系列文章等强化巩固Java编程基础。对于Java基础一定要学的扎实,这是编程的基本功,和练武功时候的扎马步一样,虽然枯燥但是必须扎实。
我:没错,Java基础一定要扎实,这是基本功,如果基础不扎实,基本没有可能通过阿里的前几轮技术面。
框架方面最开始是实验室老师让学习jfinal框架(但是当时看到网上很多地方都在说spring,自己一直没有去主动学习),后来我的人生导师让我去学习SpringBoot和Vue这两个框架,由于之前有框架学习经验,且这两个框架对新手很友好,学习过程很快。当时学习也就是从网上找了几个系列文章一边看一边学,然后在开始学习的两周之内做了一个留言板(做了两版,一版前后端分离,一版使用thymeleaf)。
JVM方面,大二下学期买了《深入理解Java虚拟机》,那时候第一遍阅读,里面几乎所有东西都不懂,后来大三又读了一遍,复习面试的时候又读了一遍,对书中的知识终于有了一点点认识。除了阅读这本书,其他时候还经常浏览一些面经,然后根据面经中的JVM问题来查阅资料,了解JVM相关知识。
Java并发编程,大三从找了一个并发编程的教程,后来自己又买了一本《Java高并发程序设计》,这本书的前半部分看了2、3遍,对高并发有了上一定的认识。
设计模式也是一直在找视频学习,同时网上查阅资料对设计模式进一步理解。
以上就是我的整个大学期间的学习过程,学习过程中也一直在做项目,从项目中发现错误并改正,从重构中找到更合适的解决方式,从调试中发现代码的真正运行原理才是最关键的。
我当年准备校招的时候,也是看了很多书籍,还有重点看了很多面经,然后自己通过书籍或者博客去学习。