本科读的二本,竟然还是医学院搞计算机的。本科的前三年没有停歇,别人在宿舍看剧,我去图书馆自习。所幸老天眷顾,学校有了保送名额,保研到某211学校。
原以为,站在了新的起跑线上,可惜,选的导师,真的是很坑,在此过来人讲述下经验:选导师一定要打听好,一定要早做打算,选了坑的导师,你就要自己早做打算选择工作的方向。
实习Offer:目前互联网公司拿到了360的大数据开发实习。一天220+35的餐补。位于上海白玉兰广场,公司环境不错,部门leader是本硕北大的。国企也拿到了几家公司的实习offer,其中有上海核工程研究所,工商银行等。
春招也面过阿里,可惜到了四面挂掉了,当时面阿里峰哥还给我了一系列指导,蛮有用的。同时春招腾讯也拿到了offer,但是岗位和地理位置的原因就没有去。文章后面我也整理了四面阿里的面经,希望能帮助到更多的人。
学习历程
我接触大数据其实蛮久了,大概是19年初,因为女生,不想做java开发,测试又感觉没前途。所以选了大数据开发这样的方向。当时花了一万多报了某机构的大数据培训课程,但是我感觉收获并不怎么样。
我是这样认为,如果是新手入门这个行业,找个人带着你学习,真的是效率很高,你知道要学什么方向,有人会带着你学习,比你自己一点点扣是好太多了。
因为我不太会java,所以我学习的基本代码都是python写的。当时大数据的环境需要我自己搭建,所以就先听的搭建hadoop生态圈的课程,这个可以和峰哥讲,峰哥有的。把环境弄好后,就可以专心搞项目了。我当时是搭建了一个月,因为我太笨哈哈哈。接下来就是学习课程。
这是我学习的所有课程,也包括项目。但是我没有都学完,项目主要是做推荐系统的。这张列表里设计到的所有组件,都包括原理和实战。学习完这些课程就可以准备写简历了。下面是我的简历,大家可以参考哦,不会写就找峰哥指导。
简历蛮重要的,简历写的啥,肯定会问,而且随着二面或者三面进行,会问你项目越来越深,而一面考察基础比较多,比如说操作系统和计算机网络,不知道咋下手,看峰哥整理都整理好了,我就是直接拿来背的哈哈。我还面过字节跳动,一面问的基础,全是关于操作系统和网络的,真的是很有用了。
接下来就是面试,面试没别的,投就完了,不管啥公司只要是数开投就完了。多看牛客的面经这个也很重要。分享一下360的面经吧,我一面和二面是一天面试的,一般一天面两面通过的概率就比较大。
360面经
一面:1.先自我介绍 2.问了项目的问题,问了下项目中如何实现的Mysql和hdfs数据同步3.讲一下对Hadoop的了解讲了下HDFS原理、MapReduce的过程,想讲HDFS检查点机制没让讲。4.Spark和MapReduce的区别?是不是用了Spark就不需要MapReduce了?(答得不太好)5.问对Hive的了解?自己提了下数据倾斜6.如果有海量数据,如何求Top10?7.Linux平常用的指令?8. Hive内部表和外部表?建表语句?为什么要分区?9. 还有什么问题要问我吗?(问了下主要工作内容)
二面:还是问项目 项目具体深挖,大数据组件:kafka,hbase,flume。360有个经典的面试问题就是Top K问题,一二面试均有涉及。很多部门也都会问。
在面字节和阿里之前在星球提问过峰哥,峰哥也帮我挑了一些重点,基本都被问到,无奈自己太菜,时间来不及准备,都挂了。。
阿里面经
我投的是阿里-CFO数据产品技术部(主要负责阿里财务的数据团队)
4.8 笔试 两道编程题
4.11(一面 )35min1、海量数据处理成结构化数据 技术难点
2、mapreduce 的热点问题3、flume 介绍
4、kafka 介绍5、flume+kafka 为什么是经典组合
6、窗口函数 有哪些 有什么功能7、reduce 任务过长 shuffle过长 如何解决8、storm和spark最大的区别
4.12 (二面 代码面)1h1.销售表sales_dtl有城市(city),销售经理(cbm),客户(customer),销售金额(sale_amt)三列字段,请用sql取出每个城市中销售金额为本城市前10名的销售经理的信息。2、从一段字符串中,把所有大于5的回文子串打印出来,回文子串指正向反向读都一样(例如ABA,1221)。3、实现一个回形矩阵,输入n,输出为n*n的回形矩阵。1 2 3 412 13 14 511 16 15 6
10 9 8 7
附加题:1、Hie 中列出两种以上长尾问题,长尾原因以及解决方法。2、Hadoop生态系统中,Hve数据库与Hbase数据库的区别,以及分别适用场景。
4.13(三面 )25min1、HDFS数据一致性靠什么保证2、HDFS读写流程3、MYISAM和InnoDB比较 很有可能继续往下问B+树
4、平衡二叉树算法时间复杂度5、NP问题 P问题6、Hadoop 用的什么发行版型7、HA配置中节点信息同步靠什么
4.15(四面)40min1、自我介绍 简述获得奖项的经历 数学建模 互联网+等比赛2、介绍项目 主要做的工作 用到了哪些技术栈3、数据如何进行处理的 特别涉及用户隐私 userid字段如何处理
4、spark 与 hadoop区别5、介绍一下storm6、推荐算法 分类算法 聚类算法 回归算法7、CNN和RNN的区别8、以后的工作方向 实习时间
交叉面: