2017,我研三,是忙碌的一年,从年初备战实习春招,年三十都在死磕JDK源码,三月份经历了阿里五次面试,四月顺利收到实习offer。然后五月怀着忐忑的心情开始了蚂蚁金服的实习。八月,又经历了两轮面试,总算拿到转正offer。到此为止,我总算可以尽情地享受最后的校园时光了。

我的读研经历

阿里是我读研阶段的一个重要目标,刚上研一的时候我便立下Flag,计划了读研三年要做的事情、要学的东西。翻翻我的博客,居然还能找到当时写的读研计划(想想时间过的真的好快呀)。阿里在我心中一直是技术者的朝圣地,聚集了一群技术狂热分子,为了提升一点点的性能可以废寝忘食。在立下这个flag后,我便把我要去阿里的想法告诉了身边的所有人。我不想给自己留有后路,既然牛逼吹出去了,那就得落实到行动上。

我当时的计划是这样的,研一玩命做项目,毕竟写代码是一项孰能生巧的技术,多写代码自然能加深对技术的理解。事实也确实证明了这一点。我大四毕业的那个暑假,第一次接触《深入理解JVM虚拟机》,当时看完之后是一脸懵逼的,所有的汉字都认识,但连成一条句子后咋就不明白呢?然后怀着这种一脸懵逼的状态,强行把这本书看完了,但由于理解的不够深刻,很快就忘记了。然后经过一年疯狂做项目,当我再抱起这本书时,我对这本书的感觉有了180度的转变,通俗易懂啊。我怀疑自己当时为什么这么傻。而在这一年之内,我一共做了四个项目。所以说,写代码能潜移默化地提升你对技术的理解程度。

记得我们学校考研结果公布是在三月底,得知我录取了,短暂的高兴了一下,第二天便去了导师实验室,参与到项目中去。因为我心理很清楚,我的目标是阿里。
刚去实验室的时候感觉自己完全是一只小白,师兄们开会讨论的东西我竟然一个字都听不懂,刚开始分到的工作也很难顺利的完成。但我是一个天生不服的人,我越是不懂,我越是要征服。(PS:追女生也一样,当时看上了一个高冷型女神。越是高冷,我越要拿下……省略一万字……最后成功了)。我渐渐跟上了师兄们的步伐,从第二个项目开始,我一直是项目负责人了。
我给自己定的方向是Java,而实验室的项目五花八门,Qt、C++、图像图形……,但我心里清楚,这些项目可以拓宽我的视野,可以锻炼我的学习能力、思维方式,但要深入理解的技术还是Java。所以我利用项目空窗期,看了很多Java方面的书籍,文末我列了一份清单供大家参考。

研一做了一年项目之后,感觉自己解决问题的能力、快速上手新技术的能力有所提升,但做项目一味求快、一味赶时间,我对很多技术的理解仅停留表面。所以更多时候我感觉自己是在搬砖,很难写出高质量的代码。当时我决定,研二的上半学期一定要好好稳固基础,深入理解技术背后的原理,放慢做项目的节奏,不一味地盲目求快。

然而研二我去了一家创业公司实习,被安排做前端。既然我无法选择,那我就拥抱变化。既来之则安之,我希望自己所花的时间都有所收获。所以我全身心投入到工作中去。公司安排我做前端,虽然这并不是我想干的事情,但当前别无选择,既然做那就得做好。我花了一个月的时间怒刷前端知识,学习Angular、React,了解它们的设计思想,学习JS背后的原理,也看到了前端目前的发展状况。前端的技术迭代速度很快,但技术背后的原理都是类似的,所以抓住技术背后的本质才是最重要的。
这段实习一直持续到了今年一月,我心理清楚,二月底三月初阿里的实习招聘就要开始,所以我挤出中午休息时间、晚上下班后的时间、周末的时间,复习我之前积累的东西。

