前言
今年分享的的这位是学习群的一位专升本的湘妹子,在学习群待了一年多,也一直很认真在学习,暑假的时候拿了一个10K的实习offer,秋招又拿了一些offer,最后选择了小米。
自我介绍
湖南专升本大四学生,程序媛,软件工程专业,湖南长沙人。
2019暑假找实习经历:今年6月份来深圳找大数据实习,最终有3家公司给了offer,我最后选择了薪资和福利待遇还有发展空间较前2家好的一家大数据公司,答应给我10k,包中餐和晚餐,一周要加几天班,商量着是弄完毕业设计后入职。
2019秋招经历:今年参加秋招,先后面了阿里(被捞起来2次,都败在了2面)、贝壳(过一面)、快手(过一面)、小米(实习中)还有一些小厂(拿到了2个offer)和国企(拿到了3个offer)。由于自己是米粉,最终决定了决定去小米实习大数据。
学习历程
18年10月份的时候,在星球认识了锋哥,接触到了大数据,当时和锋哥打完电话后毫不犹豫的决定走这条路,我按照锋哥给我规划的路线和资料学了几个月,少走了很多弯路。下面大致说一下我的学习历程:
我18年过年的时候,锋哥给了几个项目,然后听了一些千聊的live,项目中不懂的找锋哥进行解答,简历中用的项目,每次面试都会被问到,要点锋哥都整理到项目文档中了,这点比较好。
18年10月份决定走大数据方向,找锋哥规划了路线,最开始学的是hadoop 8天那套资料,刚开始学的时候,有一些阻力,后来跟锋哥说我的困难,他建议我:“先把hadoop学完,跟着敲,不会也没关系,哪怕自己在虚拟机上敲的结果和视频中不一样,都没关系,把视频上的理解了就行,实在想弄懂的,去问问锋哥”,我按照他的建议学完了hadoop生态知识,实现了大数据入门。(后台回复"资料"获取)
19年1月份左右,学习数据结构和算法,由于自己之前的基础不扎实,也没怎么学数据结构和算法。锋哥给我的建议是:“目前先了解快速排序,选择排序等常问的数据结构,基本的数据结构要能讲出来,还有就是把面经上的数据结构给弄懂,因为这些是常问的。最后弄完这些就去刷剑指offer”。
19年3月份,投大数据春招,之前自己有个误区,认为要等自己学到一定程度,在决定去投简历。当时找锋哥聊,我印象比较深刻的一句话是:“你简历上写的,你不一定全会,重点是你能获得面试机会,积累面试经验。”
投简历,尽量选一个城市进行投递,例如,你在XX城市投了50份简历,不要有了一个面试机会就跑去面试,可以积累5-6个,一起去面试。在面试实践中成长。
19年6月份,去深圳找大数据实习,刚开始1、2天我投了百来家,没有接到一个有意向的企业电话,后面找锋哥帮忙,得知是自己跟boss招聘者聊的话术有问题,按锋哥给的话术第二天又重新投了100来家,接到了10来个面试邀请,最终有3家公司给了offer。两家是java(大数据方向)岗位,侧重于java,一家是大数据。
我最后选择了薪资和福利待遇还有发展空间较前2家好的一家大数据公司,一个月10k,包中餐和晚餐,一周要加几天班。
19年8月份,开始投秋招,前后投了四五十家互联网企业,先后面了阿里(被捞起来2次,都败在了2面)、贝壳(过一面)、快手(过一面)、小米(实习中)还有一些小厂(拿到了2个offer)和国企(拿到了3个offer)。由于自己是米粉,最终决定了决定去小米实习大数据
学习过程中遇到的问题
我整理了一些与锋哥的通话记录,每次打完电话我都会及时总结。
我:大数据hadoop还没学完,现在能投大数据相关?
锋哥:可以投,先有面试机会,简历上的东西不一定要全会,后续补,积累面试经验
我:怎么了解一个公司支不支持远程面试
锋哥:这个视情况而定,当你接到面试电话的时候,首先询问下面试流程是怎样的,笔试和面试是一次还是多次。贵公司支持远程面试?支持远程面试的话,做好相应准备,如果通过了,但公司要求去现场面试,可以跟公司说明:现在这几个月要忙毕业的事,可不可以先留个联系电话,我准备毕业了去XX城市发展,到时候过去了,在和您联系。
我:在我大数据(hadoop8天)没学完的情况下,学校课也比较多,我现在有点纠结这个时间安排问题,因为现在还有数据结构和大数据要学,同时还要准备面试相关。
锋哥:简历先投个50多家,不一定全部去,现阶段先把hadoop学完,跟着敲,不会也没关系,哪怕自己在虚拟机上敲的结果和视频中不一样,都没关系,把视频上的理解了就行,实在想弄懂的,去问问锋哥。
我:对写简历有什么心得?
锋哥:1、项目经历倒序写2、Java 开头第一个字母大写3、简历不要超过一页,段落之间间距不能太大4、自我评价可以不用写或者用一句话概括,希望与您共事不用写--这是简历没东西的时候用的,你有实习和项目经历的话,可以不写。5、如果条件允许的话,可以考虑2点1)你做的项目有什么社会影响?2)你用了别人想不到做不到的想法/技术?。。。
我:锋哥,对于项目你有什么好的学习方法?
锋哥:学习方法的话,项目一开始是无从下手,你可以先跟着教学资料/视频把项目完整的敲完一遍,不需要完全理解,因为这一整个项目可以涉及的东西可以很多。先跟着敲,半懂半不懂地学,有挡路的问题可以谷歌--百度。尽量在做项目中学,初学者容易一直学基础但不敲不做,学过的基础都会忘记的。编程最终要的就是要练,不断让自己踩坑,这样进步才会大。
部分截图展示:
面试过程
主要挑去深圳面一家中型大数据公司、快手面试记录和小米面试记录做一下分享:
深圳某大数据公司:面试我的总监之前在华为工作过,他问了我java基础、数据库基础、网络基础、dubbo、 zookeeper、redis相关的知识。
基本都回答出来了,也比较满意。
然后又继续问我大数据相关的一些知识点,像mapreduce和spark的区别、怎么解决数据倾斜的问题等。
上面这些面试题这些锋哥给的资料基本都有,我理解的比较好,所以回答的也比较满意。
快手:1、 介绍下项目的架构【dubbo那一块画的有问题】2、 说说常见的一些排序算法,写一个你熟悉的排序算法(我写了选择排序)3、 说说int 和 integer的区别4、 一道关于Integer与==的编程题5、 Object中的equals()的底层实际是使用的==6、 为什么判断2个对象相等,使用了equals方法,还要使用hashcode方法7、 讲一下集合框架的类图的组成机制8、 讲一下JVM的内存模型(不是指JVM运行时区域,而是指工作内存,区域内存等)9、 简单讲一下concurrentHashMap的实现机制10、了解数据库的索引吗?组合索引(提高查询效率)11、简单说一下HDFS的写入流程
小米(一面):1、 看你简历上说熟悉常用的集合框架,你能简单讲一下hashmap吗?2、 换种方式说一下,hashmap是怎么解决hash冲突的吗?3、 简单介绍一下红黑树4、 红黑树的插入操作时间复杂度大概是多少5、 那红黑树的查找操作时间复杂度大概是多少6、 构造函数可不可以继承7、 用过java8吧是吧,optional你知道吗?有个类叫completeableFuture8、 concurrentHashMap 和 hashtable 有什么区别9、 string和stringBuilder【线程不安全】有什么区别10、Spring AOP大概是什么呢11、AOP的实现原理你知道吗?12、TCP协议的三次握手和四次挥手说一下13、get和post的区别14、你还了解其他HTTP的协议吗?post和put有什么区别。。。
总结
1.面试不是单纯的背面试题,需要你学会迁移。举例:当问到了hashmap的底层原理的时候,你会说到红黑树,这时,当你回答完后,面试官极大可能会问你红黑树相关的一些问题,像红黑树的特点和红黑树的插入、查找时间复杂度等。
2.面试中遇到问题,及时像有经验的人请教,避免下次还遇到类似的问题,又不会。
3.多总结和整理,输入重要,输出更重要。
--end--