首页 > 技术文章 > 助力秋招-独孤九剑破剑式 | 10家企业面试真题

importbigdata 2019-09-13 16:18 原文

【声明】本文由《大数据技术与架构》读者提供,未经授权不得转载。

5万人关注的大数据成神之路,不来了解一下吗?
5万人关注的大数据成神之路,真的不来了解一下吗?
5万人关注的大数据成神之路,确定真的不来了解一下吗?

file

腾讯

关键词【Java基础】【数据结构】【操作系统】

      【算法】【数据库】【缓存】

自我介绍

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

你对哪种语言熟悉

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

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

说说hashMap 和 ConcurrentHashMap 的区别

为啥hashMap是线程不安全的?

锁机制怎么使用的?

如何查看linux 内存占用情况

如何在4亿个数字中去重

快速排序的原理及实现

递归算法如何查询

简单介绍一下项目中引用Springboot是解决了什么问题,有什么优点?

mybatis和hibernate框架有什么区别?

使用muybatis有没有用到om对象?

java语言中 重写和重载有什么区别?

我看你用到kafka,kafka主要解决什么问题呢?

kafka如何实现消息是有序的?

kafka如何实现多线程的消费?

hashmap和hashtable 有什么区别?

简单介绍一下java的生命周期有哪些阶段吗?

对数据库了解吗? 一个场景,现在数据库执行过长,如何对它进行优化?

简单谈一下数据库中的悲观锁和乐观锁怎么理解的?

说一下数据库有哪些索引类型,有什么优缺点?(主键索引)

谈谈数据库的事务(ACID特性)

操作系统的划分有哪些?

什么是死锁?死锁产生有哪些条件?(互斥条件,请求与保持条件,循环等待条件,不可剥夺条件)

进程间通信有哪些方式?(管道,信号量,信号,消息队列,共享内存,套接字等方式)

tcp协议有哪些计时器?它分别是做什么的?

操作系统之间有用户态和内核态,他们之间有什么区别?

为什么需要内核态?什么时候进入内核态?

有用过内存缓存吗?如redis

redis是通过什么方式进行持久化的?(RDB和AOP)

tcp协议的三次握手

https的协议了解吗

介绍一下有哪些常见的算法,并且哪些是稳定的,哪些不稳定,以及时间复杂度

对云计算有了解吗?

比如云计算有哪些服务和应用场景

AWS 了解吗?

拆分子数组 leetcode 410

给定一个由非负整数和整数m组成的数组,可以将数组拆分为m个非空连续子数组

编写算法以最小化这些m个子阵列中的最大总和

字节跳动

关键词【Java基础】【锁相关】【设计模式】【算法】

自我介绍

介绍一下项目

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

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

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

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

说说HashMap?

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

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

CurrentHashMap呢?

HashTable 和CurrentHashMap 的区别?

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

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

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

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

介绍一下Spring及Springboot

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

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

介绍一下Spring AOP

Spring AOP用的哪些设计模式?

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

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

没有mybatis,如何写dao层?

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

了解java线程池吗?

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

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

说一下ThreadLock?

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

讲一下mysql的存储引擎

mysql的索引有哪些?

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

设计一个hashMap,实现一个put方法

阿里巴巴

关键词【变态】,对着图谱问了一个遍?涉及到云计算的我都没画到图里。

自我介绍

研究的课题以及培养方向

介绍一下你参与的项目

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

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

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

如何将多个部门的数据进行融合?

往系统中导入数据的时候会遇到什么问题?

系统前端采用什么做的?

导入时,进度条是通过什么技术实现的?

返回前端是怎么返回的?

前端机制,websocket有没有了解

系统产生日志文件,一天产生多少条?

怎么用mapreduce处理日志文件的?

从业务上说一下怎么对日志文件进行分区的,怎么保存的?

用mapreduce处理日志文件的任务,输入是什么,输出是什么?

处理日志时,输入是一个文本,要对他进行拆分,拆分的纬度是什么纬度?

用hive怎么对日志文件进行多维度分析的?

关于网络相关的问题

四层模型是哪四层,7层模型是哪7层?

链路层要解决什么问题?

数据链路层的网络地址用什么表示?

三次握手和四次挥手?

四次挥手,断开连接的时候,经常会出现time_wait的状态,这个状态是怎么产生的?

