电网工作2年后考研,8面阿里,成功转型大数据开发

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 电网工作2年后考研,8面阿里,成功转型大数据开发

今天分享的是学习群的一个研二女生,她在国企电网工作两年后读研,随后零基础开始接触开发的学习,在春季实习的时候拿了一些大厂的大数据开发offer。



自我介绍    


我原来是电气专业的,工作了两年,转的软件工程,读了硕士,一开始还挺难的,学习基础知识,认识一个全新的领域。我从19年年底开始接触开发,真正的零基础开始学习,后面运气也比较好,算法没刷几题就开始面试,6月份陆续拿了美团、阿里、华为的大数据offer,也有几家中小厂的。其中阿里面了两个部门,总计8面;美团4面,华为3面,流程都非常久,我一度都认为没戏了。。


image.png


方向选择


在找实习中,最困扰我的应该是选择哪个方向。一开始我在实验室的项目做的是前端开发,到后来觉得,前端变化太快,就转做后端开发,是选择用python还是用java,也是纠结,后来发现后端的竞争真的太大了,扎实的编程基础,项目经验,框架学习,还有一群大佬,所以也就作罢了。因为看了峰哥的几篇文章,随即接触了大数据,在懵懵懂懂中走入了这一行。



学习过程


因为我之前没有接触过编程(研究生复试的时候大概知道一些,但是几乎等于0),所以我的学习是从Java的学习开始的。其实我是很纠结的,应该直接练算法题还是看基础知识来学习Java?最后,我还是决定先看知识点,学习的深入程度大概就是可以知道基本的概念,基本的数据类型就差不多了。



理论学习


我这个时候就开始刷剑指offer,同时我在极客时间上买了一个数据结构和算法的课,这样大概持续了一段时间。之后我就开始看深入理解JVM这本书,同时结合峰哥给我的面经,开始看Java面试的知识点。讲道理,这个阶段是很痛苦的,这个时候大概应该是去年11月份吧,马上又要期末考了,所以时间很紧。


同时,面试点通常是一个很深的点,会牵扯到很多的知识,所以这个阶段真的是很漫长。那时候我是没有大数据的项目的,本来打算做峰哥的项目,但是,我后来还是觉得太抽象了,加之我大数据的知识一个都还没开始学,所以也就作罢了。期末考试结束,已经是年后了,学习好像到了平台期。



实践学习


我真正开始大数据知识点,应该是2月份以后了吧,那时候面临着找实习的问题。心情也在摇摆,还是在纠结要往什么方向找实习,加上过年,疫情,这个人都是处于不想学习的状态,但是,实习迫在眉睫啊,所以我又开始逼自己学习了。好几次坚持不下去,就去找峰哥稳定军心,峰哥跟我说我是科班的,只要学坚持学,问题不大的。


想着还是干不过后端大佬,我就又捡回了大数据的方向,开始大数据知识点的学习。我从Hadoop开始,把HDFS,Yarn,MapReduce的知识框架全部都看下来,然后自己在虚拟机上搭建了环境,试着简单的做一些基本的操作,在这个期间,我还学习了Java并发编程,主要是看B站(大型学习网站)的一个视频,还挺多的,快200集被我啃下来。这两部分的学习是同步进行的。我个人是比较习惯做笔记,这样可以回头看,但是也比较耗时。



项目学习


但是,有一个致命的问题,我还没有项目啊,这个时候,简直就是老天爷帮我,我们人工智能课上有一个人工智能的项目,然后我就花了一个星期,把这个项目的脚本啃下来,同时套入大数据技术栈和场景,然后转换成了自己的项目。


因为我之前不是软件专业,所以我的sql真的不是一般的差,所以我啃脚本的同时,我开始学习Hive的基础知识和语法,也是在B站上看的一个视频。为了丰富简历,我还看了峰哥的ZK视频,B站的ZK视频,还有一个博主关于ZK面经的分享。这个时候,差不多就是3月中旬了吧。这时候,我开始投简历了。


说实话,在投简历的时候,我真的是一个超级菜鸡,目前简历上写的是熟悉Java(基础,JVM,并发编程),了解Hadoop,Hive,Zookeeper,了解Linux(我的研究生课程选修课),了解MySQL(被逼无奈),了解数据结构和算法(一直在练算法),项目经验是实验室的一个网站,做的前端;人工智能课的一个项目,背的脚本。



开始面试


好,然后就开始投简历了。没想到第一个面试就是阿里巴巴,周一晚上要笔试,周一上午就有人约晚上面试。What?小朋友有很多问号?然后我做了笔试之后,直接开始面试了,那天下午我开始疯狂刷知识点。不出意外,我算法一道都没有ac,但是面试还挺顺利的,大概40分钟吧,问的比较基础,很快就约2面,然后3面,4面,hr面。3面的算法加试,面了两个半小时,可太难了吧。反正最后阿里巴巴也没有给我发offer,把我放在池子里泡着。


但是面阿里巴巴的那一个半星期,我一下子就成长起来,对面试的流程有了大概的了解,也大概知道流程什么,果然还是要面试起来,才会无所畏惧啊。之后投了美团,华为,拼多多,字节跳动,腾讯,招行,微众,网易…,字节跳动简历就被pass了,腾讯一面挂了,好像不亲Java,网易二面挂,果然写sql还是我的硬伤,美团约了下个星期2面,华为下个星期2面,招行笔试挂,微众笔试挂,拼多多性格测试之后就没消息了,反正就是,一直没有offer啦。


