二本电气工程应届生收割5个offer,转型大数据真的与专业无关

自我介绍

双非二本大四学生,电气工程及其自动化专业,非科班。大二开始实习,秋招拿了360、海康威视等5家offer,其中三家大数据,两家Java开发。

二本电气工程应届生收割5个offer,转型大数据真的与专业无关_第1张图片

学习与面试历程

2017年底,在朋友的帮助下,开始接触编程学习,也是他帮我选择了Java这个方向,其实在学习之初能有个人指点下方向其实是件很重要的事。首先是慕课上看了一个讲Java基础的课程,后来朋友给我分享的黑马Java培训视频,就直接开始看黑马视频了。

这个过程挺曲折的,一方面面临本专业期末考试,另一方面自学编程确实是件挺艰难的事情,这个感觉在刚接触Web开发,页面调Bug的时候体会的更深刻。

2018上半年,主要是在一边学习本专业课程,一边自学Java,我开始体会到,学习这些东西应该去打一些比赛练练手,为此我还特意找了辅导员,导员估计也是一脸懵逼,毕竟我们专业是学电气的,用Java的很少,他建议我去学校官网留意一些比赛通知,自己找队友组队参加。

于是开始了招募队友之路,基本问遍了我们专业有哪些人在学编程,后来找到了个会php的哥们,我和一个软工专业的同学搞网页开发,这个哥们就做后台,参加了一个校级的比赛,拿了三等奖。后来就开始了web开发的学习,SSM,SSH,Dubbo、Mysql、Redis、SpringBoot、SpringClound电商项目,SpringBoot和Cloud是看寥雪峰老师的课。

2018暑假,在认识的一个老师合伙的小公司里实习做了个SSM的商业项目,开始在实践过程中,疯狂锻炼开发调试能力。这期间对调BUG的能力有了很大的提升,如果不考虑分布式高并发高可用这一块,这个时候已经有能力独立开发一个web项目了。

2018下半年,开始了大数据开发学习,同样也是看的黑马大数据,这期间,还参加了两个省级比赛、一个国家级比赛。更重要的是,2017-2019这两学年,我分别拿了本专业的一等奖学金、二等奖学金、连续两年国家励志奖学金、三好学生、优秀学生干部,同时加入了党组织,这其中的艰辛其实可想而知。

2019上半年,看深入理解Java虚拟机这本书,学完了Linux、Zookeeper、Hadoop,MapReduce、Kafka、Storm、Hbase、Hive、Netty,Scala、看Spark源码,学习做了几个大数据项目。

春招找实习的时候,投了五六家,三四家挂在了笔试上,由于我前期的学习上并没有去学习计算机网络、数据结构、算法等计算机基础课程,这次实习拿到学校本地一家公司和海康威视的Java开发实习生Offer。最后还是放弃了这两个机会,暑假全身心留在学习计算机基础以及大数据开发学习上。

2019暑期,开始补计算机基础,liuyubobobo老师的玩转数据结构、算法与数据结构、深度实战玩转算法游戏、王道计算机网络、操作系统,买书看书,leetcode刷了几百道编程题,牛客剑指Offer等。

2019秋招的时候,刚开始的几个面试都挂了,问的问题我好像都会但都答不上来,很慌,生怕浪费面试机会。后面朋友给我推了锋哥微信,锋哥给跟我聊了一会,指出我存在的几个问题:

1..心态不好,秋招才刚开始就觉得自己不行。

2.简历结构写的不好,项目过于简单。

3.知识体系很零散,不系统化。

后面按锋哥的指导的路线走,基本就是面一家过一家,先后拿了海康威视(大数据)、大华(大数据)、奇安信(原360企业安全)(大数据)、两家小企业Offer(Java)。

二本电气工程应届生收割5个offer,转型大数据真的与专业无关_第2张图片

深演智能大数据开发经历了两轮技术面,一轮HR面,又加面了一轮CTO面,最后还是没有给Offer,估计他们CTO需要能力更强的人。58大数据开发两轮技术面,聊的其实挺愉快的,二面面试官还答应我是过了二面的,不过没后续了。

还有些其它小厂经历了至少两轮面的。拿了几个offer后也不想投了,就签约打游戏去了,学了那么多不就为放松这一刻吗。。最后选择了奇安信(奇安信听说不加班,实习发现确实如此)。

实习经历

2019年12月到奇安信实习,来的时候组里在对大数据各个组件做一个监控告警平台,我到的时候监控差不多做了30%,用的开源软件是之前没有学习过的,很快熟悉了软件,接下来的所有监控以及告警这块全部是我负责了,告警这块用的开源项目是我自己调研的,然后自己修改组件源码、写python脚本等来满足我们的需求。

平台80%的线上组件的告警用的都是我修改后的项目来做的,组里是做分布式存储的,纯搞技术,做底层源码的修改,也为社区提供一些支持,后面我主要的工作和Kafka有关。这跟我一开始学习偏应用开发不一样,不过好在之前做过不少项目,锻炼了开发调试能力,基本工作进行的都很顺利。

秋招面试题

接下来贴一下秋招面试题,都是我遇到的实战题,有Java,有大数据:

 

1.死锁、乐观锁、悲观锁、synchronized底层原理及膨胀机制ReetrantLock底层原理、源码是如何实现公平和非公平的synchronized和lock的区别volitale理解?

2.volitale保证可见性的意义什么是指令重排序,为什么要禁止指令重排序介绍java中的基本数据类型及所占大小2的8次方是多少,Integer最小值是多少。

