进入BAT必备,大数据研发面试总结:Linux+Redis+ka

作者: 程序员1 | 来源:发表于2020-04-24 20:39 被阅读0次

    前言

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

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

    为了能让大家找对方向和找到满意的工作,能够在一线大厂中立足,就算进不了大厂,但是也在小厂里面达到拔尖儿的水平。小编特意整理了一套进入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大数据研发面试题和和答案就已经整理完毕了,希望大家能够喜欢!需要这一套面试题的话,可以转发+关注小编,+++V X :bjmashibing001 来免费获取啦~~~~~~~~

    相关文章

      网友评论

        本文标题:进入BAT必备,大数据研发面试总结:Linux+Redis+ka

        本文链接:https://www.haomeiwen.com/subject/eapqwhtx.html