2年5个月13天,从外包到拿下阿里offer,没想到屌丝也能有今天

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: 不说太多废话,但起码要让你先对我有一个基本的了解。本人毕业于浙江某二本院校,算是科班出身,毕业后就进了一家外包公司做开发,当然不是阿里的外包,具体什么公司就不透露了,在外包一呆就呆了整整2年多,直到现在才从外包离开,如今拿到阿里的offer准备入职了。

开篇介绍

个人背景:

不说太多废话,但起码要让你先对我有一个基本的了解。本人毕业于浙江某二本院校,算是科班出身,毕业后就进了一家外包公司做开发,当然不是阿里的外包,具体什么公司就不透露了,在外包一呆就呆了整整2年多,直到现在才从外包离开,如今拿到阿里的offer准备入职了。

阐述原因:

在外包公司的两年里,作为一名菜鸡,确实非常合格,技术没什么长进,眼见也没有提升,没规划没未来,让人实在焦虑,之所以开始改变自己也是家庭发生了变故,才让自己开始思考人生。身边很多人感叹过,能从外包逆袭,算是传奇,所以今天想要分享一下个人的经历,希望能够鼓励到一些与我有相似经历的同行。

注意:这次面试过程比较长,内容繁多,在文章中我基本上简述了,文章里的面试题完整版和我个人的总结方法经验(面试学习和刷题笔记),都整理有PDF完整版,有需要的可以点击此处来获取就可以了!

阿里一角

阿里巴巴Java岗面试题分享

1.HashMap 的内部结构?内部原理?和 HashTable 的区别,假如发⽣了 hash 碰撞,如何设计能让遍历效率⾼?

2.讲一讲讲讲 ConcurrentHashMap吧。

3.讲一下JVM虚拟机内存结构,以及它们的作⽤。

4.讲讲JVM的类加载过程&&双亲委派模型。

5.谈谈Java的垃圾回收算法。

6.谈谈Java垃圾回收的触发条件。

7.synchronized和Lock的区别。

8.volatile的作⽤,为什么会出现变量读取不⼀致的情况,与 synchronized 的区别?

9.++i 在多线程环境下是否存在问题,怎么解决?

10.讲一讲Thread.sleep() 和 Thread.yield() 区别?

11.讲讲常⽤的容器类?

12.如何去除 ArrayList 的重复元素?

  • 直接采⽤ HashSet 即可。作为它的参数,然后再 addAll。但这种⽅式不能保证原来的顺序,如果要求顺序,可以使⽤ LinkedHashSet 即可。

13.讲讲 Java 的泛型擦除,泛型主要是为了解决什么问题?如何⽤泛型做 Json 的解析的?

14.谈谈 Java 的 Error 和 Exception 的区别联系。

  • Error 和 Exception 均集成⾃ Throwable,但 Error ⼀般指的是和虚拟机相关的问题,⽐如系统崩溃,虚拟机错误,OOM 等,遇到这样的错误,程序应该被终⽌。⽽ Exception 表示程序可以处理的异常,可以捕获并且可能恢复。

15.说一下软引⽤和弱引⽤的区别?

16.成员变量和静态⽅法可以被重写么?重写的规则是怎样的?

17.内部类访问局部变量的时候,为什么变量必须加上fifinal修饰符?

  • 因为⽣命周期不同。

18.什么情况会造成内存泄漏?

19.什么是线程死锁,如何解决?

20.十亿条淘宝购买记录,怎么获取出现最多的前十个 ?

  • 这是一道典型的有限内存的海量数据处理的题目。一般这类题目的解答无非是以下几种:
  • 分治,hash映射,堆排序,双层桶划分,Bloom Filter,bitmap,数据库索引,mapreduce等。
  • 具体情形都有很多不同的方案。这类题目可以到网上搜索一下,了解下套路,后面就基本都会了。

21.说一下Innodb和MySIAM的区别

22.说一下jvm内存模型,介绍一下你了解的垃圾收集器

  • 其实并没有jvm内存模型的概念。应该是Java内存模型或者jvm内存结构,这里面试者一定要听清楚问的是哪个,再回答。

23.如何访问链表中间节点

  • 对于这个问题,我们首先能够想到的就是先遍历一遍整个的链表,然后计算出链表的长度,进而遍历第二遍找出中间位置的数据。这种方式非常简单。
  • 若题目要求只能遍历一次链表,那又当如何解决问题?
  • 可以采取建立两个指针,一个指针一次遍历两个节点,另一个节点一次遍历一个节点,当快指针遍历到空节点时,慢指针指向的位置为链表的中间位置,这种解决问题的方法称为快慢指针方法。

23.HR问

  • 从技术角度来说,你觉得你跟前同事比怎么样?
  • 说一下自己的个人优势。
  • 工作中觉得哪方面欠缺?
  • 为什么想来阿里?阿里的什么方面吸引了你?

可以点击此处来获取就可以了!

面试总结及建议

每一次Java面试,其实都是一次学习机会,是对自己技术知识栈的梳理、考核、复盘。我们应该抱着学习的态度,认真对待,找到自己比较薄弱的环节,尽快去查漏补缺学习巩固。对于面试来说,其实也没有太多的技巧可言,面试官主要看重的就是个人能力,无非就是两个方面:

  • 技术广度
  • 技术深度

外包CRUD屌丝,是怎样逆袭的?

外包出身的我,究竟有多么菜,多么屌丝呢?还在外包的我,面试时被问到什么是成员变量,我是什么都不知道,相信这种程度大家应该有所感受了。

那作为一个外包CRUD屌丝,我是怎么做到逆袭的呢?

注意:下文主要是我个人的总结方法经验(面试学习和刷题笔记),都整理有PDF完整版,可以点击此处来获取就可以了!

01 梳理知识体系,学会查漏补缺

关于知识体系的梳理,我个人主要分为以下5个部分,有针对性的,将这5个部分逐步击破,那么搞定面试是基本没什么问题了。

  • 并发编程:多线程,高并发,CAS,锁,容器,线程池底层
  • 性能调优:Mysql,IO及网络调优,算法调优,JVM
  • Spring全家桶:Spring,SpringMVC,MyBatis,IOC,AOP
  • 缓存数据库:Redis,mongoDB,MySQL
  • 分布式&微服务:SpringBoot,SpringCloud,docker,maven

02 根据要点,逐个击破(根据大纲内容来进行复习)

1.并发编程(核心技术笔记)

  • Java多线程技能
  • 对象及变量的并发访问
  • 线程间通信
  • Lock的使用
  • 定时器Timer
  • 单例模式与多线程
  • 拾遇增补

2.性能调优(Java性能调优+MySQL调优+JVM调优)

3.Spring全家桶(Spring全家桶学习脑图+SpringBoot使用笔记+源码深度解析)

  • Spring学习思维脑图(Xmind)

  • Spring使用笔记+实战文档

4.缓存数据库(MySQL+Redis+mongoDB)

03 最后看面试题来举一反三(刷题刷题刷题,重要事情说三遍)

关于面试刷题也是有方法可言的,建议最好是按照专题来进行,然后由基础到高级,由浅入深来,效果会更好。当然,这些内容我也全部整理在一份pdf文档内,分成了以下几大专题:

  • Java基础部分

  • 算法与编程

  • 数据库部分

  • 流行的框架与新技术(Spring+SpringCloud+SpringCloudAlibaba)

这份面试文档当然不止这些内容,实际上像JVM、设计模式、ZK、MQ、数据结构等其他部分的面试内容均有涉及,因为文章篇幅,就不全部在这里阐述了,需要的可以点击此处来获取就可以了!

写在文末

作为一名程序员,阶段性的学习是必不可少的,而且需要保持一定的持续性,这次在这个阶段内,我对一些重点的知识点进行了系统的复习,一方面巩固了自己的基础,另一方面也提升了自己的知识广度和深度。

