二本机械转型Java开发,第一次面试就进了阿里。。

简介: 二本机械转型Java开发,第一次面试就进了阿里。。

今天分享的学习群的一位小伙伴,他是二本学校的机械专业,今年大四,最近在准备春招。第一次投简历就投的阿里,并顺利通过4面,目前已经拿到offer。下面分享一下他的经历。


我是江西一个二本院校机械专业的大四学生,由于自己对军事重器感兴趣,于是高考报的机械专业。上了大学之后,才发现我天真了,金工实训的那些日子直接把我整崩溃了。


image.png


秋招的时候有一些校企合作的学校过来招聘,整个专业招了一半,薪资是3-4K。那时真的哭笑不得,笑的是有工作了,哭的是这个薪资在我们老家彩礼都付不起,更何况还要买车买房

于是我去请教上一届已经毕业的学长,他是我们专业的优秀毕业生,毕业的时候进了通用汽车当管培生,据说待遇不错。微信找他聊了聊之后,才知道他被通用招进去当销售,由于性格比较腼腆加上待遇不怎么样,现在在某培训机构培训Java。


我也开始萌发了转行的想法,于是开始了解计算机行业,也去搜了很多机械专业毕业前景。网上对于机械专业全部劝退,看了知乎的帖子,有些重点高校的机械硕士和博士也都转型到金融和计算机了。

去年9月份我已经收到了机械专业的offer,经过一个月的挣扎,10月开始学习Java。这一个月加了很多学习群,在群里问了很多次:建议转Java开发吗?很多人都回复,内卷太严重了,不要来996了...

于是我带着疑问去私聊峰哥,跟峰哥介绍我的情况之后,峰哥跟我说了一句话:计算机行业再怎么内卷都比机械好,光薪资来说甩机械好几条街,瘦死的骆驼比马大。如果想转的话趁早转,越往后成本越高。


因为之前看过机械硕士,因实验室师兄毕业拿5K,自学Java转型大数据这篇文章,看到这位学长转型成功,于是去请教峰哥相关的学习路线。

峰哥帮我规划了从10月到12月的学习路线,让我在12月的时候开始面试,积累一些面试经验。我从10月开始学Java基础,11月由于家里有事耽搁了一个月,一直按原计划学到了1月。

说实话,刚开始学习的第一个月是很懵逼的,经常学了前面忘了后面,但峰哥跟我说这是正常的,前面先学个印象,如果是重点知识,后面还会遇到的,到时再强化学习就可以。

这三个月总共学了:Java的高频知识点,2个面试项目,计算机基础的高频知识点,剑指offer过了一遍思路。


1月底让峰哥帮忙写完简历之后就打算开始投了,峰哥给我的投递策略是:先投小公司积累一些面试经验,看看自己的知识点有没有明显的漏洞,后面再投递中大公司,别浪费了机会。

我上午在Boss直聘更新好简历之后,下午北京阿里的一个技术专家就在Boss上给我发了:您好,请问考虑Java岗位的开发吗?那时的我很激动,马上给他回复了:考虑。随即他要了我的简历,我也答应了。

后来找峰哥说了一下情况,并请教了如何准备阿里的面试,峰哥让我先别着急,有可能是群发的,面试之前会电话通知的,按原计划走。这时我的心才平静了一些,毕竟第一次面试,还是阿里,很激动。

隔天早上一个电话打进来,说是阿里的hr,约一下面试时间。我把面试推到了下周,这样有时间进行准备。

1月的阿里一面面完就没后续消息了,觉得应该是挂了。随后继续在Boss上投了一些外包和小公司,陆陆续续地面了一些,也拿了几个offer。峰哥让我过年这段假期总结一下年前面的这些问题,年后开始冲击中大公司。


过完年后回到学校,准备开始做毕设。突然接到阿里面试官的电话,约一下二面视频面,因为年前比较忙,所以推迟到年后了。2月份面完又没消息了,但这次回答的比一面好,没理由挂啊。

前段时间又接到了一个电话,说是三面的面试官,问我现在方不方便面试,那时刚好有空,于是就答应了,这次面完之后,我留了个心眼,问还有下一次面试吗?面试官跟我说了,HR明天会联系你。

果然是大厂,一个面试拖了3个月,我的心情像坐过山车一样,到后面过了HR面拿到offer,也没最开始那么激动了。下面我分享一下我被问到了一些题目。


image.png


1、自我介绍、项目相关
2、HashMap
3、基本数据类型和包装类的区别?
4、ThreadLocal原理
5、线程池参数以及线程池
6、synchronized和reentrantlock区别
7、说说Spring的AOP
8、讲讲动态规划
9、数据库了解多少,自由发挥


阿里二面(视频面)

1、OSI七层模型2、TCP UDP区别3、三次握手四次挥手讲一下
4、JVM内存模型
5、JVM类加载机制
6、垃圾回收器和算法
7、项目(redis相关)8、了解过大数据吗?说说9、数据结构熟悉吗?说说红黑树


阿里三面(一个小时)

1、聊项目业务2、项目的MQ、Zookeeper的一些问题3、算法熟悉吗?简单问了下快排的实现,最好、最坏、平均时间复杂度以及对应的情况
4、说说单例模式
...


上面是我记得起来的一些面试题,阿里问的覆盖面挺全的,一面二面主要是一些Java和计算机基础以及部分框架的面试题,三面主要围绕项目和几道算法题的思路,阿里的面试官都很和蔼,一直在引导着我回答。HR面就是一些常规的问题,比如:我在江西读的大学,考虑去北京工作吗之类的。


总结

