進入BAT必備,大數據研發面試總結:Linux+Redis+kafka+Nginx大全

前言

因為疫情的耽誤,導致很多人失去了工作,也導致企業面臨破產,說好的年終獎和薪資也沒有發放,現在還在家裡找不到工作,不知何去何從?

想必這也是大多數人的現狀吧!

進入BAT必備,大數據研發面試總結:Linux+Redis+kafka+Nginx大全

為了能讓大家找對方向和找到滿意的工作,能夠在一線大廠中立足,就算進不了大廠,但是也在小廠裡面達到拔尖兒的水平。小編特意整理了一套進入BAT必備的大數據研發面試題總結,總共包括七大點的內容,希望大家能夠喜歡!

因為內容過多,所以小編只把部分面試題和答案整理出來讓大家學習,希望大家能夠理解!

進入BAT必備,大數據研發面試總結:Linux+Redis+kafka+Nginx大全

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 代碼實現?
進入BAT必備,大數據研發面試總結:Linux+Redis+kafka+Nginx大全

進入BAT必備,大數據研發面試總結:Linux+Redis+kafka+Nginx大全

Linux面試專題及答案

  • Linux 軟中斷和工作隊列的作用是什麼?
  • Linux 通過什麼方式實現系統調用?
  • 如何唯一標識一個設備?
  • 字符設備驅動程序的關鍵數據結構是哪個?
  • Linux 中有哪幾種設備?
  • 模塊程序能否使用可鏈接的庫函數?
  • Linux 中的浮點運算由應用程序實現還是內核實現?
  • 模塊和應用程序分別運行在什麼空間?
  • Linux 調度程序是根據進程的動態優先級還是靜態優先級來調度進程的?
  • 調用 schedule()進行進程切換的方式有幾種?
  • Linux 中的文件包括哪些?
  • Linux 中主要有哪幾種內核鎖?
  • Linux 中的用戶模式和內核模式是什麼含義?
進入BAT必備,大數據研發面試總結:Linux+Redis+kafka+Nginx大全

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?
進入BAT必備,大數據研發面試總結:Linux+Redis+kafka+Nginx大全

Kafka面試專題及答案

  • kafaka 生產數據時數據的分組策略
  • Kafka 的設計時什麼樣的呢?
  • 數據傳輸的事物定義有哪三種?
  • Kafka 判斷一個節點是否還活著有那兩個條件?
  • producer 是否直接將數據發送到 broker 的 leader(主節點)?
  • Kafa consumer 是否可以消費指定分區消息?
  • Kafka 消息是採用 Pull 模式,還是 Push 模式?
  • Kafka 存儲在硬盤上的消息格式是什麼?
  • Kafka 高效文件存儲設計特點
  • Kafka 與傳統消息系統之間有三個關鍵區別
  • Kafka 創建 Topic 時如何將分區放置到不同的 Broker 中
  • Kafka 新建的分區會在哪個目錄下創建
  • partition 的數據如何保存到硬盤
進入BAT必備,大數據研發面試總結:Linux+Redis+kafka+Nginx大全

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 條。
進入BAT必備,大數據研發面試總結:Linux+Redis+kafka+Nginx大全

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
進入BAT必備,大數據研發面試總結:Linux+Redis+kafka+Nginx大全

多線程面試專題及答案

  • 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必備,大數據研發面試總結:Linux+Redis+kafka+Nginx大全

至此BAT大數據研發面試題和和答案就已經整理完畢了,希望大家能夠喜歡!需要這一套面試題的話,可以轉發+關注小編,私信小編“學習”來得到獲取方式了~~~

進入BAT必備,大數據研發面試總結:Linux+Redis+kafka+Nginx大全


分享到:


相關文章: