7.如何将多个部门的数据进行融合?
8.往系统中导入数据的时候会遇到什么问题?
9.系统前端采用什么做的?
10.导入时,进度条是通过什么技术实现的?
11.返回前端是怎么返回的?
12.前端机制,websocket有没有了解
13.第三个系统介绍
14.系统产生日志文件,一天产生多少条?
15.怎么用mapreduce处理日志文件的?
16.从业务上说一下怎么对日志文件进行分区的,怎么保存的?
17.用mapreduce处理日志文件的任务,输入是什么,输出是什么?
18. 处理日志时,输入是一个文本,要对他进行拆分,拆分的纬度是什么纬度?
19.用hive怎么对日志文件进行多维度分析的?
关于网络相关的问题
20.四层模型是哪四层,7层模型是哪7层?
21.链路层要解决什么问题?
22.数据链路层的网络地址用什么表示?
23.三次握手和四次挥手?
24.四次挥手,断开连接的时候,经常会出现time_wait的状态,这个状态是怎么产生的?
25.TCP是在IP的上层还是下层? 上层
26.TCP和UDP有什么区别,以及用途
27.UDP典型的应用?
28.HTTP属于哪一层协议 ?
29.HTTP底层是基于哪一层协议的?
30.HTTP和 HTTPS的区别?
31.说说对HTTP的协议有什么了解?
32.HTTPS的安全体现在哪个方面?
33.说说HTTPS协议关于CA证书这方面的了解
34.HTTPS传输时涉及到一些加密算法,有哪些了解,以及算法的应用场景 比如RSA
35.对称加密算法和非对称加密算法的概念
36.HTTP协议的method有几种
37.get和post的区别
38.web编程了解多少?
39.在前端提交请求时,cookie中经常有个jsessionid的cookie值,这个cookie值是用来干嘛的?
40.服务器一般保存了一个session,浏览器为什么知道我多次请求在一个session里面,为什么能找到我之前的session
41.session机制
数据结构相关的知识:
42. 说说树的遍历有深度遍历(DFS)和广度遍历,一般怎么实现
深度遍历就是先序遍历 先序遍历采用递归,
非递归需要用到栈,利用栈的先进后出特性
广度遍历就是层次遍历,应该使用非递归,需要用到队列,先将根入队,队列不空时pop,然后入左子树,再入右子树
43.排序算法都有哪些,以及他的时间复杂度
44.说说平衡二叉树的特点
问一些java语言的问题
45. 说一下==和equals的区别?
46. 为什么要重写equals和hashcode()方法
47.静态变量和静态方法,和实例变量和实例方法有什么区别?
子类不能重写静态方法
48.为什么要用静态方法和静态类
49说下关于map以及他的实现类有哪些?
50.说一下hashmap,hashtable,currenthashmap的区别
51.经常在遍历一个map时,在删除时,经常会遇到并发错误
52.设计模式 了解哪些,比如单例模式,工厂模式,动态代理模式
53.说说对垃圾回收机制的了解
54.垃圾回收机制的算法有哪些,初生代用哪些算法,老生代用哪些算法
55.如何判断出哪些垃圾该清理,哪些不该清理?
数据库方面的知识
56.说说内连接和外连接的区别
57.数据库设计时会碰到一对多,多对多时,应该怎么设计
58. 就以用户表和角色表为例,假如用户表里面放着角色表的id作为 角色表的外键,那一个用户对应多个角色时,
这样设计会有哪些问题
机器学习方面的问题
59.监督学习和非监督学习有什么区别?
60.springboot应该要接收前端ajax请求时,应该使用什么注解
61.springboot中configuration的注解有什么用?
分布式集群有哪些了解
62.nginx有哪些了解?
63.如果一个session在一台服务器上保存,下一次session请求时,nginx反向代理把我的session请求转发到另一台服务器上,这种情况该怎么处理?
64.微服务架构和一些容器的技术有什么了解?
65.docker有什么了解?
京东实习1面 通过
1,自我介绍
2 int 占几个字节? 其他几个数值型的分别占几个?
3.集合,经常用的组数和链表的有哪些? 说说ArrayList 和LinkedList
4. 说说HashMap
5. 说说conCurrentHashmap?
6 线程用过吗? 在哪用的?
7.五条线程是怎么设计的?
8.怎么启动一个线程?
9.了解反射吗? 说说反射?
10.用过Spring吗?
11.为什么在配置文件中配置了,就可以用?
12.用过redis吗 redis都有哪些数据结构?
13.说说Hadoop?
14 说说HDFS的读操作和写操作
15 说说MapReduce
16 Hive的元数据,都有哪些?
17 用过kafka吗?
18 写一个单例模式
19 final 关键字
20 介绍一下volatile 关键字
2 京东实习二面 (主要问项目) 通过
1.自我介绍
2.介绍一下第一个大数据项目,用了哪些技术,画一下架构图
3.flume采集子系统日志,这些日志数据都包含哪些?
4.集群是怎么部署的?
5.分析使用什么进行分析的?
6.系统分析的优点和缺点都有哪些?如何改进一下?
7.实时的了解多少?
祖龙娱乐 7月24日下午5点面试 时长 73分钟 (包括答案) 通过
在电脑前苦等半小时,终于面试官上线了,一看,一下两个人,我去,心理压力好大,赶紧放松放松心情
先简单的来个自我介绍:
1 自我介绍
2 你自己搭过大数据集群吗? 那你说说搭建hadoop集群的3个xml文件
- core-site.xml
- hdfs-site.xml
- mapred-site.xml 心想这简单,赶紧将3个xml说出来,并简单说了下里面都包括啥
3 正常的hadoop集群工作都会启动哪些进程?
当时回答是:namenode,datanode ,secondarynode ,
4.他们的作用分别是什么?
- nameNode 主节点 负责维护整个Hdfs文件系统的目录树,以及每个文件所对应的block块信息(元数据)
- DataNode 从节点 负责存储具体的文件数据,并且每个block可以在多个datanode上存储多个副本
- secondary nameNode 相当于一个备用的naneNode, 当nameNode死机之后,可以将secondary nameNode
- 的数据备份到nameNode上面 ,但不能备份完整数据,它有两大功能,1 镜像备份,2 日志与镜像定期合并
5 你能详细介绍一下secondaryNode 的具体作用吗?
当然可以,这个问题我可是仔细研究过,哈哈
- secondary nameNode会经常向namenode发送请求,是否满足check。
- 当条件满足时,secondary nameNode将进行checkPoint 。
- 这时nameNode 滚动当前正在写的edits,将刚刚滚动掉的和之前edits文件进行合并。
- secondary nameNode下载edis文件,然后将edits文件和自身保存的fsimage文件在内存中进行合并,
- 然后写入磁盘并上传新的fsimage到nameNode,这时nameNode将旧的fsimage用新的替换掉。
6 看来你掌握的还不错啊,HDFS的块默认是保存几份?一个块多大?
默认保存是3份,一个块是128M。
7 之前的64M 是从哪个版本变换的?
hadoop 1.0 默认是64M, hadoop 2.0 由64M 改为128M
8 那假设现在是128M,那我在工作中想把它调为256M,那我需要调整什么,才能改变块的大小?
主要是磁盘的存储决定 块的大小,块组成的文件的大小取决于磁盘的传输速率,调整磁盘,可以改变块的大小。
9 Hdfs的读写过程你了解吗? 简单讲讲?
那我就说说写过程吧,
- 1、客户端跟nameNode 通信,请求上传文件,nameNode检查文件,父目录是否存在,并向客户端返回是否可以上传文件
- 2、客户端请求第一个block块该上传到哪个datanode服务器上,nameNode查询从节点之后,返回对应的danaNode 服务器
- A,B,C等。
- 3、客户端请求nameNode服务器,采取就近原则,选择A服务器上传数据(本质上是个RPC调用,建立PipeLine),A收到
- 请求后,A调B,B调C,将每个pipline建立连接,然后逐级返回给客户端
- 4 客户端开始往A上传第一个block,以Package为单位,A收到一个Package,就会传给B,B传给C,A每传一个package就会
- 放入一个应答队列,等待应答。
- 5、当第一个block传输完成后,客户端再次请求namenode上传第二个block。
10 挺好,那你说一下MapReduce的工作原理?
- 1、客户端启动一个job,然后向jobTracker请求一个jobID
- 2、 然后将运行所需要的资源文件上传到HDFS上,包括Mapreduce程序打包的jar包,配置文件,以及计算的输入划分信息等
- 3、 这些文件全部存储在JobTracker专门创建的jobID文件夹中(jar文件会有10个副本,输入划分信息对应着jobTracker应
- 该启动多少个Map任务)
- 4、JobTracker将这些资源文件放入作业队列中,调度器根据调度算法对作业文件进行调度,根据输入划分信息划分Map任务
- 并将map任务分配给TaskTracker执行。
- 5、taskTracker每隔一段时间发送给jobTracker一个心跳,告诉它自己的运行情况,这个心跳中包含map任务完成的进度等。
- 6.当最后一个任务完成后,jobTracker会将该任务设为成功,返回给客户端。客户端得到结果,得知任务完成便显示
- 消息给用户。
11 你在具体讲一下map中的一些步骤,例如partition,sort,combiner,shuffle等等。
好的,sort 主要是排序,combiner是合并,partition是分片等,
首先Mapper根据文件进行分区