原创 | 2020年阿里、头条、百度、美团、新浪、旷世、VIVO的Java大数据面经

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 原创 | 2020年阿里、头条、百度、美团、新浪、旷世、VIVO的Java大数据面经

这份面试题是交流群里的一位在国企5年的非全研究生整理的,他国企车间流水线工作5年,后面读了个非全研究生,最后收割了腾讯百度等大厂offer。今天先分享他的面试题,下一篇会讲讲他的转型之路。



旷世


1 tcp滑动窗口 发送端接收端的处理细节,窗口为0时怎么处理谁主导谁

2 进程通信的方式,共享内存的实现机制

3 Linux文件系统和目录系统的权限区别

4 算法题 a,b两个有序数组,找出第k小的数,logk,二分查找,1个小于怎么办?

5 日志统计用shell实现

6 mr的执行过程,hive的执行过程

7 mysql事务的概念,可重复读是怎么实现的

8 spring的aop是怎么实现的,jdk动态代理是什么

9 RMI有了解吗

10 java中锁的实现方式都有哪些,有什么区别

11 项目的架构图画一下,数据之间是怎么传递和交互的

12 rpc和http的区别

13 多线程下,1个线程崩溃了,主线程会不会崩?

14 项目的配置容量是怎样的,性能要求,设计目的预期达到哪些标准?

15 solr和es的区别是什么

16 tcp的三次握手和四次挥手,为什么

17 zk怎么保证数据一致性

18 rabbitmq的queue和exchange怎么设计的,fanout模式是什么

19 缓存,l1 l2 page,redis

心得:

1 简历就是考察范围,要对简历上的东西知根知底

2 注意一下底层实现的原理和细节,多问几个为什么要这样做



美团


项目qps是多少

Redis数据库里缓存的是什么

数据来源,怎么导入的

做过并发量的测试吗

涉及到事务机制吗?哪些业务涉及了,怎么处理的时候分布式事务怎么处理,自己本地的系统怎么处理的事务?

Spring怎么实现的事务



阿里电话面试


项目难点

MR流程(会,文档中有写)

MR优化选项配置(会,文档中有写)

数据倾斜处理,大表join小表(不太会,当时没细看)

hive的hql逻辑是怎么修改的,从而解决了大表join小表的数据倾斜问题(不会)

MR选项优化后,以及hive解决数据倾斜后性能提高了多少?(不会,说是测试负责的性能指标,我这里不太清楚)

系统的架构设计是谁负责的?你们讨论系统的设计过程中,你对架构设计方面有没有不同的意见和想法?

沟通过程中有没有意见不一致的情况?

团队规模(10个人,5后端2前端2测试1架构)



vivo


Dubbo熔断和限流 机制有了解过吗?原理是什么?限流是怎么处理的?

(我说了下服务降级,熔断和限不太了解)


Linux 读取一个以制表符分割的文件,取出每行第3个位置的数字,并排序,写出来

(我说用awk sort指令,具体的不会)


Linux如何查看io情况,如何查看内存情况

(io不会看,内存我说可以用top指令去看)


Redis用的什么模式,读写分离怎么做的

(这里我说的用主从架构,读写分离我不知道细节应该怎么说,就说的主负责处理写请求,并同步到从服务器上。从服务器处理读请求)


如何设计一个分布式系统的全局唯一id生成器,不能用数据库,也不能用缓存数据库

(我说先提取业务中的一些信息,比如时间等,作为id中的固定信息,以后尾部添加一个序号,从小到大排,同时内存中维护一个set,来检验是否有重复;面试官说那你应用宕机怎么办?我补充了下可以考虑进行持久化,面试官没再说什么)


RabbitMQ有哪些组件,怎么传递的,消费者连接的哪里,生产者连接的哪里(我说有生产者,消息中间件,消费者,再具体些说有消息message,路由器exchange,队列queue,先是生产者生产消息,发送给exchange,然后exchange根据消息的属性和分发规则发送给相应的对接queue,消费者从自己绑定的queue中取出消息进行消费,面试官说让我回去再好好看看,说的不对。。)


zk如何避免脑裂 脑裂产生的原因 3.46版本后解决了脑裂问题,对这个算法有了解吗?

(只会脑裂的定义。。)


排查过java错误吗?比如线程卡死,可能有哪些原因,怎么分析原因,怎么定位错误?(用jstack死锁,怎么查到死锁的线程?死锁关键字有哪些。还可能有哪些原因?)


垃圾回收新生代和老年代用的什么算法,为什么

Spring用过的注解



头条


订单超时怎么处理

上传文件,后台计算耗时怎么办

最小栈

0-100,99个数少1个,怎么找出来

项目怎么设计的,怎么交互的,数据怎么流动的



新浪


1.如何把hive表快速导入到redis中

2.一张表记录了用户uid和博文id,另一张表存了所有的博文id和对应的tag(多个),统计每个用户感兴趣的所有tag和tag次数(后来提示说考察窗口函数)

2.拓展  排序问题,一个集团有许多子公司,希望按照省份和分数进行排序

3.一张表存了今天之前的所有用户(6亿),一张表存了今天登录的用户(1亿),问怎么快速找出新增用户

技术栈:hive 德鲁伊 cleanhouse,建议刷一刷leetcode sql



度小满


1.HashMap相关问题(为什么长度是2的幂次方?多线程下可能出现死锁的原因?树化阈值多少,为什么?)

2.类加载机制,双亲委派模型,哪些情况需要破坏双拼微派模型,原理是什么?SPI了解吗?

3.GC相关,GC roots都含有哪些

4.线程池相关,各个参数都代表什么

5. ThreadLocal用过吗?使用场景都有哪些?

6.Dubbo中用zk作注册中心,zk会有哪些问题和隐患(我回答脑裂,面试官跟我讨论了一会,最后得出结论脑裂并不是很大的问题,因为Dubbo本身注册中心即使挂掉,消费者也能通过本地缓存调用生产者的服务)

7.分布式CAP了解吗?zk主要实现的哪2个?

8.Dubbo的拒绝策略有哪些,怎么实现负载均衡

9.MQ在项目中的应用,都有哪些数据

10.Redis的应用场景,存了哪些内容



某知名外企


先现场做了套笔试卷子,以选择填空为主,大部分类似于一个字符串,各种拼接,作为参数传入方法各种修改,最后问输出的内容是什么。有3道编程题,都很基础,一个是查找文件,一个是用循环的方式实现斐波那契,一个是个业务场景题,给一张数据表和一个业务场景,让实现增删改查的操作


针对项目的发散性提问,比如根据你的项目假设一种可能出现的应用场景,让你想想怎么设计解决方案会更好。

问了些Java相关的基础(对象放HashMap需重写哪些方法,ThreadLocal,其他的想不起来了)

zk相关基础(Zab协议,其他的分布式一致性算法)

用英语解释一下什么是并发编程,什么是死锁


--end--




推荐阅读:八家国企大数据面经

专科生作业帮大数据面经专科生阿里大数据一面面经2019有赞面经,已拿offer北美零基础转行开发求职面经双非硕士阿里大数据开发面经

