赞
踩
大数据开发方向分享:春招获蚂蚁金服、拼多多、华为(终端)、远景能源、华泰证券等offe
2020届985硕士,投的基本是上海岗位,非科班转行大数据开发方向和Java后端开发。
参加了2020届春招实习招聘,主要投的是大数据开发岗位。
offer获得情况:蚂蚁金服、拼多多、华为(终端)、远景能源、华泰证券(Java)等。
主要学习了Java基础和大数据开发框架。
Java部分:基础、并发、JVM、数据库(sql)
计算机基础:计算机网络、操作系统、Linux
Hadoop部分:MR、YARN、HDFS(部分源码)
分布式理论:Zookeeper、Raft
流计算部分:Spark、Flink、Storm/Jstorm
非关系存储:Redis、Hbase、Tair、Tbase
消息队列:Kafka
没有去深入学习Spring框架那一套,只是会使用,有些公司没有大数据开发岗位,所以投的后端开发,但是对面试影响不大,就说自己只学了大数据的框架。
1、腾讯提前批(后台)
笔试情况:有笔试,最好做,要不然后面会视频敲代码
一面:电话面
上来先问清楚情况,能不能实习。想做这我们部门(方向)这方面吗?
1、jvm垃圾回收、内存管理、类加载机制;
2、linux指令:观察端口netstat、内存top、磁盘df、进程打开多少文件夹怎么看(我说了ps…不对,应该lsof )
3、数据库了解多少,索引说一下,存储引擎比较,热备份、冷备份。
4、进程间通信种类,最快的是哪种?
5、如何判断进程进程死循环?我说用心跳机制吧(应该用ps aux | more看cpu占比或者 用top动态查看)。
6、TCP建立三次握手。
7、select、epoll、poll区别。
二面:电话面
我竟然拒绝了面试官,因为我当前不想去深圳,但是也要面试下增加经验啊,以后还是有机会就面试吧。拒绝以后,就没人捞我了。还是太年轻。
2、蚂蚁金服提前批 (大数据平台相关)
没笔试
3月18一面
1、项目、天池比赛:心跳机制、数据丢失问题、进程通信,项目分工。
2、红黑树和跳表,数据库索引。
3、volatile作用,变量不断加一,是否能够并发加正确,非原子性。
4、hashmap线程安全实现。
5、spark RDD原理;
6、源码:hdfs写文件如何保证正确性;说下零拷贝模式。
7、kafka数据丢失问题。
8、spark数据倾斜怎么处理。
9、说下java里面的OOM
10、用程序实现栈溢出,我说的递归。
11、tcp如何解决丢包问题。
12、你觉得现在互联网未来技术点在哪里?
3月22二面
这一面有点紧张了,有不会的可以撤别的啊。虽然这个不了解,但是看过相关的。
本质上不看简历的,所以应该多说一些其他项目。
上来问实习,数据库同步回答的不好,还不如不写。
1、GC优化,程序中应该如何优化?
2、JVM Server模式与client模式启动的差别?
3、arraylist和linkedlist区别
4、concurrenthashmap中1.7和1.8的区别。
5、hashmap扩容方面做了哪些优化?我只答出了红黑树。
6、Synchronized是重入的吗?和lock区别,以及synchronized对于普通方法和静态方法加锁。
7、String和stringbuffer、stringbuilder;
8、数据库同步方案有哪些?考虑可能出现的事务问题。可以说说同步sql语句啊。这应该是开放性问题。
9、GC算法
10、数据库的隔离性问题,acid,脏读,不可重复读、缓读。
11、数据库select查询优化问题。
12、linux中数据怎么存储,关于数据块怎么优化存储。随机读和顺序读。
13、动态规划算法,你写过吗?我说写过leetcode上的问题
14、看过一些先进的论文吗?我竟然回答没有。。
15、看过开源项目吗?hdfs的源码,但是竟然不问,扯到linux上了。。
16、linux内存管理,以及其中的算法。
17、进程、线程、协程区别。用过协程吗?
18、虚拟内存和物理内存之间如何联系的?什么时候进行交换。
3月27 HR面
1、简历问下,学校问下
2、职业规划
3、地点选择
4、项目点、自豪点
5、聊聊人生
3、字节跳动(大数据实习生)
白金内推免笔试,浪费了(笔试挺难的)
一面视频面
1、介绍下mapreduce
2、敲代码:用mr实现top10
3、敲代码:写单例模式,加锁,比较两种区别
4、敲代码:实现一个blockqueue
5、敲代码:实现36进制加法,中间不准转成10进制。
代码敲得不好,当场感觉凉凉。
4、远景智能(大数据开发)
笔试简单,基本都过
都是电话面
4月2
一面:简历面
1、线程和进程区别,进程为什么开销大?有哪些开销
2、JVM内存管理和垃圾回收。哪些操作会导致OOM?循环引用怎么解决?
3、分布式协议PAXOS/zab/raft都说下原理和区别;
4、zookeeper原理大概讲下。以及你用到的实际案例,比如HA
5、如何实现HA的选举,比如namenode的选举
6、数据库mysql和hbase的区别,以及仔细说下hbase的使用。
7、数据库的隔离级别,如何预防脏读?
8、说下hashmap/hashtable/concurrenthashmap,说底层了;
9、简述下http,状态码
10、tcp和ip区别。说下ip的包头和tcp的包头。
11、等下一面通知吧。。。
二面:4月9
1、自己说下上次面试,回答不好的问题:hashmap、循环引用解决(扩展到链表是否有环)
2、数据库如何给一个范围加锁,有几种方法去解决幻读?
3、volatile作用和底层如何实现
4、synchronized和Reentranlock区别以及底层实现原理
5、CAS理论以及典型运用
6、其他开放性问题。。。
三面HR:4月17
1、能不能来?
2、实习日期
5、拼多多(大数据开发)
有笔试,两到算法,两道sql
一面视频面 4月8日
简历面,从头到尾
1、先问笔试题还记得吗?不记得了,只记得有什么题型,做出多少。
2、天池项目
3、自己搭建的大数据项目,问了一些如何搭建以及搭建了哪些组件细节
4、说下second namenode 作用,扯到namenode 的ha,还有zk
5、zookeeper如何实现HA,以hdfs举例子
6、java特性,如何实现多继承?多态含义
7、topk问题
8、实现一个最大堆
二面4月15 视频50分钟(小姐姐)
1、手写一段代码实现以下功能:输入一组数字,长度为N,按照数字由小到大,输出前K个数字。
2、问实习项目,回答的一般,写在简历上的点必须要回答清楚
3、自己写的大数据项目,扯到一些问题
4、zookeeper如何实现namenode高可用?为了什么要主备切换,直接重启不行吗?数据量太大啊,重启时间太长,扯到第一关系构建,安全模式等(说了有20分钟)
5、JVM虚拟机启动有哪些线程?
6、重载和重写的区别
7、进程和线程的区别
8、String是基本数据类型吗?能被继承吗?final关键字
9、mysql索引说下,b+树
10、mvc了解吗?不懂,只了解大数据框架
11、请问你们项目组做什么的?她说大数据,我们数据量很大,有大数据平台,然后你懂得很多理论和源码,所以很适合你,给你提供锻炼的环境(言外之意,你稳了?)
总结:面试整体难度还可以,重项目,有基础。算法必须有,剑指offer级别的。实习项目不够充分,写了就要会。
HR:4月25
1、随便聊聊
2、核心点:能不能去实习?
HR:4月26
Offer call
下面投的日常实习生,面试记录
6、华泰实习面试
电话面(23分钟)
实习面试,问的不深。
按照简历问,华泰里面简历系统,一定写明方向。
1、 自我介绍
2、 天池比赛项目:数据预处理(SQL、mysql数据库优化、ACID)、特征提取方法、简述下随机森林。(本来从SQL引申到mapreduce、HBase,但是他不问)
3、 Linux平台:查看文件指令(tail/sed)、进程启动方式(命令行直接运行可执行文件)
4、 简历里面没写明,不知道我做什么方向,我想搞大数据,我说了大数据相关的点(hadoop/spark),但是他一点都不问,说明他可能不了解吧。
5、 问我实习情况:能实习多久。
7、头条日常实习(大数据开发)
视频面试
第一面:看着简历问的(该多说多说,不该多说不说)
1、 JVM垃圾回收
2、 分布式协议有哪些,Raft协议
3、 Linux中epoll和select区别
4、 TCP可靠性保证怎么实现
5、 进程间通信的方式。
6、 数据倾斜处理。在spark中处理。
7、 算法:链表反转
8、 算法:正方形矩阵内实现最小路径。
第二面:
算法:具体写啥忘记了,应该是两道链表题,当时算法刷的不多,写的不好。
Java部分
一、Java基础 12 推荐书籍:《Java编程思想》、学习视频(毕向东Java入门视频) 12 1、Comparable和Comparator区别 12 2、Java中方法的参数传递机制(都是传递副本)★ 13 3、Java的深拷贝和浅拷贝的区别 14 。。。 。。。。 13、生产者和消费者模式(与并发编程一起学习) 20 14、java反射 22 15、final关键 ★ 22 二、JVM 23 推荐书籍:《深入理解java虚拟机》 23 1、介绍JVM的内存区域(运行时数据区)。 ★★ 23 2、如何判断对象已经死亡? ★★ 24 3、简述强、软、弱、虚引用。 ★ 24 4、简述垃圾收集算法以及各自特点。 ★★ 25 5、常见的垃圾收集器有哪些。 ★★ 26 6、吞吐量优先和响应优先的垃圾收集器如何选择? 27 7、内存分配与回收策略。(对象何时进行老年代?) ★ 27 。。。。 13、jvm启动模式之client与server(蚂蚁金服) 30 14、如何优化Java GC(蚂蚁金服) ★ 30 。。。 三、Java并发 32 推荐书籍:《Java高并发程序设计》(强烈推荐结合这本书学习) 32 1、线程的状态有哪些? 32 2、并发级别有哪些? 32 3、happen-before原则是什么? ★ 32 4、创建线程的几种方式。 33 5、线程基本操作 33 6、volatile和synchronized有什么区别? ★★ 33 。。。。 9、线程之间的协作 36 10、ConcurrentHashMap实现原理 ★★ 37 11、多线程锁的优化 ★ 37 四、数据库 推荐书籍:《mysql必知必会》、《MySQL技术内幕:InnoDB 存储引擎》 42 1、数据库ACID特性 ★★ 42 2、四大隔离级别,以及不可重复读和幻影读的出现原因 ★★。 42 3、封锁的粒度、锁的类型。 43 4、 B+ Tree 原理,与其它查找树的比较。 ★★ 45 .....计算机基础、数据库等部分
大数据部分
目录 2 ★阅读指南 8 1、本书面向人群 8 2、本书主要内容 8 3、如何使用本书? 8 4、最终达到什么学习效果? 8 5、如何应对面试? 8 ★笔者面试全记录 9 1、腾讯提前批——后台开发——选做笔试(最好做) 9 2、蚂蚁金服提取批——大数据开发相关——无笔试 9 3、字节跳动——大数据实习生——白金内推免笔试(笔试挺难的) 10 4、远景智能——大数据开发——笔试都是牛客原题 11 5、拼多多——大数据开发——有笔试,两到算法,两道sql 11 6、华为——大数据开发——有笔试——现场面 12 7、华泰证券——项目实习生——Java开发 12 8、字节跳动——大数据开发——日常实习 13 面试心得 13 一、MapReduce过程以及细节 ★ 14 推荐书籍:《Hadoop权威指南》 14 1、整个流程的图 14 2、文件切片 15 3、环形缓冲区的底层实现 17 。。。 6、全排序 ★ 19 7、辅助排序(二次排序) 20 8、join(和hive sql底层基本一致) 21 9、分布式缓存 21 二、YARN 22 推荐书籍:《Hadoop技术内幕:Yarn》 22 1、简述mapreduce1工作机制 ★ 22 2、简述YARN(mapreduce2)工作机制 ★ 23 3、简述YARN中application master向resource manager 申请资源的过程。 24 4、比较mapreduce1和YARN(mapreduce2) ★ 25 。。。。 9、YARN中的各部分运行故障如何处理?(作业运行失败可能的原因) 29 10、YARN中常见问题以及解决方案。 30 11、Yarn中Resource Manager的高可用实现(主备切换的底层实现) 31 12、Yarn中Resource Manager的高可用当中“脑裂”问题的解决。 ★ 31 三、Zookeeper 32 推荐书籍:《从paxos到zookeeper分布式一致性协议》 32 1、简述事务的四大特征以及隔离性问题(单机数据库下的ACID) ★。 32 2、简述下分布式系统和CAP、BASE理论。 ★ 32 3、分布式系统下的一致性协议(2PC/3PC/Paxos)。 ★ 33 4、简述Zookeeper中的分布式协议ZAB协议。 ★★ 33 5、Zookeeper的系统模型(核心watcher监听机制)。 ★★ 34 。。。。 9、Zookeeper服务器启动流程分析。 37 10、构建Zookeeper高可用的集群。 37 11、Zookeeper的典型应用场景总结。 ★★ 37 12、raft协议 ★ 39 四、HDFS 40 推荐书籍:《Hadoop 2.X HDFS源码剖析》 40 HDFS通信框架 40 1、简述HDFS的各节点之间的通信问题。 40 2、HDFS中RPC的通信接口及其主要功能(RPC上层接口)。 41 。。。。 5、HDFS中客户端与namenode的RPC通信实例(将RPC上层接口和底层实现结合分析)。 43 namenode 44 2、HDFS的namenode文件系统目录树管理(第一关系管理)。 ★★ 44 3、HDFS的namenode对数据块和数据节点的管理。(第二关系管理)。 ★★ 47 4、HDFS中数据块副本状态的管理。(BlockManager的成员变量) 48 5、namenode中数据块的增加的管理。(写文件,申请数据块构建内存) 49 6、namenode中数据块副本的删除的管理。 49 。。。。 12、namenode对datanode的心跳处理。(DatanodeManager) 52 13、namenode中的租约管理。(重点租约恢复) ★ 53 14、namenode中的集中式缓存管理。(集中缓存在对应副本的datanode上 ) 54 15、namenode中的安全模式。 ★★ 54 16、namenode中的高可用(HA)的实现。 ★★ 55 .....后面还有流计算部分,Hbase数据库数仓等。
推荐书籍
●Java书籍
Java基础:《Java核心技术卷I》、《Java编程思想》
Java提高:《深入理解java虚拟机》、《Java高并发程序设计》、 《大话设计模式》、JDK部分源码
关系型数据库:《 MySQL必知必会》、《MySQL技术内幕:InnoDB 存储引擎》
缓存: 《Redis设计与实现》
计算机基础:《现代操作系统》、《图解TCP/IP》、《鸟哥Linux私房菜:基础篇》
架构:《大型网站技术架构》
●大数据开发书籍
Hadoop:《Hadoop权威指南》、《Hadoop技术内幕:Yarn》、《Hadoop 2.X HDFS源码剖析》
分布式协议:《从paxos到zookeeper分布式一致性协议》
流计算:《Spark大数据处理技术》、《Storm分布式实时计算模式》、《Flink官网/》
非关系型数据库:《HBase权威指南》
消息队列:《Kafka权威指南》、《Kafka官网》
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。