首页 简历|笔试面试

Java大数据开发面经分享:16天5面,从华为od到鹅厂

  • 25年9月4日 发布
  • 12.7KB 共3页
Java大数据开发面经分享:16天5面,从华为od到鹅厂Java大数据开发面经分享:16天5面,从华为od到鹅厂Java大数据开发面经分享:16天5面,从华为od到鹅厂

Java 大数据开发面经分享:16 天 5 面,从华为 od 到鹅厂

球友们好,春节后,到 3 月 4 月份,是跳槽的高峰期,所以打算给大家多分享一些读者的

面经,多从别人身上吸取一些成功的经验,自己也能更得心应手。

这次分享的是一个从华为 od 跳到腾讯的面经「大数据开发(Java)岗位」,主要包括

Java 相关、项目相关、实战经验相关。

几乎所有问题都能在「面渣逆袭」上找到很详细的答案:https://t.zsxq.com/

04FuZrRVf

2.1 技术一面

Java 语言相关

1、对 Java 的类加载器有没有了解?如何自定义类加载器?

引申:一个类能被加载多次吗?java/javax 包下的类会被加载多次吗?

?

2、Java 中要怎么建一个象

对象?? ?

3、对多线程有了解吗?在什么场景下需要使用多线程?

引申:对 线程安全 的认识;对线程池的了解,以及各个线程池的适用场景。

4、对垃圾回收的了解?

5、对 JVM 分代的了解?

6、NIO 的了解?用过 RandomAccessFile 吗?

引申:对 同步、异步,阻塞、非阻塞 的理解?

多路复用 IO 的优势?

7、ArrayList 和 LinkedList 的区别?各自的适用场景?

8、实现一个 Hash 集合,需要考虑哪些因素?

引申:JDK 对 HashMap 的设计关键点,比如初识容量,扩所容,链表转红黑树,

以及 JDK 7 和 JDK 8 的区别等等。

通用学科相关

1、TCP 的三次握手;

2、Linux 的常用命令,比如:

ps aux / ps -ef、top C

df -h、du -sh *、free -g

vmstat、mpstat、iostat、netstat

项目框架相关

1、Kafka 和其他 MQ 的区别?它的吞吐量为什么高?

消费者主动 pull 数据,目的是:控制消费节奏,还可以重复消费;

吞吐量高:各 partition 顺序写 IO,批量刷新到磁盘(OS 的 pageCache 负责刷

盘,Kafka 不用管),比随机 IO 快;读取数据基于 sendfile 的 Zero Copy;批量

数据压缩……

2、Hive 和 SparkSQL 的区别?

3、Ranger 的权限模型、权限对象,鉴权过程,策略如何刷新……

问题定位方法

1、ssh 连接失败,如何定位?

是否能 ping 通(DNS 是否正确)、对端端口是否开了防火墙、对端服务是否正

常……

2、运行 Java 程序的服务器,CPU 使用率达到 100%,如何定位?

ps aux | grep xxx 或 jps 命令找到 Java 的进程号 pid,

然后用 top -Hp pid 命令查看其阻塞的线程序号,将其转换为 16 进制;

再通过 jstack pid 命令跟踪此 Java 进程的堆栈,搜索上述转换来的 16 进制线程

号,即可找到对应的线程名及其堆栈信息……

3、Java 程序发生了内存溢出,如何定位?

jmap 工具查看堆栈信息,看 Eden、Old 区的变化……

2.2 技术二面

二面主要是过往项目相关的问题:

1、Solr 和 Elasticsearch 的区别 / 优劣?

2、对 Elasticsearch 的优化,它的索引过程,选主过程等问题……

3、项目中遇到的难题,如何解决的?

?

blabla 有少量的基和一面有重复,有几个和大数据相关的

还有不

了几 个 和 大 数 据 相 关 的 ,

太 问题, 记不 太 清 了 ?

2.3 技术三面

这一面是总监面,更多是个人关于职业发展的一些想法,以及在之前公司的成长和收获、

对下一份工作的期望等问题。

但也问了几个技术问题。印象比较深的是这个:

1 个 1TB 的大文件,每行都只是 1 个数字,无重复,8GB 内存,要怎么对这个文

件进行排序?

首先想到的是 MapReduce 的思路,拆分小文件,分批排序,最后合并。

此时连环追问来了:

Q:如何尽可能多的利用内存呢?

A:用位图法的思路,对数字按顺序映射。(对映射方法要有基本的了解)

Q:如果在排好序之后,还需要快速查找呢?

A:可以做索引,类似 Redis 的跳表,通过多级索引提高查找速度。

Q:索引查找的还是文件。要如何才能更多地利用内存呢?

A:那就要添加缓存了,把读取过的数字缓存到内存中。

Q:缓存应该满足什么特点呢?

A:应该使用 LRU 型的缓存。

_呼。。总算是追问完了这道题__ ?_

还有 GM 面和 HR 面,问题都和个人经历相关,这里就略去不表。

开通会员 本次下载免费

所有资料全部免费下载! 推荐用户付费下载获取返佣积分! 积分可以兑换商品!
一键复制 下载文档 联系客服