三月三号,人生的第一次面试,在看到杭州的电话时,那一刻的心情既忐忑又兴奋。在此之前,我并不清楚自己的水平在所有应届生中处于一个怎样的层次,在电话接通之前我已经做好了充分的心理准备,想象了各种被面试官吊打的画面。第一次面试持续了54分钟,面试官似乎破有耐心,整个面试过程相谈甚欢。那一次的面试给了我巨大的信心,因为我清楚,我离我的目标更近了一步。
在接下来的一个月中,我陆陆续续接到了五次面试电话,每一次面试都是一次学习的机会,能发现自己的不足,在与面试官交流的过程中也能了解到最新的技术、最佳的实现方法。

四月十四,记得那天刚给本科生上完算法课,晚饭过后便收到的阿里的offer。当时的喜悦之情溢于言表,这么久的努力没有白费。但我心里也清楚,阿里的实习转正率向来很低,要想通过实习留下来也不是一件容易的事。所以在收到阿里offer之后的那晚,我重新规划了接下来的学习计划,将我的短期目标更新成:拿下阿里转正offer。

5.20,一个美好的日子,我怀着憧憬、忐忑、兴奋的心情走进了支付宝大楼,开始了我三个月的实习生涯。这三个月的实习让我学到了很多,我看到了每天的进步,也看到了自己的不足。这100天经历了太多的事情,有太多的体会,有空我再单独写一篇实习期间的感悟与大家分享。

9.1晚上11点,我的状态从『面试中』变成了『待跟进offer』,我会心一笑,我达成了人生第一阶段的目标。那一刻我没有太多的激动,在经过了2017年8个月的持久作战之后,这个offer早已在我的意料之中。

第二天是周六,这个周末我给自己放了两天的假。虽然在杭州已经呆了102天,虽然支付宝大楼就在西湖边,但每天两点一线的工作,我并没有去过西湖。那一晚我的基友(帅气的天哥,文末附有征婚启示)得知我收到offer后便立即买票,坐了一夜的火车来杭州为我庆祝。也托他的福,在这个周末我第一次游览了这座美丽的城市。

最后的校园时光,我给自己定了一个新的目标,这个目标也许充满了挑战、充满了艰辛与困难,但我想如果能达成,我的人生将会有很大的改变。在人生的路上,我还在奋斗。希望与各位共勉。

建议:养成写博客的习惯

在面试阿里的过程中,博客帮了我很大的忙。并不是说有博客在面试中会加分,而是写博客的过程能加深你对知识的理解,而且回顾起来也特别高效(毕竟是自己写的东西)。

我从研一开始便养成了写博客的习惯,现在先过头来,这两年我一共写了185篇文章,有22W的访问量,也很荣幸称为专家博主。我的博客现在已经成为我一笔最宝贵的财富,记录了我技术的整个体系结构,也记录了学习技术的心路历程。

可能很多同学都有写博客的经历,但能长期坚持的少之又少。我想告诉大家,任何事情都贵在坚持。只要坚持21天就能养成习惯。有的时候对这件事缺乏兴趣了很难再持续下去,但想想自己的目标,咬咬牙坚持下去,养成习惯你就赢了。

我的博客一般都是看完一本书后的总结,我会把一本书中最核心的东西,按照我的理解把它们记录下来。每一本书我都会看三遍,第一遍是快速浏览,了解整本书的体系结构、作者的行文思路,知道书中重要的、不重要的内容,也就是要建立起全局观。第二遍我会精读,把那些我认为重要的内容挑选出来着重阅读、反复理解、吃透。第三遍阅读,往往会冒出新的理解,我时常有这种『书读百遍,其义自见』的感觉。三遍读完后,我便按照自己的理解,把核心内容写成博客。由于是自己的写的东西,所以在复习的时候只要花上三五分钟通读一遍,所有的知识点又被唤醒。

http://weixin.qq.com/r/yy9GXgfEXVoirUM993rZ (二维码自动识别)

