绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Java大数据研发面试总结:Linux+Redis+kafka+Nginx大全
2020-05-09 10:37:00

前言

在做大数据之前,我做了快三年的 Java 后台开发,家公司也算是一家中规中矩的公司,没啥复杂业务场景,常年的 CRUD,基本也用不上算法跟数据结构的优化,常规的 Java Api 就足以应付日常需求了。

因为疫情的耽误,导致很多人失去了工作,也导致企业面临破产,说好的年终奖和薪资也没有发放,现在还在家里找不到工作,不知何去何从?

想必这也是大多数人的现状吧!



为了能让大家找对方向和找到满意的工作,能够在一线大厂中立足,就算进不了大厂,但是也在小厂里面达到拔尖儿的水平。小编特意整理了一套进入BAT必备的大数据研发面试题总结,总共包括七大点的内容,希望大家能够喜欢!

无标题文档docs.qq.com图标

因为内容过多,所以小编只把部分面试题和答案整理出来让大家学习,希望大家能够理解!



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大数据研发面试题和和答案就已经整理完毕了,希望大家能够喜欢!需要这一套面试题的话

点击这里查看获取方式!docs.qq.com图标


分享好友

分享这个小栈给你的朋友们,一起进步吧。

Redis笔记
创建时间:2020-05-07 16:36:24
关于Redis的干货资料;这里全都有
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • ?
    专家
戳我,来吐槽~