分享

大型互联网公司面试汇总【2019年】

fc013 2019-8-16 22:23:35 发表于 经验分享 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 4 4947


问题导读

1.大型互联网公司面试有哪些常见问题?
2.大数据面试常见问题有哪些?
3.java面试常见问题有哪些?




腾讯一面  试下   4月6日  挂
1 自我介绍

2 介绍一下你在项目中的承担的任务

3 你对哪种语言熟悉

4 线程池使用过吧,说说线程池中有哪些关键字 具体使用方法。

5 说说hashMap 使用的是哪种数据结构,

6 说说hashMap 和 ConcurrentHashMap 的区别

7 为啥hashMap是线程不安全的?

8 锁机制怎么使用的?

9 如何查看linux 内存占用情况

10 如何在4亿个数字中去重

11 快速排序的原理及实现

12 递归算法如何查询

字节提前批一面  

1 自我介绍

2 介绍一下项目

3 MapReduce中容易发生数据倾斜,是怎么产生的,如何处理?

4 Hive数据倾斜怎么产生的? 怎么处理?

5 Spark 数据倾斜怎么产生,如何处理?

6 大表和小表如何进行查询?

7 说说HashMap?

8 hashMap使用什么样的数据结构?如何扩容?

9 hashMap线程安全吗?和它对应的hashTable呢? CurrentHashMap呢?

10 HashTable 和CurrentHashMap 的区别?

12 用过哪些设计模式? 讲讲动态代理模式 和单例模式

13 写一下单例模式,在多线程情况下呢?

14 设计一个栈,包含出栈,入栈,是否为空等

15 求两个大数相加,每个数100位长度。

字节提前批二面

1 自我介绍

2 介绍一下Spring及Springboot.

3 Spring IOC如何解决循环依赖的问题?

4 有没有产生过依赖A依赖B,B依赖C?

5 介绍一下Spring AOP

6 Spring AOP用的哪些设计模式?

7 JDK代理和CGlib代理有啥区别?

8 假如没有接口,又含有final,如何使用动态代理。

9 没有mybatis,如何写dao层?

10 说一下没有mybatis时,通过JDBC具体如何实现这个过程的?

11 了解java线程池吗?

12 线程池在提交任务和执行任务时是怎么做的?

13 创建线程池,当里面的线程数量达到最大时,会出现什么问题?

14 说一下ThreadLock?

15 说一下mysql的事务的隔离级别

16 讲一下mysql的存储引擎

17 mysql的索引有哪些?

18 写两个代码?

(1)实现一个链表反转,设置一个步长,每隔几次,链表进行反转

(2)设计一个hashMap,实现一个put方法。

阿里一面 实习 4月24日  面试时长2小时  挂

阿里的第一次面试:

1.自我介绍

2.研究的课题以及培养方向

3.介绍一下你参与的项目

4.项目中有哪一部分是有技术难点的,以及技术架构是怎么样的?

5.50个人的并发量也很低,为什么会出现系统页面数据显示过慢?

6. 那你们是怎么解决那个页面显示速度过慢?

第二个系统介绍

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根据文件进行分区,sort将Mapper产生的结果按照key进行排序,combiner将key相同的记录进行

合并,partition是吧数据均衡的分配个Reducer. shuffle是Mapper将结果传给Reduce,在这期间容易发生数据倾斜等。

12 那这个数据倾斜一般是在Mapper端发生的还是Reduce中发生的?

Mapper将数据处理完传给Reduce,当Reduce进行处理时,因为一部分key的数据量过大,导致其他分区已经执行完成

而数据量过大的key执行时间过长,所以数据倾斜是发生在Reduce端的。

13,对,那发生数据倾斜是因为这个key分布不均匀,那你会怎么优化呢?

因为研究生期间研究的课题就是关于Spark的并行大数据清洗,所以对MapReduce和Spark发生数据倾斜的过程和解决方法

比较熟悉,

可以在Mapper期间将大数据量相同的key进行分散,通过添加N以内的随机数前缀,对数据较多的Key进行子扩展,

先进行局部操作,再去除随机数之后进行聚合操作,避免在进行Shuffle操作时出现数据倾斜问题。

14 那Mapper端进行combiner之后,除了速度会提升,那从Mapper端到Reduece端的数据量会怎么变?

数据量会减少,因为combiner之后,会将相同的key进行一次聚合,数据量会在这时候减少一部分

15 map 输出的数据如何超出他的那个小文件内存之后,那他是落地到磁盘还是落地到HDFS中?

落地到磁盘中,因为map,reduce操作,就是一次次的I/O请求

16  Map到Reduce默认的分区机制是什么?

这个是根据那个hash进行计算   对map中的key做hash,对reduce个数取模

17 hadoop的调优主要针对配置文件的调优你知道哪几种?

思考了一下,

(1)因为Mapreduce运算时是在磁盘中进行的,所以 通过修改磁盘I/O,也就是设置和的预读缓冲区大小

来提高hadoop里面大文件顺序读的性能。以此来提高I/O性能。

(2)通过修改三个配置文件的参数如 core-site.xml,mapred-site.xml,hdfs-site.xml等

例如 修改core 文件里面的buffer.size,来修改读写缓冲区的大小,还有hdfs文件里面的block.size修改块的大小等

都可以进行调优

18 好的,给你出个题,现在有1G的数据文件,里面有四个字段,分别是id,name,age,class,然后要按照class来分组,

id来排序,口述一下mapreduce的过程是怎么实现的?这里面会有几个map?

思考了一下,

(1)首先1G文件,那默认一个块是128M,所以可以分为8个块,对应的就是8个Mapper

(2)然后定义一个对象,将四个属性封装到对象中,实现序列化和反序列化

(3)定义一个类继承partitioner类,调用对象中的class属性设置分组,

(4)在map端对文件进行读取,然后通过Split来进行分割,调用对象的id作为key,然后进行局部sort排序,在combiner局部聚合

后通过reduce来进行整体聚合。

说完之后感觉对着吧,果然,听见面试官说嗯嗯,好。觉得差不多对啦

19 嗯嗯,好,说说yarn吧,它有什么优势,能解决什么问题?

yarn集群主要分为主节点ResourceManage,从节点 NodeManage  ResourceManage负责资源的分配,将集群的资源分配给

各个应用使用,资源分配的基本单元是Container,NodeManage则是一个计算节点的管理者,负责启动应用的

所需的Conbiner,并对内部资源进行监控等。  

yarn一般和mapreduce进行结合,主要是对mapreduce中的资源计算进行维护等。

答完之后,心想别问yarn吧,这块看得不是很深,哈哈,果然,面试官问了一个问题后就跳过了

20 说说Spark吧,Spark为啥比Mapreduce运行块,原因都有哪些?

(1)spark是基于内存计算,mapreduce是基于磁盘运算,所以速度快

(2)spark拥有高效的调度算法,是基于DAG,形成一系列的有向无环图

(3)spark 是通过RDD算子来运算的,它拥有两种操作,一种转换操作,一种动作操作,可以将先运算的结果存储在

内存中,随后在计算出来

(4) spark 还拥有容错机制Linage

21 什么是RDD?

RDD就是弹性分布式数据集,可以理解为一种数据结构,拥有多种不同的RDD算子

22 你都知道哪些RDD算子?

比如转换操作,有map().fliter() flatMap(),distinct()等  动作操作  有 collect ,reduce 等

23. 你知道reduceBykey 和groupBykey有啥区别吗?

reduceByKey会在结果发送至reducer之前会对每个mapper在本地进行merge,

有点类似于在MapReduce中的combiner。这样做的好处在于,在map端进行一次reduce之后,数据量会大幅度减小,

从而减小传输,保证reduce端能够更快的进行结果计算。

groupByKey会对每一个RDD中的value值进行聚合形成一个序列(Iterator),此操作发生在reduce端,

所以势必会将所有的数据通过网络进行传输,造成不必要的浪费。同时如果数据量十分大,

可能还会造成OutOfMemoryError。

24.现在有一个业务,当SparkStreaming在消费kafka里面的数据,然后消费了一段时间之后,程序挂了,当

下一次程序启动时如何保证SparkStraming能继续消费kafka之前的位置?

听到这个问题时,我就偷笑啦,幸亏上次海康威视问过我,我就好好看了一下

可以依靠checkPoint机制来保证,每次SparkStreaming消费kafka数据后,将消费的kafka offsets更新到checkpoint,当

程序挂机或升级时,就可以用过读取checkpoint 的记录来接着上次的位置进行读取,实现数据的零丢失。

25,除了这种方式还有什么方式?

还可以在sparkStreaming中另外启动一个预写日志,这将同步保存所有收到的kafka数据导hdfs中,以便发生故障时,

恢复到上次的位置和之前的数据。

26,你说说Spark的广播变量?

听到这个问题后,一脸懵逼,不会拉。。 我都猜想 面试官肯定在想,小样,我还难不倒你拉。。。。

然后我就让面试官给我讲了一下。。

Spark中因为算子中的真正逻辑是发送到Executor中去运行的,所以当Executor中需要引用外部变量时,

需要使用广播变量。广播变量只能在Driver端定义,不能在Executor端定义,在Driver端可以修改广播

变量的值,在Executor端无法修改广播变量的值

27 那你知道累加器吗?

之前看过一点,累机器相当于统筹大变量,常用于计数,统计。累加器常常被作为rdd的map filter操作的副产品等。

28.你说说spark中 job,stage,task,分别代表什么?

Job简单讲就是提交给spark的任务。 Stage是每一个job处理过程要分为的几个阶段。

Task是每一个job处理过程要分几为几次任务。Task是任务运行的最小单位。最终是要以task为单位运行在executor中。

29.嗯嗯 好,说说Spark的工作机制?

我去,咋问的都是大问题啊,幸亏之前复习过。。

用户在客户端提交job作业后,会由driver运行main方法并创建SparkContext上下文。执行RDD算子,形成DAG图,

然后将DAG图交给DAGScheduler来处理。DAGScheduler按照RDD之间的依赖关系划分stage,输入task Scheduler,

task Scheduler会将stage划分为task set分发到各个节点的executer中执行,executor以多线程的方式执行,每个线程

负责一个任务,任务结束后,根据不同类型的任务返回不同的结果。

30  你了解zookeeper吗?

zookeeper 是一个分布式协调服务,zookeeper集群包括 leader 和 follow

31 说说zookeeper的选举过程,比如现在有五台机器,ABCDE依次启动起来,那么哪台是leader?

记得不太清楚了。。就大概说了一下

1.首先更新logicalclock并提议自己为leader并广播出去

2.进入本轮投票的循环

3.从recvqueue队列中获取一个投票信息,如果为空则检查是否要重发自己的投票或者重连,否则

判断投票信息中的选举状态: 就回答到这,后来下来百度了一下。。。

32 hive了解吗?

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能

33.说说内部表和外部表的区别?

内部表的数据是由Hive自身管理的,外部表的数据是由HDFS管理的;

删除内部表会删除元数据和存储的数据;删除外部表只删除元数据不删除存储的数据

34,你知道UDF吗?

UDF就是Hive提供的内置函数无法满足业务处理需要时,可以考虑使用用户自定义函数。

35 一张大表,一张小表,你写join in时,哪个表放左边,哪个表放右边?

小表放前,大表放后,左查询,根据小表为主进行查询。

36  问一下kafka的问题吧,kafka是怎么进行数据备份的?

哇,面试官 你是要把大数据里面的每个组件分别问一下,。。。。深呼一口气,思考了一下 然后巴拉巴拉

备份机制是Kafka0.8版本之后出的,一个备份数量为n的集群允许n-1个节点失败。在所有备份节点中,

有一个节点作为lead节点,这个节点保存了其它备份节点列表,并维持各个备份间的状体同步。

37.消费者是从leader中拿数据,还是从follow中拿数据?

。。。不太会,备份机制这块没咋深入了解过。

kafka是由follower周期性或者尝试去pull(拉)过来(其实这个过程与consumer消费过程非常相似),

写是都往leader上写,但是读并不是任意flower上读都行,读也只在leader上读,flower只是数据的一个备份,

保证leader被挂掉后顶上来,并不往外提供服务。

38.那换个问题吧。说说kafka的ISR机制?

kafka 为了保证数据的一致性使用了isr 机制,

(1) leader会维护一个与其基本保持同步的Replica列表,该列表称为ISR(in-sync Replica),每个Partition都会有一个ISR,

而且是由leader动态维护

(2)如果一个flower比一个leader落后太多,或者超过一定时间未发起数据复制请求,则leader将其重ISR中移除

(3)当ISR中所有Replica都向Leader发送ACK时,leader才commit

39.kafka如何保证数据的不重复和不丢失?

答案上面已经回到了,面试官又问一遍。。可能是看我kafka这块了解不是很深入。想再虐虐我。。。

40.kafka里面存的数据格式都是什么样的?

topic主题,然后主题进行分区  topic 分为partition , partition里面包含Message。

41.kafka中存的一个是数据文件,一个是索引文件,说说这个?

。。。。。不太会。。。哇,kafka被虐惨啦

42.kafka 是如何清理过期数据的?

kafka的日志实际上是以日志的方式默认保存在/kafka-logs文件夹中的,默认7天清理机制,

日志的真正清理时间。当删除的条件满足以后,日志将被“删除”,但是这里的删除其实只是将

该日志进行了“delete”标注,文件只是无法被索引到了而已。但是文件本身,仍然是存在的,只有当过了log.segment.delete.delay.ms 这个时间以后,文件才会被真正的从文件系统中删除。

43.一条message中包含哪些信息?

包含 header,body。

一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成。

header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成。

当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性,比如是否压缩、

压缩格式等等);

如果magic的值为0,那么不存在attributes属性body是由N个字节构成的一个消息体,包含了具体的key/value消息

44.嗯,行,你知道mysql的最左原则吗?

终于把kafka过去啦。。心累

最左原则:顾名思义,就是最左优先,比如现在有一张表,里面建了三个字段ABC,对A进行主键,BC建立索引,就相当于

创建了多个索引,A索引,(A,B)组合索引,(A,B,C)组合索引,那查询时,会根据查询最频繁的 放到最左边。

嗯 好,我的问题问完了,让我同事问问你。

已经问了40分钟纯问题啦,,再换个面试官,好的,可以

45,刚才我的同事问的都是大数据相关的,那我们问点java相关的。

终于问java啦,下面的java问题每个都回答出来了,就不写答案啦

46.说说抽象类和接口?

47,集合了解吧,说说集合有几大类,分别介绍一下?

48,hashMap顶层实现了解过吗?具体讲讲

49,说说hashMap在1.8之后优化的环节

50. HashMap 和 hashTable的区别?

51.另一个线程安全的是啥?

52.说说ConcurrentHashMap的底层实现

53.java实现多线程的方式有几种?

54.讲讲 synchronized,Lock,ReetrantLock之间的区别

55.java的线程大概有几种状态?

56.sleep 和 wait方法的区别?

57.说说volatile关键字

58.说说JVM内存区域分为几大块,分别讲一下

59.说说sql的事务隔离级别

60.说说mysql的存储引擎

61 给你出个sql 题

student(sid,sname,sex,class)

course(cid,cname,teacher)

grade(cid,sid,score)

(1)sex 改为age,非空,默认值为0

(2)统计035号课程分数大于036号课程分数的学生ID

(3)统计所有003班学生各门功课的课程名称和平均分

以上是所有的面试题,在写sql的时候,卡了好久,因为好久没写过三表联查,子查询的sql,差不多忘了,

后来下线时,一度以为自己挂了,但是过了一个多小时之后,看了一下状态,面试一轮通过,可能是面试官

看我前面的问题答得还可以让我过吧。只是这问题量着实有点多。希望尽快约下轮面试。

多益网络  面经  时长58分钟  挂

1 自我介绍

2 重大项目管理平台介绍

3 你主要负责的是哪一块内容?

4 项目最难的地方在哪?

5  开发周期多长?

6  说一下排行榜公布的那个具体实现过程

7 团队合作中遇到什么问题?

8  对互联网加班有什么看法?

9  算法  

将一个组数循环右移,根据K来

10  斐波那契数列,不使用递归的方式实现

11 那你说一下java对象的生命周期

12  说一下java的垃圾回收机制,和算法等

13  什么是递归?

14 使用递归 有什么优点和缺点?

15  说一下图的表示方法

16  图有什么分类,图论的分配法?

17 都有哪些排序算法?

18 哪些是不稳定的排序算法?

19 说说快速排序的原理?

20 最近看过什么书?

21 说一下三次握手

22 为什么要看 图解HTTP

23  问一些心态上面的问题?  如果你对你的上司不满意,你应该怎么做?

24  为什么面向对象中,多用组合,少用继承?

25 为什么选择广州?

26 你在做IQ题的时候,有没有没做完?

怎么感觉问完之后,问的好不专业。。。。什么都问了,技术面把hr面的问题都问啦

海康威视   一面  7月17日  通过

1 自我介绍

2  你认为最好的项目介绍

3 导入导出介绍,排行榜介绍

4  遇到难的问的,怎么解决的?

1 从eclipse转到idea  2 打包问题,3  数据库查询(索引)  4  

5  sparkStreaming 消费kafka中的数据存在消费不到,消费丢失的问题。

6  Spark 介绍一下 分为哪些组件?

7  Spark Sql  和Hive 的区别?

8 SQL 的存储引擎

9 sql 的事务隔离级别

10 JVM 区域划分

11 垃圾回收机制 ,算法

12 hashMap 底层实现等

顺丰科技SP专场 一面

1.自我介绍

2.实习期间主要用的技术栈有哪些。(答java、spring、springMVC、mysql、gitLab、layui、easyui)

3.Spring主要的特点(提AOP和IOC),有啥好处?

4.说一下IOC

5.AOP的实现机制

6.动态代理 jdk方式与cglib方式

7.Spring中的事务具体怎么做的? 事务的传播性。

8.Mysql的事务隔离级别

9.读未提交与读已提交的区别

10.mysql事务如何保证持久性(提到undolog和redolog)

11.写这些日志文件有什么好处,为什么要先写日志文件而不是先做操作(面试官见我思考抢先答事务会追加到文件后边再做操作效率高巴拉巴拉)