3.说数值scala中Int和Long是怎么实现的,丰富的API是如何实现,scala中String是怎么实现的,这么多丰富的方法是怎么实现的?

4.隐式转换介绍Java中你知道的所有Map、Set、List的类,比较他们的区别,哪些是线程安全?怎样使用线程安全的集合,并发安全的容器都有哪些?HashMap和ConcurrentHashMap的原理HashMap的key如何设计?HashMap死循环问题HashMap为什么使用红黑树不使用B树、B+树说一下平衡二叉树的插入删除操作?树的层序遍历说说?多进程和多线程的区别,进程和线程的区别?

5.Callable和Runnable的区别谈一谈?线程怎么实现?讲讲Java中的线程池?自定义线程池,你是如何考量七大参数的,设计思路?如何优化synchronized,CAS的缺点

6.countdownlatch、cyclicbarrier和semaphore谈一谈,说说你是怎么用的Kafka存储机制,Kafka选型,ISR机制,Kafka集群数量是怎么考量的?

7.有一个共享变量,现在多线程操作,如何设计保证线程安全,并优化

8.JVM分哪几个模块?JVM垃圾回收算法?挑一个垃圾回收算法讲一讲原理?挑一个垃圾回收器讲讲?

9.说说类加载和双亲委派机制?介绍JVM内存模型,我创建了一个对象,它有一个变量,这个变量在JVM哪里,是线程安全的吗?

10.springMVC流程说说?spring的IOC和AOP?AOP项目中使用过吗?IO和NIO的区别?

11.netty看过源码吗?你写netty rpc的时候网络传输是怎么做的?使用netty比nio有什么好处?

12.spark看过哪些源码?spark算子有哪些?哪些会导致shuffle,action和transformation算子?stage如何划分,task怎么分配?spark缓存不够用了怎么办?spark和kafka的选型问题?

13.storm的ACK机制?你做的storm项目,topology如何设计的?

14.springboot了解吗?微服务知道吗?double源码看过吗?springmvc和springboot区别?hibernate和mybatis区别?

15.你的大数据项目,怎么保证最后结果的正确性?

16.spark任务提交流程,面试官提示了applicationmaster,需要说yarn cluster模式下的流程?spark堆外内存?sparkshuffle中的瓶颈?说下spark的hashshuffle和sortshuffle,现在使用哪个?

17.mysql和redis的区别?redis缓存雪崩?mysql表和视图的区别?mysql的四大事务?关系型数据库和非关系型数据库的区别?

18.TCP/IP网络体系结构说下?ICMP是哪一层的协议?Linux有哪些常用命令?

19JVM调优做过吗?说说看?介绍一个调优的案例说下?JVM性能监控工具有哪些?分别是做什么用的?JVM调优和性能监控工具基本是必问的,建议搞一个案例总结一下

20.排序算法也很重要,面试官让介绍常用排序算法,时间复杂度,稳定性,升序排序用小顶堆还是大顶堆之类;10亿整数找出现次数最多的topN,单机内存不足;反转链表,链表入口,数组之类的编程题也有;

能回忆起来的差不多就这些了,还有一些项目有关的就不说了。

经验总结


校招找大数据开发,其实很多公司对大数据组件问的相对比较少,更多重视的是Java基础,计算机基础,所以这一块一定要过关,我就看到过有人没有学过大数据任何一个组件,但是人Java、多线程、计算机基础超级好一样拿到大数据开发Offer的,但是建议有时间还是要学一些大数据的组件再投这个岗位,然后准备面试的时候,往自己学过的地方谈,学会引导面试官很重要,毕竟面试大部分就30分钟左右,尽量把自己的特长发挥出来。


还有一个就是心态问题,我在秋招初期就差点心态崩了,因为一直不会面试,简历也写不好,面试总是挂,崩的差点都想去培训了,好在这个时候遇到了锋哥,是他阻止了我,让我静下心分析问题,解决问题。帮我改进了很多地方,也给我讲了很多面试技巧,然后从这之后基本是面一家拿一家offer。

最后就是想转型要趁早,越早成本越低,庆幸自己能比较早的去参加比赛并且实习,自己去创造环境,也感谢一路上帮助我的朋友、老师、锋哥,学习路上有人指导真的可以少走很多弯路,让自己不轻易放弃。

--end--

推荐阅读:

五年Java外包转型大数据架构

北美零基础转行开发求职面经

双非硕士阿里大数据开发面经

一位材料专业研究生的Java转型复盘

从车辆工程到大数据开发,我经历了什么?

我,30岁,部队服役5年,零基础转大数据

Java干了半年,我机智地跳到了大数据开发

传统金融IT男转型互联网大数据码农,图啥?

从安卓主管转型大数据开发,我经历了什么?

专升本程序媛,实习期间月薪10K,有点厉害

我是程序媛,从事大数据开发两年,我有话说

两年车间技术员转型大数据开发,说说转型这点事儿

3年Java开发转型大数据开发,如何跳出CRUD舒适区?

我是DBA,从大数据小白到阅读框架源码,薪资翻了三倍

国企车间流水线5年,重新考研,弯道超车,收割百度腾讯offer

被培训机构坑了,面国企要求唱歌...谈谈我转型大数据的心酸历程

警犬专业专科生,过阿里一面,又收作业帮offer,跟你聊聊大数据学习

学了三年的嵌入式,但我还是转型了大数据,跟你聊聊我学习的心路历程

扫描下方二维码

添加好友,备注【交流群

拉你到学习路线和资源丰富的交流群

你可能感兴趣的:(二本电气工程应届生收割5个offer,转型大数据真的与专业无关)