最后提醒一下哦,如果你想要学习,却无奈于没有干货学习资料,以上所有的资料内容都可以免费分享给你,可以点击此处来获取就可以了!

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
2年5个月13天,从外包到拿下阿里offer,没想到屌丝也能有今天
个人背景: 不说太多废话,但起码要让你先对我有一个基本的了解。本人毕业于浙江某二本院校,算是科班出身,毕业后就进了一家外包公司做开发,当然不是阿里的外包,具体什么公司就不透露了,在外包一呆就呆了整整2年多,直到现在才从外包离开,如今拿到阿里的offer准备入职了。 阐述原因: 在外包公司的两年里,作为一名菜鸡,确实非常合格,技术没什么长进,眼见也没有提升,没规划没未来,让人实在焦虑,之所以开始改变自己也是家庭发生了变故,才让自己开始思考人生。身边很多人感叹过,能从外包逆袭,算是传奇,所以今天想要分享一下个人的经历,希望能够鼓励到一些与我有相似经历的同行。
|
设计模式 算法 网络协议
社招offer-腾讯T9-70W年薪(面试经验分享)(上)
社招offer-腾讯T9-70W年薪(面试经验分享)
|
7月前
|
Dubbo NoSQL Java
太为难我了,阿里面试了7轮(5年经验,拿下P7岗offer)
今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了。但是,不得不说,这次阿里面试真的太难为我了,可以说是和面试官大战了7个回合,不过好在最后给了offer。
|
7月前
|
消息中间件 算法 NoSQL
两年CRUD,二本毕业,备战两个月面试阿里,侥幸拿下offer定级P6
本文素材来自一位关注我一年多的铁粉 对于很多没有学历优势的人来说,面试大厂是非常困难的,这对我而言,也是一样,出身于二本,原本以为就三点一线的生活度过一生,直到生活上的变故,才让我有了新的想法和目标,因此我这个二本渣渣也奋斗了起来,竟拿下了阿里P6岗。今天分享这波面经,主要是希望能够激励到同样被学历所困扰的技术人,能够对职业生涯和技术规划有一个参考价值,感谢!
两年CRUD,二本毕业,备战两个月面试阿里,侥幸拿下offer定级P6
|
7月前
|
设计模式 NoSQL Java
渣本生成功逆袭,拿腾讯offer,谁说学历不好进不了大厂
在互联网行业面试中,大家都知道,一般大公司才会在应聘中重点要求学历这一条的,那么非985、211毕业的我们,想去大公司,该怎么办呢?
|
7月前
|
NoSQL 算法 关系型数据库
入职字节跳动那一天,我哭了(蘑菇街被裁,奋战7个月拿下offer)
先说一下自己的个人情况,18届应届生,通过校招进入到了蘑菇街,然后一待就待了差不多2年多的时间,可惜的是今年4月份受疫情影响遇到了大裁员,而我也是其中一员。好在早有预感,提前做了准备,之前一直想去字节跳动,年前就已经在做准备了,这场持久战拉得很长,也最终以7个月的时间取得胜利。在踏入字节跳动,办理入职手续的那一天,作为一个男子汉,确实是落泪了。特分享一波我的真实经历,共勉。
|
7月前
|
设计模式 算法 NoSQL
Java开发三年四面字节跳动复习一个月斩获offer,寒冬并不可怕
目前互联网行业形势越来越严峻,我接连投递了很多的简历,得到的回复却是寥寥无几,索性好好复习了大概一个半月的样子,挑战字节跳动成功!!接下来分享我在字节面试遇到的面试题,欢迎大家文末留言与我一起讨论!
|
存储 应用服务中间件 nginx
社招offer-腾讯T9-70W年薪(面试经验分享)(下)
社招offer-腾讯T9-70W年薪(面试经验分享)
社招offer-腾讯T9-70W年薪(面试经验分享)(下)
|
7月前
|
消息中间件 NoSQL Java
为了阿里巴巴的P7offer,我筹备了半年,四面之后终于成功拿下
大厂是每一个程序员的梦想,在这些互联网的大厂里面又属阿里巴巴最吃香,今天小编就来分享一个小伙进阿里巴巴的面经!
|
前端开发 Java 测试技术
秋招搞个保底offer再说,我换赛道了。
我是24届的应届生,大连某双非大四在读,Golang技术栈,秋招投了100多家公司了,面试有七八家,给机会的大厂也有,比如字节、京东就给机会了,但是都没抓住,都是一面就没后文了。。。 面试结束后,我反思了一下自己,感觉自己还是太差了,基础知识掌握的不够到位,很多问题都只能回答个七七八八,做不到深入叙述,我想主要原因是因为自己没有学,而是直接背的您的学习笔记,这就导致我根本无法对面试官的问题进行进一步延伸。
115 0
下一篇
DataWorks