12.mybatis怎么解决sql注入问题(提到#{}和${})

13.mybatis的一二级缓存(二级缓存有些忘了)

14.springMVC处理流程

15.springMVC的好处在哪里(答代码解耦,面试官答:便于多人协作开发)

16.聊java基础,集合类有哪些类?

17.说一下hashMap底层实现原理(数组加链表)

18.hashmap的扩容机制

19.说一下什么叫哈希冲突

20.多线程线程池Executor框架了解么,为什么要引入线程池

21.线程池保持线程存活时间的具体参数关键词(答keepaliveTime)

22.任务队列满了以后再来一个任务如何处理(执行拒绝策略)

23.JUC包里的东西,有哪些常用锁(答Synchronized,reentrantlock,CAS等等,面试官答原子类等等)

24.原子类底层了解么,比如AtomicInteger

25.转操作系统,问操作系统有几大模块,

26.RPC进程通信方式有哪些方式(答pipeLine,信号量)

27.聊网络,网络分层结构,大概每层的主要工作是什么

28.网络层的主要功能(答路由),运输层TCP的主要核心(答可靠传输)

29.数据链路层最核心参数

30.聊常用算法,说一下hashmap的红黑树

31.红黑树上的红节点主要是干什么的

32 红结点和黑结点区别,为啥是红的,黑的

33 红黑树为啥部分平衡。

34 红黑树怎么旋转?

室友字节跳动四面
之前投过游戏场的,好像笔试没过(????)后来显示已结束就联系群里HR小姐姐帮我捞出来,

没想到被测开岗捞走了,我是做java后端的,HR告诉我测开也是偏后端的,所以我就试试,经过了几天的

面试,在这过程中整个人非常焦虑。。。废话不多说,先上面经。

一面 53分钟(项目+基础+算法)

一面约的是晚上19.30,整个人很紧张很紧张,结果面的是一个年轻的面试官,人很好。

1.简短的自我介绍。

2.介绍我的项目,balabala讲了大概20分钟,中间穿插着细节提问,有业务方面的,有技术方面的。

3.说一下悲观锁与乐观锁。

4.说一下http和https的区别。

5.TCP和UDP的应用场景。

6.http请求头包含哪些字段。

7.斐波那锲数列了解么?(了解)。

8.动态规划相比递归来说有什么优点。

9.算法题,判断镜像二叉树。(用递归写得)

10.分析一下算法的时间复杂度,空间复杂度。

11.redis了解么,如何进行redis页面缓存。

12.项目中日志是如何实现的。

13.项目中前端向后端传数据是怎么传的。

14.hadoop的数据包是基于什么协议的。

15.项目中登录功能如何实现的,使用了哪些技术。

16.cookie和session的区别。

17.反问。

二面 50分钟左右(项目+网络+数据库+算法)

一面面试完以后看起来面试官很满意??(哈哈,小哥哥人真的不错),直接给我安排了二面,让我等等,

两分钟后二面面试官上线,

是一个年龄30出头的面试官,看起来有点严肃,立马紧张起来(0.0)

1.简短的自我介绍。

2.简单的问了下实习期间做的一个大数据平台项目。

3.网络五层。

4.应用层常见协议。

5.http协议返回状态码(1xx-5xx)(之前复习了2-5的,面试官说1呢?我说没有1吧哈哈哈,后来想起了,尴尬)

6.Https有哪些改进。

7.数据库优化方面(比如数据库慢查询),我回答了一大堆,起始面试官想问建立索引表的方式

8.索引的左对齐原则/最左原则(这个是真没复习到),卡了很长时间,感觉面试官有点不耐烦了...

9.算法,大概就是传递东西,只能向左右手边传递,小朋友0向右传递,传递n次后最后回到小朋友手里,问传递路径,

一个动态规划问题,感觉好难,做了大概一半,

面试官问我思路,我也没怎么回答上来,后来面试官直接开始给我讲解开来哈哈哈(后来下来查,蒙对了一部分。。。)

10.反问。

三面  57分钟(算法+JVM底层) 面试官气场很强,我变得很紧张很紧张。。。

一二面面试连续,二面到9.20结束,面试官说等下我给你叫三面,可能是太晚了都下班了,我在那傻等了一个小时

没有任何反应,啊哈哈,第二天给HR打电话帮我约的第三天的

下午两点三面。

1.手撕单例算法

2.单例模式中对象什么时候初始化

3.JVM构造

4.基本数据类型(比如int i)在内存中是怎么存的

5.类对象什么时候加载的

6.static方法和非static方法的区别

7.static的原理(没答出来)

8.手撕:一个整数型数组,判断是否存在一个数,这个数前边的数比小,后边的比它大,返回这个数的下标

(使用标记数组做)

9.ArrayList的属性length存在与内存的什么地方(哭死,这都什么问题嘛....)

10.对这个算法如何优化,使它的空间复杂度变为O(1)(使用自定义变量对这个数组一次遍历存储,

大概说了下思路)

11.设计题:写日志类满足多线程向文件中写日志,设计一下需要实现哪些方法,说一下大概思路。

(多线程刚开始说放在线程队列里,面试官说那不是线程阻塞了么,后来想到

使用时间片,设定一个变量例如赋值5ms,时间片使用结束后挂起,让下一个线程写,轮循写。

面试官说OK,我也不知道他满不满意ing....)

12.问实习公司以及实习情况。

13.希望工作的base选择

14.从哪了解的测开岗位。

15.反问,技术栈,有几次面试。

三面结束我以为会另约时间,给HR打电话说在房间等着,还有一次面,我....

四面 35分钟(项目+java基础) 感觉面试官问问题间隔时间有点长,感觉在拖时间?(小声BB)

1.自我介绍。

2.又把一面的项目讲了一遍,balabala

3.将项目细节问了一些,比如排行榜的评分算法。

4.对于项目的多用户高并发高访问量的解决办法。

5.横向扩展系统(面试官问的Nginx负载均衡,说了半天才说到点上。。)

6.使用过哪些java框架。

7.实习项目:大数据平台又介绍了一下。

8.集群维护遇见了哪些问题,怎么解决的。

9.如何使用HQL对Hive中数据进行处理。

10.从输入url到页面渲染中间过程,如果网络距离太长,怎么解决(我说使用路由器转发,面试官说算了,不了解也无所谓???一脸懵逼....)。

11.java的GC算法。

12.聊了一下硕士期间的课题,我是推荐系统方面的,面试官跟我聊了一下电影推荐系统的系统设计,包括架构,

推荐算法等等。

13.java零拷贝(一脸懵逼,不会),面试官看我卡了一会,说没关系,这个不会无所谓...(第二次无所谓....)

14.linux操作:怎么看应用的cpu使用率(回答top命令)面试官:OK


最新经典文章,欢迎关注公众号



---------------------

作者:在IT中穿梭旅行
来源:csdn
原文:目前各大公司面试汇总



已有(4)人评论

跳转到指定楼层
恋枫缩影 发表于 2019-8-19 00:03:22
这个好,通过面试的题发现自己的好多不足,任重道远啊
回复

使用道具 举报

jingmhua 发表于 2019-12-31 15:18:56
这个。。。 实习生的问题就这么难了?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条