TCP是在IP的上层还是下层? 上层

TCP和UDP有什么区别,以及用途

UDP典型的应用?

HTTP属于哪一层协议 ?

HTTP底层是基于哪一层协议的?

HTTP和 HTTPS的区别?

说说对HTTP的协议有什么了解?

HTTPS的安全体现在哪个方面?

说说HTTPS协议关于CA证书这方面的了解

HTTPS传输时涉及到一些加密算法,有哪些了解,以及算法的应用场景 比如RSA

对称加密算法和非对称加密算法的概念

HTTP协议的method有几种

get和post的区别

web编程了解多少?

在前端提交请求时,cookie中经常有个jsessionid的cookie值,这个cookie值是用来干嘛的?

服务器一般保存了一个session,浏览器为什么知道我多次请求在一个session里面,为什么能找到我之前的session

session机制

数据结构

说说树的遍历有深度遍历(DFS)和广度遍历,一般怎么实现

深度遍历就是先序遍历 先序遍历采用递归,

非递归需要用到栈,利用栈的先进后出特性

广度遍历就是层次遍历,应该使用非递归,需要用到队列,先将根入队,队列不空时pop,然后入左子树,再入右子树

排序算法都有哪些,以及他的时间复杂度

说说平衡二叉树的特点

Java语言

说一下==和equals的区别?

为什么要重写equals和hashcode()方法

静态变量和静态方法,和实例变量和实例方法有什么区别?

子类不能重写静态方法

为什么要用静态方法和静态类

说下关于map以及他的实现类有哪些?

说一下hashmap,hashtable,currenthashmap的区别

经常在遍历一个map时,在删除时,经常会遇到并发错误

设计模式 了解哪些,比如单例模式,工厂模式,动态代理模式

说说对垃圾回收机制的了解

垃圾回收机制的算法有哪些,初生代用哪些算法,老生代用哪些算法

如何判断出哪些垃圾该清理,哪些不该清理?

数据库方面的知识

说说内连接和外连接的区别

数据库设计时会碰到一对多,多对多时,应该怎么设计

就以用户表和角色表为例,假如用户表里面放着角色表的id作为角色表的外键,那一个用户对应多个角色,这样设计会有哪些问题

机器学习方面的问题

监督学习和非监督学习有什么区别?

springboot应该要接收前端ajax请求时,应该使用什么注解

springboot中configuration的注解有什么用?

分布式集群有哪些了解

nginx有哪些了解?

如果一个session在一台服务器上保存,下一次session请求时,nginx反向代理把我的session请求转发到另一台服务器上,这种情况该怎么处理?

微服务架构和一些容器的技术有什么了解?

docker有什么了解?

京东

关键词:【Java基础】【消息队列】【缓存】【大数据组件】

自我介绍

int 占几个字节?其他几个数值型的分别占几个?

集合,经常用的组数和链表的有哪些?说说ArrayList 和LinkedList

说说HashMap

说说conCurrentHashmap?

线程用过吗?在哪用的?

五条线程是怎么设计的?

怎么启动一个线程?

了解反射吗?说说反射?

用过Spring吗?

为什么在配置文件中配置了,就可以用?

用过redis吗 redis都有哪些数据结构?

说说Hadoop?

说说HDFS的读操作和写操作

说说MapReduce

Hive的元数据,都有哪些?

用过kafka吗?

写一个单例模式

final 关键字

介绍一下volatile 关键字

介绍一下第一个大数据项目,用了哪些技术,画一下架构图

flume采集子系统日志,这些日志数据都包含哪些?

集群是怎么部署的?

分析使用什么进行分析的?

系统分析的优点和缺点都有哪些?如何改进一下?

实时计算了解多少?

祖龙娱乐

关键词【变态】【对着图谱问了一个遍】【涉及原理和源码】

自我介绍

你自己搭过大数据集群吗?那你说说搭建hadoop集群的3个xml文件

正常的hadoop集群工作都会启动哪些进程?

他们的作用分别是什么?

你能详细介绍一下secondaryNode 的具体作用吗?

看来你掌握的还不错啊,HDFS的块默认是保存几份?一个块多大?

之前的64M 是从哪个版本变换的?

那假设现在是128M,那我在工作中想把它调为256M,那我需要调整什么,才能改变块的大小?

Hdfs的读写过程你了解吗?简单讲讲?