后来一个大数据公司在找数据挖掘的岗位,我就想说不然试试吧。然后我花了一个星期开始啃算法。啊,算法真的是太痛苦了,什么线性回归,逻辑回顾,决策树…,反正我就看着周志华的机器学习,然后看了B站一个视频。然后硬着头皮去面试了,谁可知,我最后拿到offer了。人生真的是很奇妙呢。不过要做人工智能的项目,还是离不开写脚本和算法,所以最近就是慢慢开始补算法,python,Hql,然后还要开始准备秋招。



收获offer


到5月份,阿里另外一个部门又把我捞起来鞭打,到6月初已经面了3个技术面,1个HR面,但消息又沉了两个星期。在这两星期我通过美团的4面,也给我发了offer,于是我就接了。华为面了3面也没消息。在我接了美团几天后,阿里HR给我发了offer,随机华为也给我发了。啊,人生真奇妙,那时也没多开心,有点麻木了。



部分面试题


阿里一面(35min)


hadoop的基本组件详细介绍一下

zk的实现原理

zk如何实现分布式锁

并发编程如何实现

生产者,消费者模式的具体实现是什么

mysql的事务隔离级别是什么

红黑树知道吗?大概说一下


阿里二面(30min)


项目

hive的优点,为什么要使用hive

**tcp协议的重传机制**

问了转行的原因


阿里三面(两个半小时)


算法题一,在数组中随机选取是三个数,越大的数出现的频率越大

算法题二,根据字典来遍历输入字符串

算法题三,岛屿问题

**T的含义是什么**

项目介绍一下

数据流中的中位数是怎么找到的


阿里四面(30min)


自我介绍

项目的介绍

问了一下复杂链表的复制

聊了一下疫情的问题


hr面


项目遇到最大的困难

你最有压力的时候,怎么缓解

你最优成就感的项目

你为跨专业考研

你未来的职业规划

面试这么多次的收获是什么

你笔试题做下来是什么感觉,有没有对答案

你了不了解阿里云的产品



腾讯面试


项目

网站输入url的过程

dns协议是否使用udp

三次握手和四次挥手

为什么建立连接时三次握手,断开连接时四次挥手

tcp有什么别的保证可靠性的机制嘛

tcp出现包丢失要怎么处理呢?

滑动窗口啥的?我不知道啊

你说一说如果我要找出数组中重复的数字要怎么做呢?

hashmap

位图(不知道面试官提到的)

那你说一说hashmap中怎么解决冲突呢?

那你说一下怎么找到数组中的最大的k个值呢?

使用小根堆

还有别的方法吗

使用快速排序的思想,时间复杂度是多少

看你会使用linux,说一说怎么查看内存,怎么查看磁盘空间,怎么查看进程

你会c/c嘛?


总结


其实算起来,我准备的时间不是很长,但是,确实那段时间,就是逼着自己学习,每天学个10几个小时的。不过,自己学总感觉没有头啊,最好能找个前辈引引路,不然会学到怀疑人生。


希望秋招能找到适合自己的工作吧,比如那种钱多活少离家近那种,哈哈哈哈...毕竟自己骨子里还是条咸鱼


--end--


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何开发ODPS Spark任务
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2月前
|
SQL 分布式计算 大数据
代码编码原则和规范大数据开发
此文档详细规定了SQL代码的编写规范,包括代码的清晰度,执行效率,以及注释的必要性。它强调所有SQL关键字需统一使用大写或小写,并禁止使用select *操作。此外,还规定了代码头部的信息模板,字段排列方式,INSERT, SELECT子句的格式,运算符的使用,CASE语句编写规则,查询嵌套规范,表别名定义,以及SQL注释的添加方法。这些规则有助于提升代码的可读性和可维护性。
40 0
|
2月前
|
SQL 分布式计算 大数据
大数据开发SQL代码编码原则和规范
这段SQL编码原则强调代码的功能完整性、清晰度、执行效率及可读性,通过统一关键词大小写、缩进量以及禁止使用模糊操作如select *等手段提升代码质量。此外,SQL编码规范还详细规定了代码头部信息、字段与子句排列、运算符前后间隔、CASE语句编写、查询嵌套、表别名定义以及SQL注释的具体要求,确保代码的一致性和维护性。
70 0
|
4月前
|
SQL 分布式计算 MaxCompute
SQL开发问题之对于ODPS中的UNION操作,执行计划的问题如何解决
SQL开发问题之对于ODPS中的UNION操作,执行计划的问题如何解决
|
4月前
|
存储 分布式计算 MaxCompute
构建NLP 开发问题之如何支持其他存储介质(如 HDFS、ODPS Volumn)在 transformers 框架中
构建NLP 开发问题之如何支持其他存储介质(如 HDFS、ODPS Volumn)在 transformers 框架中
|
3月前
|
数据可视化
Echarts数据可视化开发| 智慧数据平台
Echarts数据可视化开发| 智慧数据平台
|
3月前
|
数据可视化
Echarts数据可视化大屏开发| 大数据分析平台
Echarts数据可视化大屏开发| 大数据分析平台
|
3月前
|
分布式计算 大数据 Java
Scala 入门指南:从零开始的大数据开发
Scala 入门指南:从零开始的大数据开发
|
4月前
|
分布式计算 自然语言处理 MaxCompute
构建NLP 开发问题之如何在数据加载框架中实现从两个ODPS表中分别读取正样本和负样本,并在batch内以1:1的方式混合
构建NLP 开发问题之如何在数据加载框架中实现从两个ODPS表中分别读取正样本和负样本,并在batch内以1:1的方式混合
|
4月前
|
SQL Java 大数据
开发与运维应用问题之大数据SQL数据膨胀如何解决
开发与运维应用问题之大数据SQL数据膨胀如何解决