从简历被拒到收割今日头条offer,我花了一年时间阿里技术面全A,终面却被产品经理拉下马,我不服上海小公司大数据面试题汇总外企面试,哪有你想象的那么难!

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
8天前
|
人工智能 Java 开发者
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
JManus是阿里开源的Java版OpenManus,基于Spring AI Alibaba框架,助力Java开发者便捷应用AI技术。支持多Agent框架、网页配置、MCP协议及PLAN-ACT模式,可集成多模型,适配阿里云百炼平台与本地ollama。提供Docker与源码部署方式,具备无限上下文处理能力,适用于复杂AI场景。当前仍在完善模型配置等功能,欢迎参与开源共建。
307 1
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
|
1月前
|
存储 供应链 数据可视化
Java 大视界 -- 基于 Java 的大数据可视化在企业供应链风险预警与决策支持中的应用(204)
本篇文章探讨了基于 Java 的大数据可视化技术在企业供应链风险预警与决策支持中的深度应用。文章系统介绍了从数据采集、存储、处理到可视化呈现的完整技术方案,结合供应链风险预警与决策支持的实际案例,展示了 Java 大数据技术如何助力企业实现高效、智能的供应链管理。
|
1月前
|
存储 SQL Java
Java 大视界 -- Java 大数据在智能医疗手术风险评估与术前方案制定中的应用探索(203)
本文探讨了Java大数据技术在智能医疗手术风险评估与术前方案制定中的创新应用。通过多源数据整合、智能分析模型构建及知识图谱技术,提升手术风险预测准确性与术前方案制定效率,助力医疗决策智能化,推动精准医疗发展。
|
2月前
|
机器学习/深度学习 Java 大数据
Java 大视界 -- Java 大数据在智能政务公共资源交易数据分析与监管中的应用(202)
本篇文章深入探讨了 Java 大数据在智能政务公共资源交易监管中的创新应用。通过构建高效的数据采集、智能分析与可视化决策系统,Java 大数据技术成功破解了传统监管中的数据孤岛、效率低下和监管滞后等难题,为公共资源交易打造了“智慧卫士”,助力政务监管迈向智能化、精准化新时代。
|
2月前
|
数据采集 机器学习/深度学习 Java
Java 大视界 -- Java 大数据在智能体育赛事运动员体能监测与训练计划调整中的应用(200)
本篇文章聚焦 Java 大数据在智能体育赛事中对运动员体能监测与训练计划的智能化应用。通过构建实时数据采集与分析系统,结合机器学习模型,实现对运动员体能状态的精准评估与训练方案的动态优化,推动体育训练迈向科学化、个性化新高度。
|
2月前
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。
|
2月前
|
存储 Java 大数据
Java 大视界 -- Java 大数据在智能家居能源消耗模式分析与节能策略制定中的应用(198)
简介:本文探讨Java大数据技术在智能家居能源消耗分析与节能策略中的应用。通过数据采集、存储与智能分析,构建能耗模型,挖掘用电模式,制定设备调度策略,实现节能目标。结合实际案例,展示Java大数据在智能家居节能中的关键作用。
|
2月前
|
传感器 Java 大数据
Java 大视界 -- 基于 Java 的大数据实时数据处理在车联网车辆协同控制中的应用与挑战(197)
本文深入探讨了基于 Java 的大数据实时数据处理在车联网车辆协同控制中的关键应用与技术挑战。内容涵盖数据采集、传输与实时处理框架,并结合实际案例分析了其在车辆状态监测、交通优化与协同驾驶中的应用效果,展示了 Java 大数据技术在提升交通安全性与效率方面的巨大潜力。
|
2月前
|
存储 搜索推荐 算法
Java 大视界 -- Java 大数据在智慧文旅旅游线路规划与游客流量均衡调控中的应用实践(196)
本实践案例深入探讨了Java大数据技术在智慧文旅中的创新应用,聚焦旅游线路规划与游客流量调控难题。通过整合多源数据、构建用户画像、开发个性化推荐算法及流量预测模型,实现了旅游线路的精准推荐与流量的科学调控。在某旅游城市的落地实践中,游客满意度显著提升,景区流量分布更加均衡,充分展现了Java大数据技术在推动文旅产业智能化升级中的核心价值与广阔前景。
|
2月前
|
存储 搜索推荐 算法
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
本文深入探讨了Java大数据技术在智能金融理财产品风险评估与个性化配置中的关键应用。通过高效的数据采集、存储与分析,Java大数据技术助力金融机构实现精准风险评估与个性化推荐,提升投资收益并降低风险。
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)