Java体系结构整理

  • Java相关

    • Java集合框架
    • Java并发编程
      • Java并发编程的艺术(一)——并发编程需要注意的问题
      • Java并发编程的艺术(二)——重排序
      • Java并发编程的艺术(三)——volatile
      • Java并发编程的艺术(四)——线程的状态
      • Java并发编程的艺术(五)——中断
      • Java并发编程的艺术(六)——线程间的通信
      • Java并发编程的艺术(八)——闭锁、同步屏障、信号量详解
      • Java并发编程的艺术(七)——Executors
      • Java并发编程的艺术(九)——批量获取多条线程的执行结果
      • Java并发编程的艺术(十)——线程池(1)
      • Java并发编程的艺术(十一)——线程池(2)
      • Java并发编程的艺术(十二)——线程安全
      • Java并发编程的艺术(十三)——锁优化
    • Java并发容器
      • Java并发容器大合集
    • Java虚拟机
      • 深入理解JVM(一)——JVM内存模型
      • 深入理解JVM(二)——揭开HotSpot对象创建的奥秘
      • 深入理解JVM(三)——垃圾收集策略详解
      • 深入理解JVM(四)——对象内存的分配策略
      • 深入理解JVM(五)——HotSpot垃圾收集器详解
      • 深入理解JVM(六)——JVM性能调优实战
      • 深入理解JVM(七)——Class文件结构
      • 深入理解JVM(八)——类加载的时机
      • 深入理解JVM(九)——类加载的过程
    • 设计模式
      • 23种设计模式-大闲人柴毛毛的博客
    • Spring核心思想
      • 深入剖析Spring(一)——IoC的基本概念(从面向对象角度介绍)
      • 深入剖析Spring(二)——IoC容器的实现
      • 深入剖析Spring(三)——Bean的生命周期
      • 深入剖析Spring(四)——AOP
    • 面向对象的思想
    • Java8新特性
      • Java8新特性——Lambda表达式(一)
      • Java8新特性——StreamAPI(一)
      • Java8新特性——StreamAPI(二)
  • 计算机基础

    • 算法

      • 数据结构与算法-大闲人柴毛毛的博客
    • 数据结构
      • 彻底搞懂红黑树
    • 操作系统
    • 计算机网络
      • 计算机网络传输层知识点全覆盖
    • 数据库
      • 数据库索引全面解析
      • 数据库事务详解
      • 数据库三大范式
  • Linux

    • Linux常用指令-大闲人柴毛毛的博客
  • 架构高性能网站
    • 架构高性能网站秘笈(一)——了解衡量网站性能的指标
    • 架构高性能网站秘笈(二)——动态内容缓存
    • 架构高性能网站秘笈(三)——浏览器缓存
    • 架构高性能网站秘笈(四)——反向代理缓存
    • 架构高性能网站秘笈(五)——Web组件分离
    • 架构高性能网站秘笈(六)——构建数据缓冲区
    • 架构高性能网站秘笈(七)——负载均衡

我的书单

先唠叨两句。学好计算机,基础扎实很重要!Github上每17秒就会出现一种新的技术、新的框架,技术迭代的速度远高于我们学习的速度,但这并不可怕,因为技术背后的原理是相通的。所以我们要做的就是抓住技术本质、打牢基础,以不变应万变。附上之前我关于基础学习的回答:

大闲人柴毛毛:计算机科学与技术专业的学生要怎样做才能避免成为 一个低级的码农?

大闲人柴毛毛:自学编程需要注意什么?

  • 基础类书单

    • 《Java核心技术》卷一+卷二

      • 这两本书加起来将近1700页,读完它需要有足够的勇气和耐心。但这就是打基础的阶段,罗胖子说过,学习就是一个使大脑处于非舒适态的过程,学习并不是一件快乐的事情,如果你长期处于舒适状态,或许你自认为每天都在学习,但实际上你一直在原地踏步。所以我觉得这本书至少要通读一遍,就算含着泪也要把它读完。
      • 当然,读1700页的书毕竟是一项浩大的工程,换谁都会心生乏味。所以我觉得读书的方式方法也很重要,可以伴随视频教程一起学习,每读完一章后再看一遍视频,这样一方面起到调节的作用,另一方面在读书过程中遇到的问题也许会在视频学习中迎刃而解,一举两得。
    • 《计算机网络》-谢希仁
      • 这是一本好书!我在读这本书的时候有种强烈的感受,就是每当我有一丝疑惑的时候,我就会在接下来的篇幅中马上找到问题的答案,一环扣一环。这种感觉让我很享受阅读的过程,使得整个阅读过程都伴随着『发现问题-解决问题』的循环,吊足了我的胃口,也就很自然的把一本书一口气看完。也许这就是大师吧。
    • 《算法》-Sedgewick
      • 算法是程序员的基本功,这本书用彩图解释各种算法的原理,通俗易懂、肥而不腻。
  • 进阶类书单

    • 《深入理解Java虚拟机》-周志明

      • 这本书我一共读了两次,第一次读完全是一头雾水、不知所云;时隔一年,在疯狂做了6个项目之后,再读这本书的时候,我嘲笑一年前的自己:为何当初那么傻。所以建议大家:写代码毕竟是一项熟能生巧的技术活,多多动手、多多思考会在潜移默化中加深你对技术的理解。
    • 《构建高性能Web站点》-郭欣
      • 这本书干货颇多,看完受益匪浅!比较全面地介绍了各种WEB性能优化的手段、它们的使用场景、优缺点对比。是我们这种还在象牙塔中的小白程序员了解外面世界的大门。
    • 《Java并发编程实战》-Brian Goetz 和 《Java并发编程的艺术》-方腾飞
      • 《Java并发编程实战》翻译有些生硬,也许是我水平不够,看的相当费劲,我当时强行看完之后,仍然存在诸多疑惑,所以我又读了《Java并发编程的艺术》,毕竟是咱中国人写的书,很符合咱中国人的思维方式。看完之后解开了先前的很多疑惑。如果你是大神,就直接阅读《Java并发编程实战》英文原版吧。
    • 《Java性能优化权威指南》-Charlie Hunt
    • 《Spring实战 第四版》-Craig Walls
    • 《Java TCP/IP Socket编程》-Kenneth L.Calvert

好好学习 好好考研 考浙江大学软件工程  一定要去阿里巴巴

