985 毕业的“打工人”,java 开发 2 年被裁,重新出发拿下阿里 offer
前言
看到标题,可能很多读者朋友恐怕又要骂我了,985 这个特殊的字眼也确实异常晃眼,实际上现在 985,211 也越来越多,它能代表你能够进入到更高的平台,拿到“高级工厂”的入场券,但并不意味着你会成为赢家,或者说也不代表着你会站在金字塔的顶端,因为顶端往往是少数人,位置有限,太挤了总会掉下来,而我就是被挤下来的那一拨人中的一个。
985 毕业,依然过不好这一生?当我想写这篇文章的时候,实际上内心我也给自己打上了一个大大的疑问号,这句话我是不确定的。对于我的人生来说,同许多打工人一样,并非那么顺利,也因此让我迷茫,故事很长,如果你感兴趣,希望耐心看完。
个人自我介绍
鄙人出生于南方小乡镇,为了走出小镇,在当地够拼够努力,不是自夸,确确实实也算得上“别人家的小孩”,至少在学习这件事情少,没有要家里人操过心。
高考特别顺利,一个老牌 985,具体哪个学校就不说了,不想给母校丢脸。毕业后,也算是“风光”地进入了理想公司,不说是龙头,但在当时不算差吧,那个时候算是一线。拿到 offer 那一刻是激动的,但没想到我人生的转折点也从此刻开始。
进入这家互联网公司后后,工作顺利,但也正因为太顺利,由顺利变成了安逸,基本上没想太多事,正因如此,也没有为自己的后来考虑,脑海里的职业规划一下子就模糊了不少。
后续
后果可想而知,在这家公司待了 2 年,自身技术更新不及时,加上恰巧碰到互联网环境遇冷,被裁了。公司伙食很好,待遇也不错,行业内口碑也非常 nice,公司以生产精品为荣,但最终还是败给了资本,连最值钱的电商业务也卖掉了。
离开是新的开始?
被裁之后,算是对深圳心灰意冷,离开的那天,天也灰蒙蒙的,我非常清楚自己在这座城市生存的自信力已经被摧毁掉了,唯一的解决办法,就是换一个城市生活。没有太多犹豫的,毅然决然买了高铁票去了杭州,或许这座生命力旺盛的新一线城市能够给我带来不一样的开始。
“理想很丰满,现实很骨感”这句话没想到我也能够派上用场,很显然,初入杭州的我并不顺利,经历裁员风波被消磨掉的自信心,这里的陌生感和距离感,没有朋友和家人的孤独感,同时袭来差一点就完全压垮了我。
近年来的安逸工作状态,让我的技术没有一点长进,我自知这个状态下去想要进到互联网头部公司定是不现实的,毕竟学历不能代表全部,技术才是最重要的。
目前已经在阿里入职了,过程比较艰辛,面试也有被问懵,可以说是陷入,虽然给的职级不高,但我相信我坚持下去,不再以之前的状态工作,是能够收获不少的。
附上面经吧,太久远了,记不太清, 面试题可能不太全,但还是有很大的参考价值的。
阿里一面
自我介绍,聊项目, 这边挺常规的,从项目入手。
解析 Excel 为什么用 POI ? POI 存在的问题?
还知道哪些解析 Excel 的工具吗?
你们项目中用过 MQ,平时都用 MQ 来做什么?
你处理过 MQ 得幂等问题,当时是怎么做的?
MQ 的可靠性怎么保证?
redis 你们都用来做什么?
redis 的持久化机制?
怎么样保证 redis 的高可用?
HashMap 和 ConcurrentHashMap 的区别?
ConcurrentHashMap 不同版本的差异?
用过多线程吗?
多线程的几种实现方式。
做过微服务开发吗?
说一说对重构的看法
有什么问题要问我的吗?
时间不长,大概二十分钟,面试官人不错。一面结果通过。
阿里二面
二面看上去是个组长的人,年纪并不轻。同样的自我介绍开始,然后聊来杭州发展的意愿,个人的情况,然后问了一下做的项目,就开始问问题了。
项目中处理了哪些格式的数据类型?
数据传输过程用的什么加密?
对称加密和非对称加密的区别?
http 和 https 的区别?
为什么 https 使用混合加密的方式?
说一说 JVM 调优的思路及你是怎么样调优的。
JVM 常见的算法。
抽象类和接口的区别和应用场景? ( 挺新鲜的,第- -)次碰到 )
平时有没有用到什么设计模式?
看过什么源码没有?
什么是 SpringAOP?
AOP 实现的原理。
sql 优化的思路。
索弓|实现原理。
有时候索引失效,为什么?
问了我期望薪资,本来说月薪了,后面他说他们那里是按年薪算的。然后让我等一下 ,他去找部长去概去了二十分钟。
二面结果:通过。
阿里三面
自我介绍,然后开始聊项目。
数据采集的时候有没有对数据进行校验?
有没有做加密处理?
对称加密和非对称加密的区别?
如何保证数据不丢失呢? ( 对账)
你们项目中 redis 用来干什么了?
redis 常用的数据类型?
redis 持久化机制?
分布式锁的实现?
场景题:一个 SQL 的 TOP N 问题
JVM 参数调优及 JVM 内存结构。
常见的垃圾回收算法。
dubbo 整个调用过程。
SpringMVC、Spring 和 SpringBoot 的区别 ?
线程池实现原理。
sql 优化的思路。
索弓|实现原理。
聚簇索引和非聚簇索引的区别。
你有什么要问我的吗? ( 你是部长?他说不是,部长授权面试。)
阿里四面
过了一个星期,收到电话面试,各位以为是 HR 面,错了,这个叫业务经理面。HR 说这个一 般都能过。
自我介绍,说一个你最熟悉的项目, 你在其中承担什么样的角色,开发过程中碰到最大的难题是什么?
聊一聊 SOA 和微服务。
大学挂过科没有。
哪科学得最好。
大概总共聊了 15 分钟左右。
四面结果:通过。
阿里五面
又过了一个星期,才到 HR 面。
自我介绍,项目类型。
为什么考虑到深圳发展?
为什么选择平安银行?
现在在面试哪些公司?
如何规划自己的生活?
期望薪资。
我是如何准备面试的?
1、准备简历(敲门砖,不会包装简历的程序员只能去外包)
程序员的简历一定要多下一些功夫,尤其是对一些字眼要再三斟酌,如“精通、熟悉、了解”这三者的区别一定要区分清楚,否则就是在给自己挖坑了。当然不会包装,我可以将我的简历给你参考参考,如果还不够,那下面这些简历模板任你挑选:
2、了解面试公司,做好功课,知道问什么
对一线互联网大厂的面试点,我也做了以下总结:
阿里巴巴、百度、腾讯
字节跳动、美团、京东
3、梳理知识体系,学会举一反三
实际上,梳理知识体系是最简单的事,但很多开发小白总是一头雾水,实际上从第二点的大厂面试点就可以总结梳理出来我们应该要学什么,要掌握什么,通常我的方法是“大厂面试点”+“工作年限”来梳理自己接下来的学习及发展路线图。
之后,就需要根据路线图上的重点去进行有针对性的学习,在学习过程中,学会举一反三,学会写笔记,做总结。
这里我分享我个人的一些笔记内容吧:
Java 开发核心笔记
Redis 学习笔记
SpringBoot 核心技术笔记
4、刷面试题
刷题的重要性,我想不用多说。对于应届生或工作年限不长的人来说,刷面试题一方面能够尽可能地快速自己对某个技术点的理解,另一方面在面试时,有一定几率被问到相同或相似题,另外或多或少也能够为自己面试增加一些自信心,可见适当的刷题是很有必要的。
以上《JAVA 核心知识点总结》我已经全部为大家打包准备好了,希望对正在学习的你有所帮助!
由于内容实在太多,无法全部展示,需要的朋友们注意啦:点击查看博主主页 即可得到免费获取方式
评论