1.感觉这次能拿到阿里挺魔幻的,有很大的运气成分,面试官问的问题都刚好能答的上来。接下去要继续巩固一些计算机基础,和加强一下实战,争取毕业后入职能早点适应工作。

2.大厂有时候也不是特别难面试,大厂问的问题都是网上可以查到的,反而是一些小公司,问的都是一些框架配置、环境安装的问题,不那么容易回答。

3.项目很重要!我能通过简历筛选都是因为项目的技术栈跟部门使用的比较匹配,而且项目的问题占整个面试的一半,如果没有好的项目估计会一直被怼算法和基础。

4.有条件的话准备好项目就可以早点面试,知识是永远准备不完的,只有逼自己一把,才能更快的进入战斗状态。

--end--

相关文章
|
26天前
|
Java 程序员
Java社招面试中的高频考点:Callable、Future与FutureTask详解
大家好,我是小米。本文主要讲解Java多线程编程中的三个重要概念:Callable、Future和FutureTask。它们在实际开发中帮助我们更灵活、高效地处理多线程任务,尤其适合社招面试场景。通过 Callable 可以定义有返回值且可能抛出异常的任务;Future 用于获取任务结果并提供取消和检查状态的功能;FutureTask 则结合了两者的优势,既可执行任务又可获取结果。掌握这些知识不仅能提升你的编程能力,还能让你在面试中脱颖而出。文中结合实例详细介绍了这三个概念的使用方法及其区别与联系。希望对大家有所帮助!
163 60
|
2天前
|
Java 程序员 开发者
Java社招面试题:一个线程运行时发生异常会怎样?
大家好,我是小米。今天分享一个经典的 Java 面试题:线程运行时发生异常,程序会怎样处理?此问题考察 Java 线程和异常处理机制的理解。线程发生异常,默认会导致线程终止,但可以通过 try-catch 捕获并处理,避免影响其他线程。未捕获的异常可通过 Thread.UncaughtExceptionHandler 处理。线程池中的异常会被自动处理,不影响任务执行。希望这篇文章能帮助你深入理解 Java 线程异常处理机制,为面试做好准备。如果你觉得有帮助,欢迎收藏、转发!
35 14
|
2天前
|
JavaScript 安全 Java
智慧产科一体化管理平台源码,基于Java,Vue,ElementUI技术开发,二开快捷
智慧产科一体化管理平台覆盖从备孕到产后42天的全流程管理,构建科室协同、医患沟通及智能设备互联平台。通过移动端扫码建卡、自助报道、智能采集数据等手段优化就诊流程,提升孕妇就诊体验,并实现高危孕产妇五色管理和孕妇学校三位一体化管理,全面提升妇幼健康宣教质量。
27 12
|
5天前
|
安全 Java 程序员
Java 面试必问!线程构造方法和静态块的执行线程到底是谁?
大家好,我是小米。今天聊聊Java多线程面试题:线程类的构造方法和静态块是由哪个线程调用的?构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节有助于掌握Java多线程机制。下期再见! 简介: 本文通过一个常见的Java多线程面试题,详细讲解了线程类的构造方法和静态块是由哪个线程调用的。构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节对掌握Java多线程编程至关重要。
34 13
|
25天前
|
算法 安全 Java
Java线程调度揭秘:从算法到策略,让你面试稳赢!
在社招面试中,关于线程调度和同步的相关问题常常让人感到棘手。今天,我们将深入解析Java中的线程调度算法、调度策略,探讨线程调度器、时间分片的工作原理,并带你了解常见的线程同步方法。让我们一起破解这些面试难题,提升你的Java并发编程技能!
65 16
|
22天前
|
Java 程序员 调度
Java 高级面试技巧:yield() 与 sleep() 方法的使用场景和区别
本文详细解析了 Java 中 `Thread` 类的 `yield()` 和 `sleep()` 方法,解释了它们的作用、区别及为什么是静态方法。`yield()` 让当前线程释放 CPU 时间片,给其他同等优先级线程运行机会,但不保证暂停;`sleep()` 则让线程进入休眠状态,指定时间后继续执行。两者都是静态方法,因为它们影响线程调度机制而非单一线程行为。这些知识点在面试中常被提及,掌握它们有助于更好地应对多线程编程问题。
55 9
|
27天前
|
安全 Java 程序员
Java面试必问!run() 和 start() 方法到底有啥区别?
在多线程编程中,run和 start方法常常让开发者感到困惑。为什么调用 start 才能启动线程,而直接调用 run只是普通方法调用?这篇文章将通过一个简单的例子,详细解析这两者的区别,帮助你在面试中脱颖而出,理解多线程背后的机制和原理。
60 12
|
25天前
|
前端开发 Java 程序员
菜鸟之路day02-04拼图小游戏开发一一JAVA基础综合项目
本项目基于黑马程序员教程,涵盖面向对象进阶、继承、多态等知识,历时约24小时完成。项目去除了登录和注册模块,专注于单机游戏体验。使用Git进行版本管理,代码托管于Gitee。项目包含窗体搭建、事件监听、图片加载与打乱、交互逻辑实现、菜单功能及美化界面等内容。通过此项目,巩固了Java基础并提升了实际开发能力。 仓库地址:[https://gitee.com/zhang-tenglan/puzzlegame.git](https://gitee.com/zhang-tenglan/puzzlegame.git)
42 6
|
28天前
|
Java 应用服务中间件 API
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
38 5
|
28天前
|
前端开发 Java 数据库连接
【潜意识Java】深度解读JavaWeb开发在Java学习中的重要性
深度解读JavaWeb开发在Java学习中的重要性
29 4

热门文章

最新文章