别人家的阿里巴巴校招相关推荐

  1. 阿里巴巴校招负责人揭秘面试中那些你应该知道的“潜规则”

    阿里巴巴校招负责人揭秘面试中那些你应该知道的"潜规则" 最近负责了公司招聘,发现校园招聘这种事情,真是一个奇葩的工作.能做好校园招聘的人,一定是一个矛盾体. 这个人一定是思维缜密, ...

  2. 阿里巴巴校招内推简历筛选方案(总结篇) 及面经

    阿里巴巴校招内推简历筛选方案(总结篇) https://yq.aliyun.com/topic/16?utm_content=m_3988 https://yq.aliyun.com/articles ...

  3. armgcc交叉编译的文件无法运行_[阿里巴巴(校招/社招)] 虚拟机与编译器团队招人啦~ (JVM / GCC / LLVM 方向)...

    岗位描述: 阿里巴巴虚拟机与编译器团队招人啦,对虚拟机 /编译器有兴趣的同学可以投简历来试试- JVM / GCC / LLVM 方向都可以哦!实习 / 校招 / 社招 完全不限!投简历即可内推- ( ...

  4. 阿里巴巴校招笔试题型攻略

    题型分布 阿里巴巴应届生校园招聘线上测评包括三部分通用能力测试:言语理解.资料分析.图形推理:每道题单独限时,建议多刷真题,提高正确率&效率,尤其资料分析,难度不大,如果不提前了解解题思路,大 ...

  5. 【面经】记阿里巴巴校招一轮电话面试

    前 言 电话面试 1 自我介绍 2 聊一下以往项目 3 面试官提出的问题 1 谈一谈 final 修饰符 2 集合类的特性 扩展问题 3 String 类能继承吗 4 2x8 运算提高速率 5 单例模 ...

  6. 参加阿里巴巴校招面试经历

    原帖地址: http://ifeve.com/alixiaozhao/ 本文主要是讲述我参加阿里巴巴2013年校招的经历,感谢并发编程网博主的推荐. 电面 说是电话面试,其实和正常面试感觉没啥区别,也 ...

  7. 阿里巴巴校招内推简历筛选方案(总结篇)

    在论坛看到的,阿里巴巴HR的甄选方案,觉得值得推荐,总结下发到首页的,觉得有用希望更多人看到. 上周发了一个阿里内推的帖子,没想到短时间内就收到了成百上千封简历.     我仔仔细细地看了每一封简历, ...

  8. 阿里巴巴校招三面面经

    阿里巴巴三面面经 一面简历面 时长:一个小时18分钟 简历面,面试官根据你的简历进行提问,必须非常熟悉自己简历上的东西 1.自我介绍 2.介绍简历上的项目(从系统架构讲起,各种分布式微服务组件) 3. ...

  9. 阿里巴巴校招四面经验分享

    总结 06.20我从北京xxxx有限公司离职,结束了一年的见习生涯.07.05-08.04在帮我姐夫做翻译:毕竟这段时间比较空闲,在空闲的时候我都是在准备面试,不管是Java基础.JVM.数据库.数据 ...

  10. 阿里巴巴校招笔试题10.8

    阿里巴巴10.8号笔试题 题目描述 算法分析 关键步骤 最后附上实现代码 后记 ) 阿里巴巴10.8号笔试题 题目描述 题目描述:给定一组或多组三十二位长度的补码数字,返回每组数字加和后的十进制的数字 ...

最新文章

  1. android资源适配
  2. php屏幕抓取,关于屏幕抓取:如何在PHP中实现Web scraper?
  3. 从零开始单排学设计模式「UML类图」定级赛 1
  4. Cmake常用基本命令复习
  5. 用一个单链表L实现一个队列(算法导论第十章10.2-3)
  6. html关于超链接的问题,关于超链接的一些问题
  7. 快速部署ldap服务
  8. 如何查看npm配置?
  9. Linux时间子系统之四:定时器的引擎:clock_event_device
  10. 智能一代云平台(二十四):已安装的Nginx上安装echo插件
  11. AMADA阿玛达触摸屏维修折弯机主机维修
  12. SQL 数据库 学习 011 关系、一对一、一对多、多对多
  13. 准考证打印电脑记录怎么删除
  14. 微信公众平台开发 模版消息
  15. 技术人员的艰难转身——管理角色的认知和转变
  16. 大数据为各国信息安全带来挑战 美率先采取措施
  17. php job框架,GitHub - zanphp/job-server
  18. Python replace() 方法
  19. 把国外软件替换出去!Notepad--
  20. 破解极域——jiyu trainer

热门文章

  1. Java MD5签名需要使用UTF-8格式,利用MD5加密后转成大写
  2. opencv 双目标定操作完整版
  3. 显示接口DP HDMI VGA DVI LVDS的区别
  4. 你肯定用过手机护眼模式, 但你知道怎么将电脑Win10窗口背景色修改为护眼的淡绿色吗?(附带如何备份注册表)
  5. 李彦宏高中全国计算机比赛,扒一扒IT大佬高考:马云数学1分考北大 李彦宏是状元...
  6. seo如何做外链(做seo外链建设有哪些原则)
  7. android使用at指令集,详细的AT指令集
  8. 机器学习笔记:特征处理——相关性分析GINI impurity
  9. 微信小程序怎么用? 老徐小程序!
  10. java中style的用法