MapReduce的工作原理?

map中的一些步骤,例如partition,sort,combiner,shuffle等等。

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

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

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

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

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

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

1G的数据文件,里面有四个字段,分别是id,name,age,class,然后要按照class来分组,id来排序,口述一下mapreduce的过程是怎么实现的?这里面会有几个map?

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

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

什么是RDD?

你都知道哪些RDD算子?

reduceBykey 和groupBykey有啥区别吗?

现在有一个业务,当SparkStreaming在消费kafka里面的数据,然后消费了一段时间之后,程序挂了,当下一次程序启动时如何保证SparkStraming能继续消费kafka之前的位置?

还有什么方式可以保障按照位点消费?

说说Spark的广播变量?

Spark累加器吗?

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

说说Spark的工作机制?

你了解zookeeper吗?

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

hive了解吗?

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

你知道UDF吗?

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

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

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

说说kafka的ISR机制?

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

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

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

一条message中包含哪些信息?

mysql的最左原则吗?

说说抽象类和接口

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

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

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

HashMap 和 hashTable的区别?

另一个线程安全的是啥?

说说ConcurrentHashMap的底层实现

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

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

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

sleep 和 wait方法的区别?

说说volatile关键字

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

说说sql的事务隔离级别

说说mysql的存储引擎

给你出个sql 题

student(sid,sname,sex,class)
course(cid,cname,teacher)
grade(cid,sid,score)
1.sex 改为age,非空,默认值为0
2.统计035号课程分数大于036号课程分数的学生ID
3.统计所有003班学生各门功课的课程名称和平均分

多益网络

关键词【基础】【算法】【JVM】

自我介绍

重大项目管理平台介绍

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

项目最难的地方在哪?

开发周期多长?

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

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

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

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

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

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

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

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

说一下图的表示方法

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

都有哪些排序算法?

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

说说快速排序的原理?

最近看过什么书?

说一下三次握手

为什么要看 图解HTTP

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

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

海康威视

关键词【Spark】【Java基础】

自我介绍

你认为最好的项目介绍

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

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

数据库查询(索引)

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

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

Spark Sql 和Hive 的区别?

SQL 的存储引擎

sql 的事务隔离级别

JVM 区域划分

垃圾回收机制 ,算法

hashMap 底层实现等

顺丰科技SP专场

关键词【Java基础】【Spring】【Mysql】【红黑树】

自我介绍

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

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

说一下IOC

AOP的实现机制

动态代理 jdk方式与cglib方式

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

Mysql的事务隔离级别

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

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

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

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

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

springMVC处理流程

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

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

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

hashmap的扩容机制

说一下什么叫哈希冲突

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

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

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

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

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

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

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

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

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

数据链路层最核心参数

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

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

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

红黑树为啥部分平衡。

红黑树怎么旋转?

字节跳动2

关键词【算法狂魔】

一面:

简短的自我介绍。

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

说一下悲观锁与乐观锁。

说一下http和https的区别。

TCP和UDP的应用场景。

http请求头包含哪些字段。

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

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

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

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

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

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

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

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

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

cookie和session的区别。

二面:

简短的自我介绍。

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

网络五层。

应用层常见协议。

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

Https有哪些改进。

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

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

算法,大概就是传递东西,只能向左右手边传递,小朋友0向右传递,传递n次后最后回到小朋友手里,问传递路径,一个动态规划问题

三面:
手撕单例算法

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

JVM构造

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

类对象什么时候加载的

static方法和非static方法的区别

static的原理

手撕:一个整数型数组,判断是否存在一个数,这个数前边的数比小,后边的比它大,返回这个数的下标(使用标记数组做)ArrayList的属性length存在与内存的什么地方(哭死,这都什么问题嘛....)

对这个算法如何优化,使它的空间复杂度变为O(1)
设计题:写日志类满足多线程向文件中写日志,设计一下需要实现哪些方法,说一下大概思路。

四面:

自我介绍

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

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

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

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

使用过哪些java框架。

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

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

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

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

java的GC算法。

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

java零拷贝

linux操作:怎么看应用的cpu使用率

顺丰科技2

关键词【基础】【JVM】【后端】【Kafka】

自我介绍 (介绍完之后,面试官哈哈哈哈哈大笑,你这很熟练啊

推荐阅读