前言
在做大数据之前,我做了快三年的 Java 后台开发,家公司也算是一家中规中矩的公司,没啥复杂业务场景,常年的 CRUD,基本也用不上算法跟数据结构的优化,常规的 Java Api 就足以应付日常需求了。
因为疫情的耽误,导致很多人失去了工作,也导致企业面临破产,说好的年终奖和薪资也没有发放,现在还在家里找不到工作,不知何去何从?
想必这也是大多数人的现状吧!
为了能让大家找对方向和找到满意的工作,能够在一线大厂中立足,就算进不了大厂,但是也在小厂里面达到拔尖儿的水平。小编特意整理了一套进入BAT必备的大数据研发面试题总结,总共包括七大点的内容,希望大家能够喜欢!
无标题文档因为内容过多,所以小编只把部分面试题和答案整理出来让大家学习,希望大家能够理解!
Redis面试专题及答案
- 什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免?
- 使用过 Redis 做异步队列么,你是怎么用的?有什么缺点?
- 使用过 Redis 分布式锁么,它是怎么实现的?
- 上述 Redis 分布式锁的缺点
- Redis 回收进程如何工作的?
- Redis 如何做内存优化?
- Redis key 的过期时间和有效分别怎么设置?
- Redis 事务相关的命令有哪几个?
- 怎么理解 Redis 事务?
- Redis 中的管道有什么用?
- Redis 集群如何选择数据库?
- Redis 集群大节点个数是多少?
- Redis 集群会有写操作丢失吗?为什么?
- Redis 集群的主从复制模型是怎样的?
- 说说 Redis 哈希槽的概念?
- redis 和 memcached 什么区别?为什么高并发下有时单线程的 redis 比多线程的memcached 效率要高?
- redis 主从复制如何实现的?redis 的集群模式如何实现?redis 的 key 是如何寻址的?
- 使用 redis 如何设计分布式锁?说一下实现思路?使用 zk 可以吗?如何实现?这两种有什么区别?
- 知道 redis 的持久化吗?底层如何实现的?有什么优点缺点?
- redis 过期策略都有哪些?LRU 算法知道吗?写一下 java 代码实现?
Linux面试专题及答案
- Linux 软中断和工作队列的作用是什么?
- Linux 通过什么方式实现系统调用?
- 如何标识一个设备?
- 字符设备驱动程序的关键数据结构是哪个?
- Linux 中有哪几种设备?
- 模块程序能否使用可链接的库函数?
- Linux 中的浮点运算由应用程序实现还是内核实现?
- 模块和应用程序分别运行在什么空间?
- Linux 调度程序是根据进程的动态优先级还是静态优先级来调度进程的?
- 调用 schedule()进行进程切换的方式有几种?
- Linux 中的文件包括哪些?
- Linux 中主要有哪几种内核锁?
- Linux 中的用户模式和内核模式是什么含义?
Nginx面试专题及答案
- 解释如何在 Nginx 服务器上添加模块?
- 用 Nginx 服务器解释-s 的目的是什么?
- 解释如何在 Nginx 中获得当前的时间?
- 解释 Nginx 是否支持将请求压缩到上游?
- 请陈述 stub_status 和 sub_filter 指令的作用是什么?
- 请解释什么是 C10K 问题?
- 请解释 ngx_http_upstream_module 的作用是什么?
- 在 Nginx 中,解释如何在 URL 中保留双斜线?
- 请解释是否有可能将 Nginx 的错误替换为 502 错误、503?
- 请解释你如何通过不同于 80 的端口开启 Nginx?
- 请解释 Nginx 服务器上的 Master 和 Worker 进程分别是什么?
- 请列举 Nginx 服务器的佳用途。
- 使用“反向代理服务器”的优点是什么?
- 在 Nginx 中,如何使用未定义的服务器名称来阻止处理请求?
- 请解释 Nginx 如何处理 HTTP 请求
- 请列举 Nginx 的一些特性。
- 请解释一下什么是 Nginx?
Kafka面试专题及答案
- kafaka 生产数据时数据的分组策略
- Kafka 的设计时什么样的呢?
- 数据传输的事物定义有哪三种?
- Kafka 判断一个节点是否还活着有那两个条件?
- producer 是否直接将数据发送到 broker 的 leader(主节点)?
- Kafa consumer 是否可以消费指定分区消息?
- Kafka 消息是采用 Pull 模式,还是 Push 模式?
- Kafka 存储在硬盘上的消息格式是什么?
- Kafka 高效文件存储设计特点
- Kafka 与传统消息系统之间有三个关键区别
- Kafka 创建 Topic 时如何将分区放置到不同的 Broker 中
- Kafka 新建的分区会在哪个目录下创建
- partition 的数据如何保存到硬盘
2020新BAT大数据面试题
- 1、kafka的message包括哪些信息?
- 2、怎么查看kafka的offset?
- 3、hadoop的shuffle过程
- 4、spark集群运算的模式
- 5、HDFS读写数据的过程
- 6、RDD中reduceBykey与groupByKey哪个性能好,为什么
- 7、spark2.0的了解
- 8、 rdd 怎么分区宽依赖和窄依赖
- 9、spark streaming 读取kafka数据的两种方式
- 10、kafka的数据存在内存还是磁盘
- 11、怎么解决kafka的数据丢失
- 12、fsimage和edit的区别?
- 13、列举几个配置文件优化?
- 14、datanode 加入 cluster 的时候,如果 log 报告不兼容文件版本,那需要namenode 执行格式化操作,这样处理的原因是?
- 15、MapReduce 中排序发生在哪几个阶段?这些排序是否可以避免?为什么?
- 16、hadoop的优化?
- 17、设计题
- 18、有 10 个文件,每个文件 1G,每个文件的每一行存放的都是用户的 query,每个文件的query 都可能重复。要求你按照 query 的频度排序。 还是典型的 TOP K 算法,
- 19、在 2.5 亿个整数中找出不重复的整数,注,内存不足以容纳这 2.5 亿个整数。
- 20、腾讯面试题:给 40 亿个不重复的 unsigned int 的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那 40 亿个数当中?
- 21、怎么在海量数据中找出重复次数多的一个?
- 22、上千万或上亿数据(有重复),统计其中出现次数多的钱 N 个数据。
- 23、一个文本文件,大约有一万行,每行一个词,要求统计出其中频繁出现的前 10 个词,给出思想,给出时间复杂度分析。
- 24、100w 个数中找出大的 100 个数。
- 25、有一千万条短信,有重复,以文本文件的形式保存,一行一条,有重复。 请用 5 分钟时间,找出重复出现多的前 10 条。
JVM面试专题及答案
- 1. 内存模型以及分区,需要详细到每个区放什么。
- 2. 堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
- 3. 对象创建方法,对象的内存分配,对象的访问定位。
- 4. GC 的两种判定方法:
- 5. SafePoint 是什么
- 6. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
- 7. GC 收集器有哪些?CMS 收集器与 G1 收集器的特点。
- 8. Minor GC 与 Full GC 分别在什么时候发生?
- 9. 几种常用的内存调试工具:jmap、jstack、jconsole、jhat
- 10. 类加载的几个过程:
- 11.JVM 内存分哪几个区,每个区的作用是什么?
- 12.如和判断一个对象是否存活?(或者 GC 对象的判定方法)
- 13.简述 java 垃圾回收机制?
- 14.java 中垃圾收集的方法有哪些?
- 15.java 内存模型
- 16.java 类加载过程?
- 17. 简述 java 类加载机制?
- 18. 类加载器双亲委派模型机制?
- 19.什么是类加载器,类加载器有哪些?
- 20.简述 java 内存分配与回收策略以及 Minor GC 和Major GC
多线程面试专题及答案
- 1)现在有 T1、T2、T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行?
- 2)在 Java 中 Lock 接口比 synchronized 块的优势是什么?你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?
- 3)在 java 中 wait 和 sleep 方法的不同?
- 4)用 Java 实现阻塞队列。
- 5)用 Java 写代码来解决生产者——消费者问题。
- 6)用 Java 编程一个会导致死锁的程序,你将怎么解决?
- 7) 什么是原子操作,Java 中的原子操作是什么?
- 8) Java 中的 volatile 关键是什么作用?怎样使用它?在 Java 中它跟 synchronized 方法有什么不同?9) 什么是竞争条件?你怎样发现和解决竞争?
- 10) 你将如何使用 threaddump?你将如何分析 Thread dump?
- 11) 为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?
- 12) Java 中你怎样唤醒一个阻塞的线程?
- 13)在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?
- 14) 什么是不可变对象,它对写并发应用有什么帮助?
- 15) 你在多线程环境中遇到的常见的问题是什么?你是怎么解决它的?
至此BAT大数据研发面试题和和答案就已经整理完毕了,希望大家能够喜欢!需要这一套面试题的话
点击这里查看获取方式!